【问题标题】:send udp packets from a specific ip从特定 ip 发送 udp 数据包
【发布时间】:2021-08-12 14:56:55
【问题描述】:

我需要模拟一些 udp 设备发送具有特定 ip 的 udp 数据包(例如 10.20.30.40)。

有可能吗?因为在所有 udp 服务器示例中,我看到 ip 是 127.0.0.1。

我更喜欢用 python 来做,但也欢迎其他方式。

【问题讨论】:

    标签: python udp


    【解决方案1】:

    使用 Python 可以做到这一点的一种方法是使用 scapy。示例:

    import scapy.all
    packet = scapy.all.Ether() / scapy.all.IP(src='10.20.30.40') / scapy.all.UDP()
    packet.show2()
    

    show2() 方法将显示数据包是如何设置的,其中包括源 IP:

    然后您可以使用例如scapy.all.sendp(packet) 发送数据包。对于初学者,您可以发送数据包并在目标计算机上使用wireshark 来查看它是否按预期到达那里。

    请注意在野外伪造源 IP,这可能会给您带来麻烦。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-20
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 2011-09-15
      • 2012-05-17
      相关资源
      最近更新 更多