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

📄 othptab.h

📁 一个很好用的linux 下的流量监控软件
💻 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 + -