如何在Python中使用scapy和nfqueue从数据包中获取ip?

时间:2017-03-12 09:50:07

标签: python python-3.x scapy netfilter

好的,所以我已经尝试过使用packet["IP"].src,但它一直在抛出这个错误:

  

Exception TypeError:“'netfilterqueue.Packet'对象没有属性   'netfilterqueue.global_callback'中的' getitem '“被忽略

在Python第30行中使用此代码:https://hastebin.com/yirahekeju.py

任何人都知道为什么会这种情况继续发生?

1 个答案:

答案 0 :(得分:0)

它一直在发生,因为你没有以正确的方式使用它 - 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