首页 > 解决方案 > 如何发送UDP长度为0且无数据的UDP数据包

问题描述

我正在尝试重现实时网络中发生的问题。每当有 UDP 长度为 0 的数据包到来时,我的网络设备就会崩溃。因此,要在我的实验室中重现相同的场景,我需要发送一个 UDP 长度为 0 且没有数据块的 UDP 数据包。

我该怎么办?

标签: networking

解决方案


你没有说你想使用哪种语言,但你的个人资料显示了一些 Python 活动,所以这里是如何在 Python 中做到这一点:

import socket
import time

dest_addr = '10.9.87.64'  # the destination address or hostname
dest_port = 1234          # the destination port

usock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)

while True:
    usock.sendto('', (dest_addr, dest_port))
    time.sleep(10)

这会创建一个名为的 UDP 端点usock,然后永远循环,通过该端点将一个空字符串(产生一个长度为零的数据报)发送到指定的目的地,然后在重复之前等待十秒钟。


推荐阅读