无法打开设备eth0:eth0:socket:参数无效

时间:2018-03-30 18:32:39

标签: c linux client dhcp

我正在尝试使用GitHub中的简单DHCP client。当我尝试运行此客户端时,它失败并带有

eth0 MAC : C8:6B:00:E5:52:5E
Couldn't open device eth0: eth0: socket: Invalid argument

有什么建议吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

显然pcap_open_live()返回NULL

  

pcap_open_live()会在成功时返回pcap_t *并在NULL上返回   失败。如果返回NULL,则会在errbuf中填入errbuf   适当的错误信息。 pcap_open_live()也可能设置为警告文字   当errbuf成功时;要检测这种情况,调用者应该   在调用之前在pcap_open_live()中存储零长度字符串   errbuf,如果errbuf是,则向用户显示警告   不再是零长度的字符串。假设PCAP_ERRBUF_SIZE能够成立   至少su -c "lspci | grep -i ether" 个字符。

您可能需要调查您的卡片。

以root身份检查:

eth0

检查此设备实际上是/usr/sbin/ethtool -i eth0

dmesg | grep eth0

import subprocess

def echooff():
    subprocess.run(['stty', '-echo'], check=True)
def echoon():
    subprocess.run(['stty', 'echo'], check=True)