Skip to content

How to Use CommsChampion Tools

Alex Robenko edited this page Feb 9, 2017 · 24 revisions

PLUGINS

The CommsChampion Tools are there to provide consistent environment for binary protocols visualisation, traffic monitor and analysis. They are all plugin based. Plugins are used to select I/O socket, protocol definition itself as well as zero or more data filters in between.

image: plugins

The "socket" and "protocol" plugins are "must have" ones, without them the tools won't be able to operate properly. The "filters", on the other hand, are optional. They need to be used when there are any additional transport layers between the raw data received by the I/O socket and the data delivered to the analysed communication protocol for processing. Good example would be analysing custom protocol, when messages are delivered using MQTT-SN transport protocol over UDP/IP socket. The plugins configuration would look like this:

image: mqttsn plugins

The filters may modify the incoming data prior to reporting the result to the following filter or protocol itself, or drop the data altogether when its irrelevant to the other filters or protocol itself. The filters are also allowed to generate data regardless of any protocol activity.

The "mqttsn filter" plugin from the example above is responsible to manage the whole underlying MQTT-SN protocol communication while forwarding only received "protocol" relevant data. When the "protocol" plugin generates data to be sent, the "mqttsn filter" wraps it in its internal PUBLISH message and forwards the result to the socket to be delivered over the I/O link.

CC_VIEW

The main application of the provided CommsChampion Tools is called cc_view. It is a GUI application, which allows visual analysis of the exchanged messages. When the application is started, the only available button is in the top left corner. It must be used to select plugins to load:

image: select plugins

When clicked the plugin selection dialog pops up. The left side contains available plugins. They are split by their types: "sockets" are at the top, "protocols" are at the bottom and "filters" are in the middle. Selection of the plugin is performed via double-click on it.

image: available plugins

When plugin is selected it appears at the top right area.

image: selected plugins

Once selected, it becomes possible to configure the plugin if needed.

image: selected plugins

The save/load of the plugins with their configuration is also available. It is recommended to save the new configurations into config subfolder of the CommsChampion installation path.

image: selected plugins

When both necessary "socket" and "protocol" are selected, the "Apply" button at the bottom right becomes available. When clicked the selected plugins will be applied and rest of the buttons become available.

image: selected plugins

Depending on the socket type, the connection to the server / device may be required. It is performed by clicking to the button at the top left corner.

The top left area is used to display all the messages that have been sent or received. The button allows reception of the incoming messages. The "toggle" buttons to the right () allow control of what kind of messages to display. They allow to enable / disable display of received and sent messages as well as display of detected garbage input.

image: messages all

The bottom left area is used to create and send messages of the protocol. The button can be used to create and configure new single message. The button can be used to create new message(s) out of raw data dump.

image: messages all

When is clicked, new dialog pops up where the selected protocol message can be chosen and values configured.

image: edit message

The bottom right area allows selection of the wrapping "transport" information to be displayed above

image: transport info

or raw bytes of the serialised message:

image: raw byes

The top left area allows to configure multiple sends of the same message. The "Initial delay" specifies the delay from the first sent of the previous message in the "send" list.

image: repeat config

Once added, the newly created message is prefixed with configured delay and repetition information.

image: repeat info

The first number is the initial delay in milliseconds, second number is a period between sends also in milliseconds, and the third number is amount of times the message is going to be sent (0 means infinite).

The displayed messages in the top left area, which shows the traffic of the incoming / outgoing messages, are prefixed with the timestamp information.

image: repeat info

When is clicked, new dialog pops up where it is possible to provide dump of raw data.

image: rad data dialog

The application will parse the data and try to create proper messages out of it. It can be useful when copy-pasting traffic dump from some debug terminal.

When any of the messages is newly added or selected, its info is displayed at the right half of the application window.

image: msg info

Starting CC_VIEW Application

The bin subdirectory contains installed scripts cc_view.sh for Linux and cc_view.bat for Windows. The scripts set environment variables to appropriate values and start cc_view(.exe) executable. The scripts as well as binary itself may receive several command line parameters. Use -h option for help.

When the cc_view application is started without any additional parameters, it looks for default.cfg file in the config subfolder. If such exists, the plugins configuration from this files are loaded. In other words, in order to force loading custom plugins configuration file upon startup by default, save it as default.cfg in the config subdirectory.

Clone this wiki locally