netsniff-ng: Add dissector for Linux "cooked" packets
commit9977ec6012452bfc5053dbc90aed53f55064c86b
authorVadim Kochan <vadim4j@gmail.com>
Tue, 16 Jun 2015 01:10:19 +0000 (16 04:10 +0300)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 19 Jun 2015 22:24:25 +0000 (20 00:24 +0200)
tree5aa23fa8645383d631829068d64b8b6e8b6b719c
parent12c6a61fa54a2ee6a28c04ff51b2456f73d499b9
netsniff-ng: Add dissector for Linux "cooked" packets

Added dissector_sll.c which uses sockaddr_ll to lookup & print
higher L3 layer protocol.

This dissector is mapped by LINKTYPE_LINUX_SLL link type.

Sample output of dissected Netlink & Ethernet packets.
Truncated manually some longer lines by "...":

> nlmon0 20 1434193547s.717131169ns #6
 [ Linux "cooked" Pkt Type 4 (outgoing), If Type 824 (netlink), Addr Len 0, Src (), Proto 0x0 ]
 [ NLMSG Family 0 (routing), Len 20, Type 0x0003 (DONE)...

> wlp3s0 52 1434194181s.436224709ns #9
 [ Linux "cooked" Pkt Type 4 (outgoing), If Type 1 (ether), Addr Len 6, Src (XX:XX:XX:XX:XX:XX), Proto 0x800 ]
 [ IPv4 Addr (XXX.XXX.XXX.XXX => 212.42.76.253), Proto (6), TTL (64), TOS (0), ...
   ), CSum (0x1ef5) is ok ]
[ Geo (local => Ukraine) ]
 [ TCP Port (45849 => 443 (https)), SN (0x1744209), AN (0x46ca9611), DataOff (8) ...
 [ Chr .....w.Rj).. ]
 [ Hex  XX XX XX XX XX XX XX XX XX XX XX XX ]

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
dev.c
dev.h
dissector.c
dissector.h
dissector_sll.c [new file with mode: 0644]
dissector_sll.h [new file with mode: 0644]
netsniff-ng.c
netsniff-ng/Makefile
pkt_buff.h
proto_nlmsg.c