5

ソケット経由で動作するサーバー サービスが既にあり、netcat 経由でテストしたいと考えています。Mac OS X Lion を使用しています。現在、ポート経由でサーバーに接続してパケットを送信できますが、パケットに間違った値が含まれています。詳細は次のとおりです。

「m」記号をサーバーに送信する必要があり、サーバーは応答としてゼロバイトの 00000000 を返します。サーバー担当者は、「m」を送信するとサーバーは「A0」を受信し、「109」を送信するとサーバーは「313039A」を受信すると言いました。送信フォーマットなどを定義するには、「m」(01101101) を送信するだけでよいのですか?

4

1 に答える 1

17

「m」だけを送信できます

echo -n 'm' | nc <server> <port>

ローカル マシンで何を送信しているかを簡単に確認できます。

# in one Terminal start the listener:
$ nc -l 1234 | hexdump -C
00000000  6d                                                |m|
00000001

# in other Terminal send the packet:
$ echo -n 'm' | nc 127.0.0.1 1234

nc は問題なく NUL バイトを送受信します。問題はありません。

# sending side
$ echo -n X | tr X '\000' | nc 127.0.0.1 1234

# receiving side
$ nc -l 1234 | hexdump -C
00000000  00                                                |.|
00000001
于 2012-02-07T14:35:14.453 に答える