- 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 pcap_if { struct pcap_if *next; //下一个接口 char *name; //接口名 char *description; struct pcap_addr *addresses; bpf_u_int32 flags; //目前只支PCAP_IF_LOOPBACK }; * 接口地址 struct pcap_addr { struct pcap_addr *next; struct sockaddr *addr; struct sockaddr *netmask; struct sockaddr *broadaddr; struct sockaddr *dstaddr; // P2P }; * 3.2 打开接口获取抓包描述符 pcap_t *pcap_open_live( char *device, //接口名 int snaplen,//抓取数据包的最大长度, //多出部分将被截断 int promisc, //是否为混杂模式 int to_ms, //读多少毫秒的包后再返回 char *errorbuf); 用途:用来获取一个抓包的 descriptor; 返回值为NULL表失败 void pcap_close (pcap_t *?p?)? * 3.3 设置filter int pcap_compile (pcap_t *p, struct bpf_program *fp,?char *str, int optimize, bpf_u_int32 netmask)把用户容易理解的字符串形式的过滤规则str翻译成一个程序可以识别的过滤器规则fp Netmask:被抓包的掩码,用于检查ipv4的广播包 返回值为-1时出错 int pcap_setfilter(pcap_t *p, struct bpf_program *fp)设置一个过滤器 * a.捕获 MAC地址为 00:d0:f8:00:00:03 网络设备通信的所有报文 ? ether host 00:d0:f8:00:00:03 b.捕获 IP地址为 网络设备通信的所有报文 ? host c.捕获网络web浏览的所有报文 ? tcp port 80 d.捕获除了http外的所有通信数据报文 ? host and not tcp port 80 这些过滤规则也是软件Ethereal直接使用的规则 过滤规则举例 * 更一般的过滤规则 [src|dst] host host ether [src|dst] host ehost gateway host host [src|dst] net net [{mask mask}|{len len} [tcp|udp] [src|dst] port port less|greater length ip|ether proto protocol ether|ip broadcast|multicast * 3.4 捕获数据 int pcap_loop(pcap_t *p, int cnt, //捕获的最大数目,-1表无限 pcap_handler callback, //用户的处理函数 u_char *user//回调函数的参数) ? 返回值:-1出错,0表cnt耗尽 int pcap_next_ex (pcap_t *?p, struct pcap_pkthdr **?pkt_header, const u_char **?pkt_data?) * 3.5 用户的包处理函数 void CallbackFunc(unsigned char *user, const struct pcap_pkthdr *winpcaphead, const unsigned char *packetdata) 参数winpcaphead:说明包的一些辅助信息,包括时间,长度。 packetdata:捕获的帧 * 以太网帧结构 前导码与帧前定界符:前导码为56bit的1010…101010,帧前定界符目的地址和源地址:MAC地址为48bit 长度/类型:长度(小于0800H),类型(大于等于0800H,如IP为0800H、ARP为0806H) 数据字段:用于携带上层传下来的数据。 帧校验字段:32位的CRC 前导码、帧前定界符和帧校验和三个字段属于物理层内容,在数据链路层不会得到这些字段,因此在MAC层只需解析目的地址、源地址、长度/类型和数据字段。 * 代码阅读 P244-247 改进:识
您可能关注的文档
- 晶界与材料力学性能的关系细晶强化教程.ppt
- 晶体X射线衍射学3,衍射原理教程.ppt
- 晶体X射线衍射学基础教程.ppt
- 晶体的x射线衍射教程.ppt
- 宏观经济学高鸿业最新版教程.ppt
- 普通车床操作教程.ppt
- 宏观经济学国民收入核算体系教程.ppt
- 普通车床的电气控制教程.ppt
- 普通车床加工简单实例1节.ppt
- 宏观经济学货币需求理论教程.ppt
- 安徽省亳州市风华中学八年级英语Unit3WhatwereyoudoingwhentheUFOarrived演示文稿教程.ppt
- 数据包与流量分析教程.ppt
- 数据备份与恢复何欢何倩35161.学习情景1任务1系统数据备份教程.ppt
- 数据备份与恢复何欢何倩35162.学习情景1任务2用户数据备份教程.ppt
- 数据备份与恢复何欢何倩35261.学习情景2任务1windows系统故障修复教程.ppt
- 数据备份与恢复何欢何倩35262.学习情景2任务2windows系统备份与恢复教程.ppt
- 数据备份与恢复教学教程何欢何倩35161.学习情景1任务1系统数据备份演示文稿.ppt
- 安徽省亳州市风华中学八年级英语Unit5Ifyougototheparty,youwillhaveagreattime演示文稿教程.ppt
- 数据备份与恢复教学教程何欢何倩35162.学习情景1任务2用户数据备份演示文稿.ppt
- 数据备份与恢复教学教程何欢何倩35261.学习情景2任务1windows系统故障修复演示文稿.ppt
最近下载
- 《篮球训练》教学大纲.pdf VIP
- 广西桂林理工大学南宁分校招聘笔试真题2024.docx VIP
- 新大陆物联网平台操作流程.docx VIP
- Fronius伏能士 TPS 270i C Pulse MIG.MAG电源操作手册.pdf VIP
- 电焊安全技术交底.doc VIP
- 城市轨道交通运营管理毕业论文-关于铁路客运服务质量的调查与探讨.docx VIP
- 2025福建莆田市城市建设投资开发集团有限公司招聘30人考试备考题库及答案解析.docx VIP
- 物联网全栈智能应用实训系统设备接线图V2.0.pdf VIP
- 柔性触摸屏及全贴合生产项目投资计划书.pptx VIP
- 《食品安全与营养健康》课件.ppt VIP
文档评论(0)