如何使用netcat将一个字节符号发送到服务器套接字?

Cen*_*ion 4 sockets netcat

已经通过套接字提供了有效的服务器服务,我想通过netcat进行测试.我正在使用Mac OS X Lion.目前,我可以通过端口连接到服务器,发送数据包,但数据包包含错误的值.以下是详细信息:

我需要向服务器发送'm'符号,服务器将返回00000000,一个零字节作为响应.服务器人告诉我,当我发送'm'时服务器收到'A0',当我发送'109'时服务器收到'313039A'.如何定义发送格式或其他东西,我只需要发送'm'(01101101)?

Sim*_*nek 16

你可以发送"m"

echo -n 'm' | nc <server> <port>
Run Code Online (Sandbox Code Playgroud)

您可以轻松检查您在本地计算机上发送的内容:

# 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)