Wireshark is not capturing OpenFlow packets from Mininet - wireshark

Hi everyone I downloaded the ISO file for investigating SDN features from here: http://sdnhub.org/tutorials/sdn-tutorial-vm/.
1) I run Mininet
sudo mn
to make basic topology
2) Then I run wireshark
sudo wireshark &
3) I tick all interfaces and start capturing
4) In mininet I do
h1 ping h2
5) I apply filter in wireshark "openflow", "of",....
6) But no OpenFlow packet are displayed
Could you help me please what is wrong? Thanks

It would help to know where the controller is running. Is it a remote controller running in your host OS, or a controller running in the Mininet VM? Because you've run the basic topology, I'm going to answer based on the assumption that you're running the simulation over the basic ovs-controller that's enabled by default which runs within the VM.
Looks like you've run Wireshark from your host OS and not on Mininet. You made sure that you're listening on all the interfaces, good. But if the controller was running in the Mininet VM, these interfaces would have nothing to do with the OF packets and hence would not capture them. To actually capture the OF packets if the controller is in the Mininet VM, you've got to run an instance from the VM.

For me, openflow_v4 filter worked.

Try selecting only the loopback interface: lo

Related

Cannot launch GUI program on Docker container on remote server

My working machine in the office is Ubuntu 18.04, and I have installed a Docker container in this machine. Everything works fine, and I can use Graphic User Interface (GUI) programs such as Firefox and PyCharm in the Docker container. When I works at home, I use my Windows 10 notebook, and in order to connect my working machine in the office, I use X2Go program. With this program, I can remotely connect the machine in my office with GUI. I can also run GUI programs remotely. However, when installed Docker container once again remotely, I cannot use GUI programs in the Docker container. The reason is because in order to let the Docker container access host machine's GUI, I use xhost + command. However, when running this command remotely, I received the following error:
# xhost: must be on local machine to enable or disable access control.
If I ignore this error message, I cannot launch any GUI programs on the Docker container. Any ideas? Thanks.
This article may help:
https://www.ibm.com/support/pages/remote-install-websphere-application-server-unix-host
In the article:
If the remote host is not authorized to connect, you can add it to the
list of authorized clients using the following command:
xhost +
xhost: must be on local machine to enable or disable access control.
This indicates that this command is only authorized from a local
console (For example, not within a telnet session).
Next, you must export the display so that GUI screens generated on the
remote host will be displayed on the local host. To do this, run the
following command on the remote host while logged in through the
telnet session from the local host:
export DISPLAY=
Also your Remote Desktop protocol could be an issue.
X2Go uses NX protocol with SSH for security.
NX protocol uses a caching technology which may be part of the the problem. Remote desktop technologies can vary the experience and may not work with docker GUI remotely.
I have had similar issues with remote desktop technologies (RDP, VNC etc) where some or all of the desktop experience is not visible.
I suggest to try a VNC (RFB protocol) software and see if that works. RDP is another solution.
Be aware VNC and RDP are not by default very secure unless you use a tunneling solution (VPN etc) and encryption. There are VNCs with built in encryption (via SSH) and RDP has security solutions also, but if you are accessing it from home to work you should make sure your security manager is aware of the technology you choose that works for you.

RosAria node doesn’t receive messages

Resources
Macbook Air with Ubuntu virtual machine via VMWare
Pioneer3 AT robot
ROS
RosAria
Context
I have at least most of the setup for Ros+RosAria already working:
The master ROS node running on a laptop at 192.168.1.112 via roscore
The RosAria node running on the robot’s built-in computer at 192.168.1.108 via rosrun rosaria RosAria, the port set accordingly to access the robot's motors and sensors via rosparam set..., ROS_MASTER_URI=192.168.1.112:11311, and ROS_IP=192.168.1.112.
Another terminal window on the laptop running rostopic pub /RosAria/cmd_vel geometry_msgs/Twist “linear:... angular:...”
The RosAria node running on the robot confirms it’s able to connect to the master, and if I run the command rostopic list on the laptop I can see /RosAria/cmd_vel as one of the available topics.
In the terminal window where I try to publish to /RosAria/cmd_vel I’m told that the message is sending but the robot shows no signs of having received it, neither console message nor movement of the wheels.
However, if I quit the RosAria node on the robot and restart it while leaving the rostopic pub command running on my laptop, the robot registers the message once upon startup, moves accordingly for a bit, and then does nothing.
I’ve also tried to rostopic echo other topics like battery state, motors status and pose, but I don’t receive any messages from the robot.
I already tried changing the parameters /RosAria/TicksMM and /RosAria/RevCount according to this case.
Question
Why is the Pioneer robot with RosAria running not receiving the cmd_vel commands from my client if it’s apparently able to communicate with the master node successfully?
Disclaimer
The project I was working on where this problem came up isn’t using the same equipment anymore, so now this question is not so urgent for me. I’m also not able to test proposed solutions in the near future since I no longer have access to that Pioneer robot. However, I’ll keep this topic unanswered in case someone else encounters this problem too.
You need To Set ROS_IP On Robot side too to let the ROS System Knows What IP To Use as It's Network Interface
I myself Set This Environments Inside .bashrc Like This:
export ROS_IP=192.168.1.108
and then source .bashrc.
I think You can use rosparam Too But I never tested.

Redirect Serial Output to SSH or Local File - Device Lacks Serial Port and Being Accessed via SSH

Hi guys my problem is as follows:
Environment - Im in a windows machine and connected via ssh to an ubuntu machine that is running a hypervisor https://github.com/siemens/jailhouse alongside ubuntu.
Problem:
The hypervisor in question dumps debug and "cell"(like guest VM's but not quite) outputs to a serial port, and the physical machine that is running the hypervisor lacks a serial port.
What I need to know if it is possible:
I wish to redirect that serial output to SSH back to me or dump to a file that I can "nano" later.
Thanks in advance
Regards
André Santos
You can't. The reason is that the output is written by the hypervisor, not by the operating system, through a specific serial driver implemented in the hypervisor itself.
Thus, the hypervisor does not have knowledge of the Linux filesystem, nor of the Linux drivers, and the only channels that it can use are a 8250-compliant serial line or (in case of x86) the VGA.
Side note: depending on your particular needs, you may want to wrap the Jailhoused Linux through an additional Qemu/KVM virtual machine. In this case, the output of Jailhouse (exceuted by the guest machine) is written on the console of the host machine, and it can be easily retrievable through the SSH connection.

How to make WiFi work for toshiba C850...?

I have a toshiba laptop c850, dual core. Toshiba does not provide any driver for Wi-Fi for Ubuntu 12.10. I am currently having problem in using DSL modem, Ethernet and Wi-Fi. Can anyone tell me the solution to this problem?
maybe you will find some information there :
http://www.linlap.com/toshiba_satellite_c850-c855
Wireless
A really up to date kernel is required for wireless support, at least
3.5.0 is recommended. Realtek has the Linux drivers available for download but they must be re-complied after upgrades to kernel.
As you commented, you got the Atheros Communications Inc. AR8162 Fast Ethernet Controller.
This is some guesswork here because there are several versions of the driver and some people state only one is working for them, I stick with the most popular for now.
First download this file from another machine:
https://www.kernel.org/pub/linux/kernel/projects/backports/2013/03/28/compat-drivers-2013-03-28-5-u.tar.bz2
If you have Ubuntu or another Linux distro on your second machine you can use wget to download the file:
wget https://www.kernel.org/pub/linux/kernel/projects/backports/2013/03/28/compat-drivers-2013-03-28-5-u.tar.bz2
Next, use your preferred method (preferably an USB Drive) to copy it to your target machine (Toshiba C850) and use the following commands in a terminal. Make sure you are in the right directory first and use cd to change to the directory where your downloaded file resides.
tar -xzvf compat-drivers-2013-03-28-5-u.tar.bz2
cd compat-drivers-2013-03-28-5-u
./scripts/driver-select alx
make
sudo make install
sudo modprobe alx
If this doesn't work try a reboot first then you can try one of the other versions, I can't tell which will work for you:
http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2012-02-28-p.tar.bz2
https://www.kernel.org/pub/linux/kernel/projects/backports/2013/03/04/compat-drivers-2013-03-04-u.tar.bz2
Sources (for further reading): This question on AskUbuntu and this thread in the Ubuntu forums.

How to monitor communication between two Erlang nodes

I'm playing around with distributed Erlang.
It's a great fun, but I want to reveal the magic a bit and see what is actually being sent between Erlang nodes.
Could you please suggest any Erlang modules or external tools available for this?
Thank you in advance!
UPDATE:
BTW, Debian users can install Wireshark using sudo apt-get install wireshark
How about a network sniffer, like tcpdump or Wireshark sniffing on 4369/tcp? Wireshark has a special filter for the erlang distributed protocol (see ERLDP in the list of built-in expressions).
For more low-level information about the protocol itself, see http://www.erlang.org/doc/apps/erts/erl_dist_protocol.html
Here's a capture sample, between a linux node and windows node:

Resources