深度剖析WinPcap之(八)——打开与关闭适配器
2009-09-21 00:00:00 来源:WEB开发网参数errbuf指向用户所分配的一个缓冲区,将用来存储该函数的错误信息。
函数返回一个指向” pcap_t”的指针,将作为后续调用的参数(如pcap_sendpacket()等等),其描述了一个已打开的WinPcap会话。如果出现问题,函数返回NULL,并通过” errbuf”变量保存错误信息。
注意:
Ø源的长度不能比PCAP_BUF_SIZE大。
Ø下列格式是不允许的“source”字符串:
rpcap:// [to open the first local adapter]
rpcap://hostname/ [to open the first remote adapter]
1.1.2 pcap_open_dead函数
函数创建一个pcap_t结构体,而不开始一个捕获操作。函数原型如下:
pcap_t* pcap_open_dead(int linktype,int snaplen);
参数linktype为网络链路类型,参数snaplen为每个数据包必须保留的长度。函数返回一个指向” pcap_t”的指针,将作为后续调用的参数。调用wpcap的其它函数时使用pcap_open_dead函数,典型的使用是不打开适配器来编译过滤代码,在pcap_compile_nopcap函数中调用pcap_open_dead函数。
1.1.3 pcap_open_live函数
函数pcap_open_live()被用来获取一个数据包捕获的描述符,来查找网络上的数据包。函数原型如下:
pcap_t* pcap_open_live(const char *device,int snaplen,
int promisc,int to_ms,char *ebuf)
参数device是描述所打开网络设备的字符串;在2.2或更高内核版本的Linux系统下,”any”与NULL的设备参数能被用来从所有的接口捕获数据包。
参数snaplen描述数据包所需捕获的最大字节长度。如果该值小于所捕获的数据包大小,只有开始snaplen字节的内容被捕获并作为数据包数据提供。一个65535的值应该是足够的,在大多数网络情况下,捕获数据包可用的所有数据 。
- ››深度解释攻击linux服务器的四种级别
- ››剖析java.util.concurrent锁
- ››剖析Android智能手机系统的更多功能
- ››深度分析地方社区网站的内容定位
- ››剖析Windows Azure Platform框架与组成
- ››剖析使用 ObjectOutputStream 可能引起的内存泄漏...
- ››剖析EWebEditor编辑器漏洞攻击案例
- ››剖析开源云:构建 Infrastructure as a Service 块...
- ››深度剖析 Android 和 iPhone OS
- ››深度分析:HTML5能否成为Flash终结者
- ››深度挖掘 更多Windows 7快捷模式
- ››深度挖掘 Windows 7快捷模式
更多精彩
赞助商链接