Skip to content

Deep inspection into IOP messages with Wireshark

License

Notifications You must be signed in to change notification settings

fkie/iop_wireshark_plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IOP Wireshark Plugin

Summary

The IOP Wireshark Plugin allows deeps inspection into IOP messages. This is done by auto-generated LUA script from JSIDL files. JSIDL stands for JAUS Service Interface Definition Language and contains also message definitions used to generate wireshark dissectors.

This package contains no JSIDL files. You can find such files in JausToolsSet or ROS/IOP Bridge. Without JSIDL files only the IOP header will be parsed.

Example Image

Install wireshark plugin

We use PyXB-X to generate python code for XMLSchema of JSIDL. Install dependencies:

pip install PyXB-X

For using as ROS package you need additionally

sudo apt install python3-catkin-pkg -y

Clone this repository to your preferred destination.

git clone https://github.com/fkie/iop_wireshark_plugin

As ROS package inside ROS environment

If you use it with ROS put this repository into ROS workspace and call

roscd && catkin build

As standalone package

Use setup.py to install the code:

cd iop_wireshark_plugin/fkie_iop_wireshark_plugin
python3 setup.py install --user --record installed_files.txt

The executable iop_create_dissector.py is now located in ~/.local/bin.

Note: to remove installed files call

xargs rm -rf < installed_files.txt

Generate wireshark plugin

Run iop_create_dissector.py to generate the Lua script.

In ROS environment you can do it by

rosrun fkie_iop_wireshark_plugin iop_create_dissector.py

otherwise

python3 ~/.local/bin/iop_create_dissector.py

If no path for JSIDL files is given the script tries to find the fkie_iop_builder ROS package from ROS/IOP Bridge. If path not found only dissector for IOP header will be generated. You can change this path with --input_path.

By default, the plugin is written to the file ~/.local/lib/wireshark/plugins/fkie_iop.lua. You can change it by --output_path.

You can exclude subfolder from parsing if they contain different versions of the same message, e.g.

rosrun fkie_iop_wireshark_plugin iop_create_dissector.py --exclude urn.jaus.jss.core-v1.0

Usage

Type iop into filter line in wireshark to display only IOP messages.

You can also filter for specific messages by ID or name, e.g.

iop.message_name == "QueryIdentification"

See Wireshark - Display Filter Expression window for other filter options.

About

Deep inspection into IOP messages with Wireshark

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published