抓包模块说明文档课件.docVIP

  • 2
  • 0
  • 约4.56千字
  • 约 7页
  • 2017-06-23 发布于湖北
  • 举报
NIC项目抓包模块说明文档 功能描述: 能够捕获所有进出本主机的数据包完整显示数据包头信息和内容。 MAC层支持:以太帧 网络层支持:IP,ARP,RARP,ICMP 传输层支持:TCP,UDP 2. 以十六进制显示报文每个字节内容(包括头和数据),指定某个字段时,使相应字节高 亮显示。如点击IP Source Address(解析树中IP源),则相应的四个字节高亮。 3. 可以设置过滤,指定IP地址,指定报文类型(TCP,UDP,ICMP,ARP,RARP),指定方 向(A地址-B地址,B地址-A地址,A地址-B地址),侦探相应的数据包。 4. 统计过滤后收到的报文个数和总字节数,并显示整个网络建议状况(以进度条显示流量, 状态栏显示数据) 5. 对分成多个TCP传输的文件重组,去除头信息,得到数据内容,并可以显示或输出 到文件。例如,FTP传输RM时,可以将探测到的TCP包重组并保存至文件,就可以观 看了。 系统描述: 1.概述: 1)采用抓包技术: winpcap技术 1.捕获原始数据包。不管这个包是发往本地机,还是其他机器之间的交换包。 2.在数据包被发送到应用程序之前,通过用户定义的规则过滤。 3.向网络发送原始数据包。 4.对网络通信量做出统计。class EtherHead { int srcaddr[6]; // 源硬件地址 int destaddr[6]; //目的硬件地址 int type; //承载的网络层协议类型:IP,ARP,RARP }; 2)IP报文: class IPGram { int version; //IP版本 int IHL; //IP报文头长,包含多少个32位 int servicetype; //服务类型 int precedence; //优先级 bool delay; //延迟 bool throughtput; //吞吐量 bool reliability; //可靠性 unsigned int totallen; //IP报文总长 int identification; //标识 bool DF; //是否分段,为1表示没有分段 bool MF; //是否有进一步分段,为1表示有 int fragoffset; //偏移量 int TTL; //生命期time to live int protocol; /协议:TCP,UDP,ICMP unsigned int checksum; //校验和 long srcaddr; //源IP地址 long destaddr; //目的IP地址 int optlen; //IP选项长度 unsigned char *options; //选项内容 int datalen; //数据长度 unsigned char *data; //数据内容 }; 3)TCP报文: class TCPGram { int srcport; //源端口号 int destport; //目的端口号 unsigned int seqnum; //顺序号 unsigned int acknum; //确认好 int headlen; //TCP报文头长,包含多少个32位 bool URG; //为1表示使用紧急指针 bool ACK; //为1表示确认合法 bool PSH; //带PUSH标志数据 bool RST; //用于主机崩溃或其他原因后的复位 bool SYN; //用于建立连接 bool FIN; /用于释放连接 int windowsize; //窗口大小 int checksum ;//校验和 int urgpos; //紧急指针,从当前顺序号到紧急位置的偏移量 int optlen; //TCP选项长度 unsigned char *options; //选项内容 int datalen; //数据长度 unsigned char *data; //数据内容 }; 4) UDP报文: class UDPGram { unsigned int srcport;//源端口号 unsigned int destport;//目的端口号 int totallen;//UDP报文总长 int checksum;//校验和 unsigned int datalen;//数据长度 char *data;//数据内容 }; 5) ICMP报文: class ICMPGram

文档评论(0)

1亿VIP精品文档

相关文档