创建自定义 UDP 数据包
Creating Custom UDP Packet
我正在尝试与我的联网煤气炉接口。厂家告诉我可以在UDP端口3300上与它通信。
他说我可以将带有信息"SEARCH_FOR_FIRES"的数据包发送到本地子网地址以接收响应。
数据包应该以15个字节组成,如下:
字节 1:起始字节 (0x47 'G')
字节 2:命令 ID
字节 3:数据大小
字节 4-13:数据
字节 15:CRC
字节 15:结束字节 (0x46 'F')
他们给出了 0x473100000000000000000000003146 作为例子。 31 是 "SEARCH_FOR_FIRES" 命令的命令 ID。
唯一的问题是我不知道如何创建这些数据包...我正在使用 Packet Sender 的 Windows 版本,它让我可以选择输入 ASCII 或 HEX 值。到目前为止我有:
十六进制:47 31 00 03 01 46
ASCII:G1[=32=]F
但是 none 似乎有效,但我不知道如何找到 0x473100000000000000000000003146 的 HEX 等价物。
有人可以帮忙吗?
嗯,这听起来很奇怪,但是 0x473100000000000000000000003146 的十六进制等价物是... 0x473100000000000000000000003146 本身 :) “0x” 代表十六进制表示,其后跟十六进制数字,因此您需要传递“47 31 00 000 00 00 00 00 00 00 00 31 46" 到数据包发送方。
顺便问一下,你知道设备在成功发送数据包后会发生什么吗?设备是否应该执行一些明显的处理 "SEARCH_FOR_FIRES" 命令的指示?有可能该设备会在 UDP 数据包中悄悄地向您发送一些报告,因此您可能需要设置网络捕获(例如 wireshark)以查看和分析响应。
我正在尝试与我的联网煤气炉接口。厂家告诉我可以在UDP端口3300上与它通信。
他说我可以将带有信息"SEARCH_FOR_FIRES"的数据包发送到本地子网地址以接收响应。
数据包应该以15个字节组成,如下:
字节 1:起始字节 (0x47 'G') 字节 2:命令 ID 字节 3:数据大小 字节 4-13:数据 字节 15:CRC 字节 15:结束字节 (0x46 'F')
他们给出了 0x473100000000000000000000003146 作为例子。 31 是 "SEARCH_FOR_FIRES" 命令的命令 ID。
唯一的问题是我不知道如何创建这些数据包...我正在使用 Packet Sender 的 Windows 版本,它让我可以选择输入 ASCII 或 HEX 值。到目前为止我有:
十六进制:47 31 00 03 01 46 ASCII:G1[=32=]F
但是 none 似乎有效,但我不知道如何找到 0x473100000000000000000000003146 的 HEX 等价物。
有人可以帮忙吗?
嗯,这听起来很奇怪,但是 0x473100000000000000000000003146 的十六进制等价物是... 0x473100000000000000000000003146 本身 :) “0x” 代表十六进制表示,其后跟十六进制数字,因此您需要传递“47 31 00 000 00 00 00 00 00 00 00 31 46" 到数据包发送方。
顺便问一下,你知道设备在成功发送数据包后会发生什么吗?设备是否应该执行一些明显的处理 "SEARCH_FOR_FIRES" 命令的指示?有可能该设备会在 UDP 数据包中悄悄地向您发送一些报告,因此您可能需要设置网络捕获(例如 wireshark)以查看和分析响应。