/*-------------------------------------------------------------*/ /*************************************************************** * Netwib provides user with functions to show packets. They * * are useful, but will never be as powerful as a sniffer such * * as Ethereal, specialized in this task. * * Two main differences exists between netwib and a sniffer : * * - a sniffer decodes packets on fly and store info in a * * tree. Netwib decodes packets and store info in a * * structure (ie netwib_udphdr), then this structure can be * * used create or show packets. * * - with a sniffer, user clicks on the GUI to obtain details * * about specific parts of a packet. With Netwib, this is * * not possible. * ***************************************************************/ /*-------------------------------------------------------------*/ /* types */ #include <types.h> /* Array creation */ #include <array.h> /* Link (Ethernet, Token Ring, etc.) */ #include <linkhdr.h> /* IP */ #include <iphdr.h> #include <ip4opt.h> #include <ip4opts.h> #include <ip6ext.h> #include <ip6exts.h> #include <arphdr.h> /* UDP */ #include <udphdr.h> /* TCP */ #include <tcphdr.h> #include <tcpopt.h> #include <tcpopts.h> /* ICMPv4 */ #include <icmp4.h> /* ICMPv6 */ #include <icmp6.h> #include <icmp6nd.h> /* packets */ #include <packet.h>