lipcap函数库

lipcap函数库

ID:40568244

大小:61.00 KB

页数:10页

时间:2019-08-04

lipcap函数库_第1页
lipcap函数库_第2页
lipcap函数库_第3页
lipcap函数库_第4页
lipcap函数库_第5页
资源描述:

《lipcap函数库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、[1]intpcap_lookupnet(char*device,bpf_u_int32*netp,bpf_u_int32*maskp,char*errbuf);功能该函数用于监测网卡所在网络的网络地址和子网掩码参数char*devic网卡的描述符指针,由pcap_looupdev函数获取;bpf_u_int32*netp存放网络地址;bpf_u_int32*maskp存放子网掩码;char*errbuf存放出错信息;返回值如果函数执行成功,则返回值为0,否则返回值为-1,并在errbuf中存放出

2、错信息。[2]char*pcap_lookupdev(char*errbuf);功能获取一个合适的网卡描述,以供pcap_open_liver函数和pcap_lookupnet函数使用。参数char*errbuf存放pcap_lookupdev函数的出错信息;返回值如果函数执行成功,则返回一个用于描述系统上的一个网卡的描述符的指针。如果失败,返回null,errbuf中存放出错信息。[3]pcap_t*pcap_open_live(char*device,intsnaplen,intpromisc

3、,intto_ms,char*ebuf)功能打开网卡用来获得一个数据截获描述符,该描述符用于查看在网络上传输的数据包;参数char*device指定的嗅探设备;snaplenpcap捕获的最大字节数;promisc是否将指定接口设为为混杂模式;to_ms读取时的超时值,单位是毫秒,如果为0则一直嗅探直到错误发生,为-1则不确定;。ebuf存入任何错误信息的字符串返回值返回会话句柄。实例:#include...pcap_t*handle;handle=pcap_open_live(s

4、omedev,BUFSIZ,1,0,errbuf);实例说明该代码打开字符串somedev的设备,读取被BUFSIZ指定的字节数(BUFSIZ在pcap.h里定义);设备被设置为混杂模式;一直嗅探到错误发生;如果有了错误,把它存放在字符串errbuf中。[4]intpcap_compile(pcap_t*p,structbpf_program*fp,char*str,intoptimize,bpf_u_int32netmask)功能编译表达式参数pcap_t*ppcap_open_live打开的设

5、备接口句柄;structbpf_program*fp存储被编译的过滤器版本的地址;char*str表达式本身;intoptimize是否被优化的整形量(0为false,1为true,标准规定);bpf_u_int32netmask指定应用此过滤器的网络掩码;返回值函数返回-1为失败,其他表明成功的[5]intpcap_setfilter(pcap_t*p,structbpf_program*fp)功能使用过滤器用于设定一个过滤器程序;参数pcap_t*p会话句柄;structbpf_program

6、*fp被编译表达式版本的引用(与pcap_compile()的第二个参数相同)。实例:#includepcap_t*handle;/*会话的句柄*/chardev[]="rl0";/*执行嗅探的设备*/charerrbuf[PCAP_ERRBUF_SIZE];/*存储错误信息的字符串*/structbpf_programfilter;/*已经编译好的过滤表达式*/charfilter_app[]="port23";/*过滤表达式*/bpf_u_int32mask;/*执行嗅探的设备

7、的网络掩码*/bpf_u_int32net;/*执行嗅探的设备的IP地址*/pcap_lookupnet(dev,&net,&mask,errbuf);handle=pcap_open_live(dev,BUFSIZ,1,0,errbuf);pcap_compile(handle,&filter,filter_app,0,net);pcap_setfilter(handle,&filter);实例说明该程序使用混杂模式嗅探嗅探设备为r10,经由端口23的所有通信。pcap_lookupnet(),

8、向这个函数提供设备接口名,它将返回其IP和网络掩码,我们需要知道网络掩码以便应用过滤器。[6]u_char*pcap_next(pcap_t*p,structpcap_pkthdr*h)功能获取单包参数pcap_t*p会话句柄;structpcap_pkthdr*h指向一个包括了当前数据包总体信息(被捕获时的时间,包的长度,其被指定的部分长度)的结构体的指针返回值返回一个u_char指针给被这个结构体描述的包实例:#include#includei

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。