pcap_dumper_t *pcap_dump_open(pcap_t *p, char *fname) 打开用于保存捕获数据包的文件,用于写入。fname参数为"-"时表示标准输出。出错时返回NULL。p参数为调用pcap_open_offline()或pcap_open_live()函数后返回的pcap结构指针。fname参数指定打开的文件名。如果返回NULL,则可调用pcap_geterr()函数获取错误...
//文件类型,直接调用pcap_open_offline函数处理 casePCAP_SRC_FILE: fp = pcap_open_offline(name, errbuf); break; //远程主机接口类型,打开远程主机的适配器,设置几个重要标识的值。 casePCAP_SRC_IFREMOTE: //创建pcap_t结构体 fp= pcap_create(source, errbuf); if(fp == NULL) { returnNULL; } /...
当不再需要队列时可以用pcap_sendqueue_destroy()来释放掉所有的队列资源。 下面的代码演示了如何用发送队列来发送数据,该示例用pcap_open_offline()打开了一个文件,然后将数据 从文件移动到已分配的队列,这时就同步地传送队列(如果用户指定为同步的话)。 /* * Copyright (c) 1999 - 2002 * Politecnico di Tor...
pcap_t* pcap_open_offline(const char *fname, char *errbuf); void pcap_close(pcap_t *p); 1.1.1pcap_open函数 函数pcap_open()打开一个通用的源,该函数的原型如下: pcap_t* pcap_open(const char *source,int snaplen,int flags, int read_timeout,struct pcap_rmtauth *auth,char *errbuf); 只...
下面的代码显示了怎么样使用发送队列。首先它用pcap_open_offline()函数打开一个捕获文件,然后把数据包从文件中拷贝到合适分配的队列里面。这时,开始传送队列。 注意到dump文件的链路层是与使用pcap_datalink()方法来发送数据包所在的其中一个接口一致的。如果他们不同的话就会打印出一个警告:sending on a link-laye...
函数pcap_open_dead在数据包过滤章节中分析,函数pcap_open_offline在在文件打开与存储章节中分析 1.4.3pcap_close函数 首先在调用pcap_open_live函数时,在pcap_activate_win32函数中已设置好p->cleanup_op为pcap_cleanup_win32。 staticintpcap_activate_win32(pcap_t *p) ...
/* Open the capture */ if((indesc=pcap_open_offline(argv[1],error))==NULL){ fprintf(stderr,"\nError opening the input file: %s\n",error); return; } /* Open the output adapter */ if((outdesc=pcap_open_live(argv[2],100,1,1000,error) )==NULL) ...
下面的代码向我们展示了怎么样打开一个winpcap/libpcap dump文件,然后显示它里面的每一个数据包。这个文件是用pcap_open_offline()打开的,然后在数据包中循环使用pcap_loop()。你可以看到,其实从一个离线的捕获中读取数据包和从一个物理接口上接收他们几乎一样。
if ( (fp = pcap_open_offline(argv[2], errbuf) ) == NULL) /* Open a capture file */ { fprintf(stderr,"\nError opening dump file\n"); return -1; } break; } } } while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0) ...
pcap_open_offline(), pcap_open_dead(), pcap_findalldevs(), pcap_close() 4. int pcap_datalink ( pcap_t * p ) 返回链路层的类型,链路层的类型包括: ●DLT_NULL:BSD回路封装;链路层协议头是一个4字节的域,以主机字节顺序(host byte order),包含一个从socket.h来的PF_value。主机字节顺序(host...