Using Wireshark to Capture Network Traffic in Matter
When developing a wireless application it is often useful to be able to visualize the network traffic. Wireshark is a great tool for this, but you can’t use Wireshark alone. You first have to capture the network traffic off a wireless network interface. Fortunately Silicon Labs has provided an open source project for capturing network traffic off its devices called the Java Packet Trace Library or Silabs PTI .jar
Here are the following steps for capturing and visualizing network traffic with Wireshark and the Java Packet Trace Library:
1. Clone and Build Silabs-PTI.jar Out of the Java Packet Trace Library
The Java Packet Trace Library can be built locally for your development platform. First clone the repository and then build the library according to the instructions
2. Download Wireshark
If you don’t have Wireshark, you can download Wireshark for your development platform here.
3. Follow Instructions for Wireshark Integration
To capture from a Silicon Labs device like a WSTK use
the Silabs-PTI.jar utility you built in the previous step. You will further need
to integrate the execution of the utility into Wireshark through Wireshark’s
excap
interface. A complete guide to
Wireshark Integration is provided here.
You integrate the Silabs-PTI.jar utility into Wirehshark by adding a small
script into Wireshark’s excap
directory. Make sure that you make the script
executable using something like
$ chmod 777 <myexcapscript>
This will make it so that Wireshark can execute the script and integrate the WSTK interfaces into its capture functionality.
4. Run Wireshark and Discover and Capture using Silabs-PTI.jar
In order to capture from an adapter such as a WSTK using the utility
Silabs-PTI.jar that you built in step 2, your adapter must be connected to the
network via Ethernet. If your adapter is not connected via Ethernet and only via
USB you will need to use the silink
utility to make the adapter show up as a
localhost.
Once your adapter is connected, you can test out the visibility of your WSTK on the network by running Silabs-PTI.jar from the command line using the following command:
$ java -jar silabs-pti-<VERSION>.jar -discover