已经有一个通过套接字工作的服务器服务,我想通过netcat测试它。 我正在使用Mac OS X Lion。 目前,我能够通过端口连接到服务器,发送数据包,但数据包包含错误的值。以下是详细信息:
我需要向服务器发送'm'符号,服务器将返回00000000,即零字节作为响应。 服务器人员告诉我,当我发送'm'时,服务器接收到'A0',当我发送'109'时,服务器接收到'313039A'。如何定义发送格式或其他内容,我只需要发送'm'(01101101)?
您可以通过以下方式仅发送 "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
0x31 0x30 0x39
。 - cnicutar