/* Sniffit Data File */
/**** Network Devices *******************************************************/
/* Older configuration system of Sniffit */
/* ether: 14 */
/* ppp : 4 */
/* slip : 16 */
/* lo : 4 */
#ifdef LINUX
/*
#define NETDEV_NR 3
char *NETDEV[]={"lo","ppp","eth"};
int HEADSIZE []={4 ,0 ,14};
*/
#define NETDEV_NR 3
char *NETDEV[]={"ppp","slip","eth"}; /* echo on loopback */
int HEADSIZE []={0 ,0 ,14}; /* slip needs testing */
#endif
#ifdef SUNOS
#define NETDEV_NR 3
char *NETDEV[]={"le","hme"};
int HEADSIZE[]={14 ,14}; /* ppp: 4 or 0 or nothing? */
#endif
#ifdef IRIX
#define NETDEV_NR 2
char *NETDEV[]={"ppp","et"};
int HEADSIZE[]={0 ,14}; /* ppp: 4 or 0 or nothing */
#endif
#ifdef FREEBSD /* ppp: 4 or 0 ? */
/*
#define NETDEV_NR 2
char *NETDEV[]={"ppp","ed"};
int HEADSIZE[]={4 ,14};
*/
#define NETDEV_NR 6
char *NETDEV[]={"fxp","de","ed","ppp","tun","lo"};
int HEADSIZE[]={14 ,14 ,14 ,4 ,4 ,4 };
#endif
#ifdef BSDI /* ppp: 4 or 0 ? */
/*
#define NETDEV_NR 2
char *NETDEV[]={"ppp","ef"};
int HEADSIZE[]={4 ,14};
*/
#define NETDEV_NR 1
char *NETDEV[]={"ef"};
int HEADSIZE[]={14};
#endif
#ifdef DEC_OSF
#define NETDEV_NR 1
char *NETDEV[]={"ln"};
int HEADSIZE[]={14};
#endif
#ifdef NETBSD
#ifdef i386
#define NETDEV_NR 21
char *NETDEV[]={"ppp","ai","de","ec","ef","eg","el","en","ep","fe","fea","fpa","fxp","ix","iy","lc","le","ne","sm","tl","we"};
int HEADSIZE[]={4 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 ,14 };
#elif defined(sparc)
#define NETDEV_NR 3
char *NETDEV[]={"ppp","le","ie"};
int HEADSIZE[]={4 ,14 ,14};
#elif defined(amiga)
#define ETH_DEV_NR 6
char *NETDEV[]={"ppp","bah","ed","es","le","qn"};
int HEADSIZE[]={4 ,14 ,14 ,14 ,14 ,14};
#else
#error Unknown network devices for this NetBSD architecture.
#endif
#endif
#ifdef AIX /* only for the AIX powerpack ;) */
#define NETDEV_NR 4 /* not usefull without it */
char *NETDEV[]={"en","et","tr","fi"};
int HEADSIZE[]={14 ,22 ,22 ,24};
#endif
#ifdef HPUX /* only for the HPUX powerpack ;) */
#define NETDEV_NR 2 /* not usefull without it */
char *NETDEV[]={"le","sam"};
int HEADSIZE[]={14 ,14 };
#endif
/**** Global data **********************************************************/
pcap_t *dev_desc;
pcap_dumper_t *dev_dump;
void *start_dynam;
int dynam_len;
char Logfile[250]; /* name of logfile */
FILE *LogFILE; /* logfile stream */
/* char *IP; *//* was with older '-p' */
char IP[256];
unsigned long SNIFLEN; /* bytes we need to snif */
short DEST_PORT, SRC_PORT; /* destination port */
char non_printable, *logging_device;
/**** Global data (packets) *************************************************/
int PROTO_HEAD; /* Base Protocol head length (ethernet, PPP ,....) */
char *IP_TYPE_precedence[8]=
{"Routine", "Priority", "Immediate", "Flash", "Flash override",
"Critical", "Internetwork control", "Network control"};
char *IP_PROTOCOL_number[34]=
{"Reserved","ICMP","IGMP","GGP","Unassigned","ST","TCP","UCL","EGP","IGP",
"BBN-MON","NVP-II","PUP","ARGUS","EMCOM","XNET","CHAOS","UDP","MUX",
"DCN-MEAS","HMP","PRM","XNS-IDP","TRUNK-1","TRUNK-2","LEAF-1","LEAF-2",
"RDP","IRTP","ISO-TP4","NETBLT","MFE-NSP","MERIT-INP","SEP"};
char *ICMP_type_3_code[6]=
{"Net unreachable", "Host unreachable", "Protocol unreachable",
"Port unreachable", "Fragmentation needed and DF set",
"Source route failed"};
char *ICMP_type_5_code[4]=
{"Redirect datagrams for the network",
"Redirect datagrams for the host",
"Redirect datagrams for the \'type of service\' and the network",
"Redirect datagrams for the \'type of service\' and the host"};
char *ICMP_type_11_code[2]=
{"Time-to-live exceeded in transmit",
"Fragment reassembly time exceeded"};
/**** Global data (config) **************************************************/
struct cfg_file_contense *select_from_list; /* pointers for cfg lists */
struct cfg_file_contense *select_to_list;
struct cfg_file_contense *deselect_from_list;
struct cfg_file_contense *deselect_to_list;
int select_from_length=0; /* length of cfg lists */
int select_to_length=0;
int deselect_from_length=0;
int deselect_to_length=0;
int Priority=0; /* The higher the priority, the more important */
char dot_notation[20]; /* for easy working, Q&D */
/**** Global data (plugins) *************************************************/
char Plugin_Active[10];
/**** Global data (interactive) *********************************************/
#ifdef INCLUDE_INTERFACE
/**** shared memory pointers ************************************************/
char *SHARED, *connection_data, *timing, *running_connections,
*logged_connections;
int *LISTlength, *DATAlength, memory_id;
unsigned int *TCP_nr_of_packets, *ICMP_nr_of_packets, *UDP_nr_of_packets;
unsigned int *IP_nr_of_packets;
unsigned long *TCP_bytes_in_packets, *UDP_bytes_in_packets;
int *DESC_LEN;
/**** data structures *******************************************************/
struct snif_mask *mask;
struct shared_logged_conn *log_conn;
FILE *log_dev_stream;
struct stat log_dev_stat;
volatile int LOGGING=0, screen_busy=0;
char PACKET_INFO;
int POINTpos=0, LISTpos=0;
unsigned char COLOR_AVAIL=0;
/**** screen **************************************************************/
int MASK_WINDOW_ROWS, MASK_WINDOW_COLS;
int MAIN_WINDOW_ROWS, MAIN_WINDOW_COLS;
int INFO_WINDOW_ROWS, INFO_WINDOW_COLS;
int DATA_WINDOW_ROWS, DATA_WINDOW_COLS;
int INFO_WINDOW_X, INFO_WINDOW_Y;
int MASK_WINDOW_X, MASK_WINDOW_Y;
int DATA_WINDOW_X, DATA_WINDOW_Y;
WINDOW *menu_window;
struct box_window data_box, main_box, mask_box, packets_box;
int Pid=0;
#endif
/* DEBUG section */
#ifdef DEBUG
FILE *debug_dev;
unsigned int debug_cnt=0;
#endif
syntax highlighted by Code2HTML, v. 0.9.1