2017-05-11 84 views
0

我有一些二進制命令(我表示爲十六進制),我需要發送到遠程設備(它是一個嵌入式數據收集設備)並觀察答覆。通過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,但不知道如何將二進制/十六進制數據傳輸到遠程設備。

這是一件容易的事,或者我錯過了什麼?

回答

0

echo -n -e「\ x02 \ x45 \ x31 \ x38 \ x03 \ x34 \ x43 \ x0d \ x0a」| NC < -ip-addr-> < -port-NO->

  • 的-n supresses輸出尾隨換行符。
  • -e啓用反斜槓轉義的解釋 - 允許我們 發送十六進制代碼。
  • 每個字符前的'x'指定該字節爲十六進制形式。
+0

歡迎來到Stack Overflow!雖然這段代碼可能會解決這個問題,但包含一個解釋確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要使用解釋性註釋來擠佔代碼,因爲這會降低代碼和解釋的可讀性! –

+0

感謝您的意見@RamKoti。我儘可能多地添加了解釋。 – rahul1205

相關問題