这个错误意味着在调用 'handle_arp_request()' 函数时,缺少了一个必需的参数 'ifname'。你需要在调用 'handle_arp_request()' 函数时传递 'ifname' 参数。如果 'ifname' 参数是必需的,则需要在函数定义中添加它。

以下代码片段展示了如何解决这个问题:

    if eth_type == 0x0806:
        arp_op = struct.unpack('!H', packet[ETH_HEADER_LEN+6:ETH_HEADER_LEN+8])[0]
        if arp_op == ARP_REQUEST:
            handle_arp_request(packet, 'your_interface_name')  # 传递 'ifname' 参数
        elif arp_op == ARP_REPLY:
            handle_arp_reply(packet)

将 'your_interface_name' 替换为你实际的网络接口名称。

此外,你需要确保在 'handle_arp_request()' 函数定义中添加 'ifname' 参数:

def handle_arp_request(packet, ifname):
    # 在这里处理 ARP 请求

通过添加 'ifname' 参数并将它传递给函数,你应该能够解决 'TypeError: handle_arp_request() missing 1 required positional argument: 'ifname'' 错误。

Python 错误:TypeError: handle_arp_request() missing 1 required positional argument: 'ifname'

原文地址: https://www.cveoy.top/t/topic/jnKP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录