如何在 Python 中使用 scapy 和 nfqueue 从数据包中获取 ip?
How to fetch ip from a packet using scapy and nfqueue in Python?
好的,所以我已经尝试使用 packet["IP"].src
但它一直抛出此错误:
Exception TypeError: "'netfilterqueue.Packet' object has no attribute
'getitem'" in 'netfilterqueue.global_callback' ignored
在 Python 第 30 行中使用此代码:https://hastebin.com/yirahekeju.py
有人知道为什么这种情况一直发生吗?
它一直在发生,因为你没有以正确的方式使用它 - nfqueue.Packet 有一套不同的方法,它不支持 getitem:https://pypi.python.org/pypi/NetfilterQueue
它可能是这样工作的:
def check(packet):
scapy_pkt = IP(packet.get_payload())
print scapy_pkt.src # source IP address
print scapy_pkt.dst # dest IP address
# ... work with scapy_pkt
好的,所以我已经尝试使用 packet["IP"].src
但它一直抛出此错误:
Exception TypeError: "'netfilterqueue.Packet' object has no attribute 'getitem'" in 'netfilterqueue.global_callback' ignored
在 Python 第 30 行中使用此代码:https://hastebin.com/yirahekeju.py
有人知道为什么这种情况一直发生吗?
它一直在发生,因为你没有以正确的方式使用它 - nfqueue.Packet 有一套不同的方法,它不支持 getitem:https://pypi.python.org/pypi/NetfilterQueue
它可能是这样工作的:
def check(packet):
scapy_pkt = IP(packet.get_payload())
print scapy_pkt.src # source IP address
print scapy_pkt.dst # dest IP address
# ... work with scapy_pkt