0

我只是从https://github.com/sam-github/libnet/tree/master/libnet git libnet 项目,我一直在查看它提供的示例源。示例获取一个名为“设备”的 cmd arg 来初始化自由网。我发现“eth0”是 Linux 操作系统上的正确值,但我使用的是 Windows 7,我的问题是我可以将什么用作 Windows 上设备的值。

l = libnet_init(
    LIBNET_RAW4,                  /* injection type */
    device,                       /* network interface */
    errbuf);                      /* errbuf */

我尝试了很多值,如适配器名称、设备索引等......但每次我得到这个错误:

libnet_init() failed: libnet_link_win32.c(): unable to open the driver, error Code : 14
4

1 回答 1

1

我对同样的问题感到困惑。可以这样解决。

在 lib wpcap 中

有一个函数名为pcap_findalldevs();

像这样使用它,你会成功

int Value = pcap_findalldevs(&alldevs,errbuf);
if( Value == -1)
{
    fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
    exit(1);
}
char *device = NULL;
device = alldevs->name; //get the first Card name

    libnet_t *l

l = libnet_init(
    LIBNET_LINK_ADV,
    device,//use it here
    error_information); 

这可以帮助你。祝你好运!

于 2014-04-27T04:47:41.183 回答