gpt4 book ai didi

c - pcap_open_live 无法打开 eth0 hexinject

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:08 26 4
gpt4 key购买 nike

我目前正在使用 hexinject(嗅探器和注入(inject)器),在使用 gcc 生成其目标文件后,当我尝试运行它时,它显示无法打开适配器。

这里是源文件中调用pcap_open_live函数的代码部分;

/* Parse cmdline options */
parseopt(argc, argv);

/* Open the output device */
if ( (fp = pcap_open_live( options.device, // name of the device
BUFSIZ, // portion of the packet to capture
1, // promiscuous mode
-1, // read timeout
errbuf // error buffer
)) == NULL)

{
fprintf(stderr,"\nUnable to open the adapter. %s is not supported.\n", options.device);
return 1;
}

我在终端使用的命令是;

chetan@chetan-VirtualBox:~/hexinject-1.0/hexinject$ ./hexinject -s -i eth0

Unable to open the adapter. eth0 is not supported.

现在我尝试使用 lspci 检查 Controller ,它显示了;

chetan@chetan-VirtualBox:~/hexinject-1.0/hexinject$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)

我尝试了 ifconfig eth0,它显示了;

chetan@chetan-VirtualBox:~/hexinject-1.0/hexinject$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:34:d0:0f
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe34:d00f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13497 errors:0 dropped:0 overruns:0 frame:0
TX packets:11729 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10512163 (10.5 MB) TX bytes:1754437 (1.7 MB)

这意味着 eth0 没有问题。但是为什么它没有按应有的方式显示输出。我在 Windows 8 主机上的 VirtualBox 上使用 Ubuntu。这里使用的 hexinject 版本也是 1.0。这是 sourceforge 链接,http://sourceforge.net/projects/hexinject/files/hexinject-1.0/ .

我是网络编程的新手,因此不胜感激。

最佳答案

首先,pcap_open_live() 需要 errbuf 来准确描述错误,但您错过了在消息中打印它。您可以将其内容添加到您的打印品中以备将来使用。

其次,我 90% 确定原因是您以普通用户身份启动程序,没有 root 权限(我猜这是由于 $ shell 提示符后缀)。默认情况下,仅允许 root 连接到网络接口(interface),或者至少允许具有 CAP_NET_ADMINCAP_NET_RAW 功能的用户。您可以在 susudo 或 analog 下重试测试。

关于c - pcap_open_live 无法打开 eth0 hexinject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27212047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com