- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于在 libcap >=1.9 中已弃用 lookupdev,因此我在使用 v1.8 编写的代码时遇到错误。我无法解决它。
建议我使用 pcap_findalldevs 但我收到错误消息。
int sniffARPPackets(char* gateway, char* gateway_ipp)
{
strncpy(gtwy, gateway, 17);
strncpy(gateway_ip, gateway_ipp, 15);
int i;
char *dev;
char errbuf[PCAP_ERRBUF_SIZE];
pcap_t* descr;
const u_char *packet;
struct pcap_pkthdr hdr;
struct ether_header *eptr;
struct bpf_program fp;
bpf_u_int32 maskp;
bpf_u_int32 netp;
dev = pcap_lookupdev(errbuf);
if(dev == NULL) {
fprintf(stderr, "%s\n", errbuf);
exit(1);
}
pcap_lookupnet(dev, &netp, &maskp, errbuf);
descr = pcap_open_live(dev, BUFSIZ, 1,-1, errbuf);
if(descr == NULL) {
printf("pcap_open_live(): %s\n", errbuf);
exit(1);
}
if(pcap_compile(descr, &fp, "arp", 0, netp) == -1) {
fprintf(stderr, "Error calling pcap_compile\n");
exit(1);
}
if(pcap_setfilter(descr, &fp) == -1) {
fprintf(stderr, "Error setting filter\n");
exit(1);
}
pcap_loop(descr, -1, my_callback, NULL);
return 0;
}
最佳答案
为什么它被弃用?
引用 pcap_lookupdev 手册页:
BUGS
The pointer returned by pcap_lookupdev() points to a static buffer;
subsequent calls to pcap_lookupdev() in the same thread, or calls to
pcap_lookupdev() in another thread, may overwrite that buffer.
In WinPcap, this function may return a UTF-16 string rather than an
ASCII or UTF-8 string.
你应该怎么做?
DESCRIPTION
This interface is obsoleted by pcap_findalldevs(3PCAP). To find a
default device on which to capture, call pcap_findalldevs() and, if the
list it returns is not empty, use the first device in the list. (If
the list is empty, there are no devices on which capture is possible.)
在除 Windows 之外的所有平台上,
pcap_lookupdev()
来电
pcap_findalldevs()
并返回第一个设备(除非它是环回设备),所以如果
pcap_findalldevs()
不工作,
pcap_lookupdev()
也不会工作。您在使用
pcap_findalldevs()
时遇到什么错误? ?
关于ubuntu - pcap_lookupdev() 已弃用 l。如何解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64401044/
由于在libCap>=1.9中已弃用lookupdev,因此我在使用v1.8编写的代码中遇到错误。我还没能解决这个问题。建议我使用pCap_findalldevs,但我收到了一个错误。。{。}。这就是
我正在为 OSX 10.8 开发。我刚刚通过 MacPorts 安装了 libpcap 并尝试运行一个简单的设备猎手(如下) #include #include int main(int argc
所以我用 #include 解决了这个问题我得到的错误是错误 122,我会尽快解释错误 122。 这是代码。 请记住,这不是我的代码;我使用这段代码来说明发生了什么错误 #include #inc
到目前为止,这是我的代码。 #include #include #include #include #include #include #include int main(int & a
由于在 libcap >=1.9 中已弃用 lookupdev,因此我在使用 v1.8 编写的代码时遇到错误。我无法解决它。 建议我使用 pcap_findalldevs 但我收到错误消息。 int
代码找不到任何设备,我想知道 pcap_lookupdev() 做了什么?谢谢 #include int main(int argc, char *argv[]) { pcap_t *han
我是一名优秀的程序员,十分优秀!