如何检测网络中的以太网设备(UDP)

2024-06-14 05:55:32 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好,我需要在我的电脑和气候室之间建立通信

它需要Modbus TCP,但首先我必须用UDP数据报检测我在网络中的房间

在制造商的文档中,他们说,对于腔室检测,我必须发送UDP广播(255.255.255.255)和"GetConfigDirect"(ASCII)。UDP端口是9001

我应该会收到一份关于密室信息的答复,但我什么也没收到

我用的是Scapy,我写了这个:

packet = IP(dst="255.255.255.255") / UDP (dport = 9001) / Raw(load="GetConfigDirect")

我也试过:

packet = IP(dst="255.255.255.255") / UDP (dport = 9001) / Raw(load="GetConfigDirectCRLF")

因为上面写着电报必须以CRLF结尾

packet = IP(dst="255.255.255.255") / UDP (dport = 9001, sport=1900) / Raw(load="GetConfigDirect")

因为当我使用cmd执行netstat -a操作时,它是我计算机的五个UDP端口之一

当我发送带有send(packet)的数据包时,我有以下信息:

WARNING: Mac address to reach destination not found. Using broadcast.

我可以通过DNS协议在Wireshark上看到我的数据报

有了sendp(packet),什么都没有

如果我做了srp(packet),我有:

INFO: DNS RR prematured end (ofs=9, len=9)

很多次。所有的数据包都收到了,我没有得到答复

最后,我还可以通过Wireshark上的ICMP协议看到目的地不可访问(端口不可访问)

Picture of Scapy & Wireshark

Picture of the documentation

我的问题是:我为什么会有这些错误,我如何解决我的问题/我如何才能收到文件中提供的商会信息


Tags: 数据端口ip信息rawpacketdnsload