Sniffers

Using the OpenWSN  oos_sniffer project

  1. Compile the oos_sniffer proiject and flash your mote: (for example using OpenMote-CC2538)

    sudo scons board=openmote-cc2538 toolchain=armgcc revision=A1 bootload=/dev/ttyUSB0 oos_sniffer
  2. Then connect the mote through USB and open openVisualizer run:  scons runweb 

    sudo scons runweb
    
  3. Alternatively you can run the openvisualizer client which will provide a command line interpreter to manage the sniffer. The commands to be used are listed here . If you follow this approach jump to step 4. directly.

    sudo scons runcli
    
  4. Open browser with address: localhost:8080 and check the box wireshark debugging on eventBus panel. 
  5. Open Wireshark and listen to the OpenWSN interface (tun0)
  6. Type in ``zep'' to filter the IEEE802.15.4e packet
  7. To select the proper channel use the following command (port_name can be /dev/ttyUSB0 for example):
    • set <port_name> channel <value> 
  8. If everything works, you will see the packet sniffered by the mote.

Note that a wireshark dissector for IETF 6TiSCH and IEEE802.15.4e is available here

Wireshark integrated sniffer

We highly recommend you take a look at Colin O'Flynn's solution which integrates a RZUSBstick-based sniffer with Wireshark.

Note that only the development release of Wireshark contains a dissector for 6LoWPAN. There is currently no dissector for RPL or IEEE802.15.4e on Wireshark.

Wireshark Development Release on Linux

  1. Go to: http://www.wireshark.org/download.html click on "Development Release" then download the source code to a directory of your choice.
  2. Untar the file you just downloaded
  3. cd to the directory
  4. run ./configure (notice that this might fail several times; the reason is that the necessary packages might not be present on your machine; the easiest way to solve this is to read the error in the terminal, identify the missing package, use google to find its name then use apt-get install "package_name"; then try ./configure again... some packages you need are bison, flex, libgtk2.0-dev, libpcap-dev)
  5. run make (takes some time)
  6. sudo make install (also takes some time)

Notes: you don't need to remove your existing Wireshark version. The first time you run Wireshark, type ldconfig before. The one you just installed will be present in the directory where you built it and you can run it by opening a terminal and typing "sudo /.../yourDirectory/wireshark"

Using the Pre-programmed Raven Board on Linux

  1. Download http://sourceforge.net/projects/dot4\-tools/files/sniffer/Linux%20Control%20Files/commandapp_linux_15APR2010.zip/download
  2. Unzip then compile using "gcc main.c -Wall -lcurses -o ravenusb"
  3. Plug-in the board then open up a terminal and type dmesg. You're looking for something associated with the board that has "hidraw" in it such as "dev/hidraw2"
  4. Once you find on which hidraw the board is, go back to the directory where you compiled the program then type ./ravenusb -d /dev/hidraw2 -c 16 (this will change the sniffing channel to 16. You will need to unplug the board then plug it back in again because the command is stored in flash and won't take effect until the next boot sequence)
  5. Start Wireshark development release as root and select the interface that corresponds to the raven board

Notes: This is not very stable under Linux. However, a quick and dirty way to make sure it works is to repeat step 4 several times frantically before moving on to step 5 (credit goes to Nahira Sarmicanic)

Texas Instruments sniffer

To be completed...

16 channel sniffer

Channel Hopping is a technique proven to efficiently combat external interference and persistent multi-path fading. When using channel hopping, nodes send successive packets on different frequency channels, following a pseudo-random hopping pattern. With IEEE802.15.4-2006 hardware, 16 channels are available in the 2.4-2.485GHz frequency band.

Building a sniffer for such networks involves being able to listen to all 16 channels at the same time; this requires 16 radios. For this project, we use 16 off-the-shelf RZ USBstick boards by Atmel, connected to a single computer using USB hubs.

This project is hosted at http://wsn.eecs.berkeley.edu/trac/sniffer/.