Winpcap问题
我做了一个Windows下基于Winpcap的入侵检测系统,在家里测试时,家里用的是ADSL上网模式,Winpcap可以正常捕获网络数据包,可是到学校使用锐捷拨号网络后,Winpcap无法捕获到网络数据包,请问为什么?如何解决?谢谢
下面这个就是捕获数据包的一些系统函数
void Analyzer_()
{
pcap_t* pcap_handle;
char error_content[PCAP_ERRBUF_SIZE];
char *net_interface;
struct bpf_program bpf_filter;
char bpf_filter_string[] = "";
bpf_u_int32 net_mask;
bpf_u_int32 net_ip;
net_interface = pcap_lookupdev(error_content);//查询网络接口名字
pcap_lookupnet(net_interface,&net_ip,&net_mask,error_content);//获取网络地址和掩码
pcap_handle = pcap_open_live(net_interface,BUFSIZ,1,0,error_content);//打开一个网络接口捕获数据包
pcap_compile(pcap_handle,&bpf_filter,bpf_filter_string,0,net_ip);//编译BPF过滤规则
pcap_setfilter(pcap_handle,&bpf_filter);//设置BPF过滤规则
if(pcap_datalink(pcap_handle)!=DLT_EN10MB)
return ;
pcap_loop(pcap_handle,-1,ethernet_protocol_packet_callback_,NULL);
pcap_close(pcap_handle);
return ;
}
不知为何在锐捷拨号网络中无法使用?望解答,如果代码需要修改,麻烦高手给改一下