Python 错误:TypeError: handle_arp_request() missing 1 required positional argument: 'ifname'
这个错误意味着在调用 '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'' 错误。
原文地址: https://www.cveoy.top/t/topic/jnKP 著作权归作者所有。请勿转载和采集!