【问题标题】:cannot get dport from a UDP packet using python and scapy无法使用 python 和 scapy 从 UDP 数据包获取 dport
【发布时间】:2023-02-09 18:58:12
【问题描述】:

尽管已经导入了我发现必要的东西,但我似乎无法从已经嗅探到的 UDP 数据包中获取 dport。

    from scapy.layers import *
    from scapy.layers.inet import UDP, IP
    from scapy.sendrecv import send, sniff 

    packet = sniff(filter="UDP and src='127.0.0.1'", count=1)
    print(packet[UDP].dport)  

这段代码应该打印我自己发送的 UDP 数据包的目标端口。 相反,发生了一个错误,显示为“AttributeError:‘list’对象没有属性‘dport’” 我搜索了无数文档站点,但没有发现错误。提前致谢。

【问题讨论】:

    标签: python udp scapy


    【解决方案1】:

    sniff 返回它捕获的数据包列表,即使您在捕获一个数据包后停止(count=1)。所以只需更换:

    print(packet[UDP].dport)
    

    和:

    print(packet[0][UDP].dport)
    

    这应该有效。

    【讨论】:

      猜你喜欢
      • 2019-12-23
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      相关资源
      最近更新 更多