2017-05-11 36 views
0

私はリモートデバイス(埋め込みデータ収集デバイス)に送信する必要があるいくつかのバイナリコマンド(16進数として表現しています)を取得し、その応答を観察しています。netcat経由でリモートに16進文字列を送信する

それはnetcatを

nc -v 192.168.200.34 19000 

とそれに接続するのは簡単だし、貝のようにそこに幸せに座っています。

私は、端末で入力して送信する必要がある16進数文字列のようなものです:

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

02はSTX、03はETXなどです。

しかし、これを私のnetcatウィンドウに入力すると(スペースの有無にかかわらず、コロンの有無にかかわらず)、netcatはasciiとしてそれを送信します。

リモートデバイスからhexdumpをキャプチャする方法を教えてください。バイナリ/ 16進数のデータをリモートデバイスに送信する方法は教えてください。

これは簡単なことですか、何か不足していますか?

答えて

0

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

  • 末尾の改行を出力-n supresses。
  • -eは、バックスラッシュエスケープの解釈を有効にします。 が16進コードを送信できるようにします。
  • 各文字の前に「x」が付加され、そのバイトが16進形式であることが指定されています。
+0

ようこそスタックオーバーフロー!このコードスニペットは質問を解決するかもしれませんが、説明を含めて本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。また、コードと説明の両方の可読性が低下するため、説明的なコメントを使用してコードを混乱させないようにしてください。 –

+0

入力いただきありがとうございます@ Ramkoti。私はできるだけ多くの説明を加えました。 – rahul1205

関連する問題