代码找不到任何设备,我想知道 pcap_lookupdev() 是做什么的?谢谢

#include <pcap.h>
int main(int argc, char *argv[])
{
    pcap_t *handle;

    char *dev;// = "eth0";
    char errbuf[PCAP_ERRBUF_SIZE];
    dev = pcap_lookupdev(errbuf);
    if (dev == NULL) {
        fprintf(stderr, "Couldn't find default device: %s\n", errbuf);
        return(2);
    }
    printf("Device: %s\n", dev);
    return(0);

    handle = pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf);
    if (handle == NULL) {
        fprintf(stderr, "Couldn't open device %s: %s\n", dev, errbuf);
        return(2);
    }


}

最佳答案

pcap_lookupdev 似乎只是返回它可以找到的第一个设备(如果有的话),除了环回设备。

你以 root 身份运行它吗?不允许普通用户打开或检查这些设备。

我个人认为 pcap_lookupdev 相当无用,因为您无法真正控制它为您提供的设备。

关于c - 如何在 libpcap 中使用 "pcap_lookupdev()"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3745996/

10-11 15:43