如何用命令行或批处理向192.168.0.80:8888发送十六进制字节数组
在命令提示符或批处理中通过UDP发送指定十六进制数据的方法
方法一:用Windows自带PowerShell(无需额外工具)
Windows系统自带的PowerShell可以直接实现UDP发送,不用额外下载工具。你可以在命令提示符里直接执行下面的命令,或者把它保存成.bat批处理脚本运行:
powershell -Command "$bytes = [byte[]]@(0x02,0x01,0x65,0xC9,0x00,0x02,0x01,0x06); $udpClient = New-Object System.Net.Sockets.UdpClient; $udpClient.Connect('192.168.0.80', 8888); $udpClient.Send($bytes, $bytes.Length); $udpClient.Close()"
这段命令先把你指定的十六进制转换成字节数组,然后创建UDP客户端连接目标设备的IP和端口,发送数据后关闭连接。
方法二:使用netcat(nc)工具(需额外下载)
如果习惯用netcat工具,需要先下载Windows版本的netcat(推荐用Nmap附带的ncat,比旧版nc更安全)。步骤如下:
- 先把十六进制数据转成二进制临时文件:
powershell -Command "[byte[]]@(0x02,0x01,0x65,0xC9,0x00,0x02,0x01,0x06) | Set-Content -Path 'udp_data.bin' -Encoding Byte"
- 用netcat发送这个二进制文件:
ncat -u 192.168.0.80 8888 < udp_data.bin
如果是旧版netcat,把命令里的ncat换成nc即可。
要是想做成批处理脚本一键执行,还可以加上删除临时文件的步骤:
@echo off powershell -Command "[byte[]]@(0x02,0x01,0x65,0xC9,0x00,0x02,0x01,0x06) | Set-Content -Path 'udp_data.bin' -Encoding Byte" ncat -u 192.168.0.80 8888 < udp_data.bin del udp_data.bin
内容的提问来源于stack exchange,提问作者Denis Schaf
相关产品推荐
相关产品推荐

