通过netcat将十六进制字符串发送到远程

时间:2017-05-11 15:33:56

标签: netcat

我有一些二进制命令(我表示为十六进制),我需要发送到远程设备(它是一个嵌入式数据收集设备)并观察回复。

使用netcat轻松连接到它

nc -v 192.168.200.34 19000

它坐在那里作为一个蛤蜊​​开心。

我需要在终端输入的十六进制字符串然后发送类似于:

  

02:45:31:38:03:34:43:0D:0A

其中02是STX,03是ETX,依此类推。

但是当我将它输入我的netcat窗口(有或没有空格,有或没有冒号)时,netcat将其作为ascii传输。

所有文献都很高兴告诉我如何从远程设备捕获hexdump,而不是如何将二进制/十六进制数据传输到远程设备。

这是一件容易的事吗,还是我错过了什么?

1 个答案:

答案 0 :(得分:3)

echo -n -e“\ x02 \ x45 \ x31 \ x38 \ x03 \ x34 \ x43 \ x0d \ x0a”| nc< -ip-addr-> < -port-NO->

  • -n压缩输出尾随换行符。
  • -e可以解释反斜杠转义 - 允许我们 发送十六进制代码。
  • 'x'在每个字符指定该字节为十六进制形式之前。