⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 othptab.h

📁 一个网络流量分析的完整的程序
💻 H
字号:
/***othptab.h - header file for the non-TCP routinesWritten by Gerard Paul JavaCopyright (c) Gerard Paul Java 1997***/#include <malloc.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netinet/ip_icmp.h>#include <netinet/udp.h>#include <curses.h>#include <panel.h>#include <netdb.h>#include <linux/if_ether.h>#include "servname.h"#include "addproto.h"#define NONIP -1#define IS_IP 1#define NOT_IP 0#define NOHTIND 0        /* Bottom or Top (head or tail) indicator printed */#define TIND 1           /* Tail indicator printed */#define HIND 2		 /* Head indicator printed */#define VSCRL_OFFSET	60	/* Characters to vertically scroll */struct othptabent {    unsigned long int saddr;    unsigned long int daddr;    char smacaddr[15];    char dmacaddr[15];    unsigned short linkproto;    char s_fqdn[100];    char d_fqdn[100];    int s_fstat;    int d_fstat;    unsigned int protocol;    char iface[8];    unsigned int pkt_length;      union {	struct {	    char s_sname[15];	    char d_sname[15];	} udp;	struct {	    unsigned int type;	    unsigned int code;	} icmp;	struct {	    unsigned char type;	    unsigned long area;	    char routerid[16];	} ospf;	struct {	    unsigned short opcode;	    char src_ip_address[4];	    char dest_ip_address[4];	} arp;	struct {	    unsigned short opcode;	    char src_mac_address[6];	    char dest_mac_address[6];	} rarp;    } un;    unsigned int type;    unsigned int code;    unsigned int index;    int is_ip;    int fragment;    struct othptabent *prev_entry;    struct othptabent *next_entry;};struct othptable {    struct othptabent *head;    struct othptabent *tail;    struct othptabent *firstvisible;    struct othptabent *lastvisible;    unsigned int count;    unsigned int lastpos;    unsigned int strindex;      /* starting index of the string to display */    int htstat;    unsigned int obmaxy;	/* number of lines in the border window */    unsigned int oimaxy;        /* number of lines inside the border */    int mac;    WINDOW *othpwin;    PANEL *othppanel;    WINDOW *borderwin;    PANEL *borderpanel;};/* Added by David Harbaugh for Non-IP protocol identification */struct packetstruct {    char *packet_name;  	/* Name of packet type   */    unsigned int protocol;      /* Number of packet type */ };/* partially stolen from ospf.h from tcpdump */#define	OSPF_TYPE_UMD	0#define	OSPF_TYPE_HELLO	1#define	OSPF_TYPE_DB	2#define	OSPF_TYPE_LSR	3#define	OSPF_TYPE_LSU	4#define	OSPF_TYPE_LSA	5#define	OSPF_TYPE_MAX	6struct ospfhdr {    u_char ospf_version;    u_char ospf_type;    u_short ospf_len;    struct in_addr ospf_routerid;    struct in_addr ospf_areaid;    u_short ospf_chksum;    u_short ospf_authtype;};void init_othp_table(struct othptable *table, int mac);void process_dest_unreach(struct tcptable *table, char *packet, char *ifname,                          int *nomem);struct othptabent *add_othp_entry(struct othptable *table,				  struct tcptable *tcptab,				  unsigned long saddr,				  unsigned long daddr, int is_ip,				  int protocol, unsigned short linkproto,				  char *packet,char *netpacket,				  unsigned int br, char *ifname,				  int *rev_lookup, int rvnamedon, 				  unsigned int tm, int logging,				  FILE * logfile, int servnames, int fragment,				  int *nomem);char *packetlookup(unsigned int protocol);void printothpentry(struct othptable *table, struct othptabent *entry,		    unsigned int screen_idx, int logging,		    FILE * logfile);void refresh_othwindow(struct othptable *table);void destroyothptable(struct othptable *table);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -