- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* ether multicast 如果是以太网多播数据包,则为True。 * ip multicast 如果是IP多播数据包,则为True。 * ip6 multicast 如果是IPv6多播数据包,则为True。 * vlan [vlan_id] 如果是IEEE 802.1Q VLAN数据包,则为True。如果定义了vlan_id值,则只有定义了vlan_id数据包的才为True。 * tcp, udp, icmp 此原语等价于ip proto p或者 ip6 proto p。其中p是前面用到的某种协议。 * expr relop expr 如果满足上面的关系式,则为True。其中,relop是,,=,=,=,!= 其中之一;expr是一个数学表达式,包含整数常量、通常的二进制操作符[+,-,*,/,,|]、长度操作符和特定的数据包数据访问标识。如果要访问数据包的内部数据,可以采用下面的语法: * proto [ expr : size ] proto是ether,fddi,tr,ip,arp,rarp,tcp,udp,icmp或者ipv6协议,表示操作的协议层。tcp、udp和其他高层协议类型只适用于IPv4,不适用于IPv6。expr表示协议层的偏移量(byte)。size是一个可选项,表示查看的字节数,缺省值为1。 例如,ether[0] 1 != 0捕获所有多播的数据流。表达式ip[0] 0xf != 5捕获所有带有选项的IP数据包。表达式ip[6:2] 0x1fff = 0捕获没有分段的数据包。tcp[0]表示TCP包头的第一个字节。 原语的组合使用: 否定操作符(! or not); 与操作符( or and); 或操作符(|| or or)。 否定操作优先级最高,与操作和或操作优先级相同,如:not host。 2. 使用Winpcap函数库wpcap.lib的步骤及实例 在Microsoft Visual C++中使用Winpcap函数库wpcap.lib要遵循以下步骤: (1) 编写使用Packet.dll的应用程序,首先需要安装Winpcap网络驱动程序。 (2) 在每个使用Winpcap函数的应用程序源文件的开始处包含文件pcap.h。 (3) 设置Visual C++编程环境链接器(linker)的选项(options),使其包含wpcap.lib函数库文件。wpcap.lib可以在Winpcap开发包(Winpcap Developers Pack)中找到。 设置Visual C++编程环境链接器(linker)的选项(options),使其包含WinSock函数库文件(例如wsock32.lib)。某些Libpcap函数需要WinSock支持。 1) 取得网络设备列表 基于Winpcap应用程序要做的第一件事就是要取得网络设备列表。Libpcap提供函数pcap_findalldevs()来取得网络设备列表,此函数返回一个pcap_if结构的链表,链表中每个节点包含一个网络设备的信息。字段name和description是网络设备的名称和描述。以下程序取得网络设备列表,并显示在屏幕上。 #include pcap.h main() { pcap_if_t *alldevs; pcap_if_t *d; int i = 0; char errbuf[PCAP_ERRBUF_SIZE]; // 错误信息缓存区 // 取得网络设备列表 if (pcap_findalldevs(alldevs, errbuf) == -1) { fprintf(stderr,Error in pcap_findalldevs: %s\n, errbuf); exit(1); } // 显示网络设备列表 for(d=alldevs;d;d=d-next) { printf(%d. %s, ++i, d-name); if (d-description) printf( (%s)\n, d-description); else printf( (No description available)\n); } if(i==0) { printf(\nNo interfaces found! Make sure WinPcap is installed.\n); return; } //释放列表 pcap_freealldevs(alldevs); } 2) 取得网络设备信息 函数pcap_findalldevs()返回的每一个pcap_if结构中,都包含有一列pcap_addr结构。在结构pca
您可能关注的文档
- 五语上假如没有灰尘要点分析.ppt
- 调度术语详细版要点分析.ppt
- 五章防火防爆防雷防静电及电磁场(安)要点分析.ppt
- 调幅收音机要点分析.ppt
- 武汉大学电化学绪论要点分析.ppt
- 调节效应要点分析.ppt
- 消化系统疾病要点分析.ppt
- 调盘对比要点分析.ppt
- 消化系统疾病主流用药总结要点分析.ppt
- 武汉大学仪器第十六章要点分析.ppt
- 鹤壁汽车工程职业学院《第二外语德语》2023-2024学年第二学期期末试卷.doc
- 安徽省怀远县2024-2025学年初三生物试题下学期期中考试生物试题含解析.doc
- 湖南省长沙市望城区第二中学2025年高三第六次月考试卷英语试题含解析.doc
- 公路车基础知识培训课件.pptx
- 辽宁省大连市普兰店市第六中学2024-2025学年高三下第一次测试语文试题含解析.doc
- 南漳县2025届数学五下期末统考试题含答案.doc
- 上海戏剧学院《大数据技术》2023-2024学年第一学期期末试卷.doc
- 兰州城市学院《输油管道设计与管理》2022-2023学年第一学期期末试卷.doc
- 2025年中国酒巴台凳生铁底座市场调查研究报告.docx
- 医学病症知识及治疗护理要点测试试卷.doc
文档评论(0)