]> The Tcpdump Group git mirrors - tcpdump/commit
ZeroMQ initial support (ZMTP/1.0 framing)
authorDenis Ovsienko <[email protected]>
Sat, 9 Feb 2013 13:36:24 +0000 (17:36 +0400)
committerDenis Ovsienko <[email protected]>
Mon, 11 Feb 2013 11:16:35 +0000 (15:16 +0400)
commitad7171ca028b2200bdcf500e330deeedb945a501
treeb0922764cb7ea0030d7e8898eb57a3c8c3cb2e16
parent3f6402745ff92c003aa0d1b461310723f75ad61c
ZeroMQ initial support (ZMTP/1.0 framing)

This change adds support for ZMTP/1.0 (ZeroMQ Message Transport Protocol
1.0) framing in TCP packets, as defined in http://rfc.zeromq.org/spec:13
and implemented in zeromq library.

Since there is no assigned port number for ZeroMQ, the user is left
responsible for making only the related TCP packets captured and
enforcing ZMTP/1.0 decoding through the "-T zmtp1" option.

Each ZMTP/1.0 frame of a packet will produce a single additional line of
output. The "-v" flag will add up to 8 lines (128 bytes) worth of
hex+ASCII dump of the frame body, and "-vv" and higher will dump the
full frame body, however long.

Beware that this code handles neither IP fragmentation nor TCP
segmentation and will incorrectly decode segments not starting at a
frame boundary.

The included sample capture stands for a short ZeroMQ session between a
REQ/REP socket pair doing 3 anonymous 2-way exchanges. It was produced
using version 2.1.9 of zeromq library patched to fix its bug #293, so
that all MBZ bits of the flags field are set to 0.
Makefile.in
interface.h
netdissect.h
print-tcp.c
print-zeromq.c [new file with mode: 0644]
tcpdump.1.in
tcpdump.c
tests/TESTLIST
tests/zmtp1.out [new file with mode: 0644]
tests/zmtp1.pcap [new file with mode: 0644]