libpcap - pcap_findalldevs在MacOSx上返回NULL

时间:2013-06-26 22:32:02

标签: c macos pcap libpcap tcpdump

我正在尝试检测机器上的所有网络适配器(OSx 10.8)。所以我有这个典型的小代码:

int main()
{
    pcap_if_t *alldevs;
    char errbuf[PCAP_ERRBUF_SIZE];

    pcap_findalldevs(&alldevs, errbuf);
...
}

执行此链接列表时:pcap_if_t为空,errbuf也是清除的。这可能是权限问题吗?我希望在这种情况下可以写入errbuf,但这是一个假设。出现这种情况的任何其他原因?是的..我在这台机器上有网络适配器:)

由于

1 个答案:

答案 0 :(得分:0)

我在Xcode中运行了你的代码并让它运行起来。您最有可能遇到权限问题。如果您正在使用Xcode,请转到项目的方案进行编辑,然后在" Debug Process As"下,选择root。系统将提示您输入密码以便运行。