Аргумент командной строки устройства libnet (сетевой интерфейс)
Я просто привожу проект libnet из https://github.com/sam-github/libnet/tree/master/libnet и я просматривал пример источника, поставляемого с ним. В примере получаем инициализацию cmd под названием "device" для инициализации ЛИБНЕТ. Я понял, что "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 ответ
Решение
Я был смущен той же проблемой. Это можно решить, как это.
в 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);
да поможет тебе это удачи!