- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
struct sniff_tcp { u_short th_sport; /* source port */ u_short th_dport; /* destination port */ tcp_seq th_seq; /* sequence number */ tcp_seq th_ack; /* acknowledgement number */ #if BYTE_ORDER == LITTLE_ENDIAN u_int th_x2:4, /* (unused) */ th_off:4; /* data offset */ #endif #if BYTE_ORDER == BIG_ENDIAN u_int th_off:4, /* data offset */ th_x2:4; /* (unused) */ #endif u_char th_flags; #define TH_FIN 0x01 #define TH_SYN 0x02 #define TH_RST 0x04 #define TH_PUSH 0x08 #define TH_ACK 0x10 #define TH_URG 0x20 #define TH_ECE 0x40 #define TH_CWR 0x80 #define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG|TH_ECE|TH_CWR) u_short th_win; /* window */ u_short th_sum; /* checksum */ u_short th_urp; /* urgent pointer */ }; 获取包数据 struct sniff_ethernet* ethernet; struct sniff_ip* ip; struct sniff_tcp* tcp; ethernet = (struct sniff_ethernet*)(packet); ip = (struct sniff_ip*)(packet + size_ethernet); tcp = (struct sniff_tcp*)(packet + size_ethernet + size_ip); payload = (u_char *)(packet + size_ethernet + size_ip + size_tcp); pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user) handler_packet(u_char *args, const struct pcap_pkthdr *header, const u_char *packet); 使用WinPcap编写Sniffer程序 内容介绍 嗅探器原理 Winpcap介绍 Winpcap安装 Winpcap应用程序结构 Sniffer(嗅探器)设计原理 通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形 式发出的数据帧,对于其他形式的数据帧,比如已到达网络接口但 却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地 址之后将不引起响应,也就是说应用程序无法收取到达的数据包。 网络嗅探器的目的恰恰在于从网卡接收所有经过它的数据包,这些 数据包既可以是发给本机的也可以是发往别处的。通过将网络接口 设置为混杂模式可以使它接收所有经过它的数据包(例如以太网帧 将会到达同一局域网的所有网络接口)。 但是,此时操作系统不再 行底层的细节操作(协议处理,流量均衡等) ,而是将拆封解释处 理接收到的数据帧(frame)的任务交给应用程序完成,这样应用程 序就可以灵活的获取各类信息。 什么是 Winpcap 网络数据包捕获库函数 直接访问网络,免费、公用 工
文档评论(0)