libnet设备(网络接口)命令行参数

时间:2013-07-01 09:13:13

标签: windows networking driver libnet

我只是来自https://github.com/sam-github/libnet/tree/master/libnet的git libnet项目,我一直在查看随其提供的示例源代码。该示例获取了一个名为“device”的cmd arg来初始化libnet。我发现“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

1 个答案:

答案 0 :(得分: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); 

这可能对你有所帮助。祝你好运!