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

标签 sockets netcat

已经有一个通过套接字工作的服务器服务,我想通过 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

关于sockets - 如何使用netcat将一字节符号发送到服务器套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178040/

相关文章:

Python socketserver - 与 threading.Lock() 交互?

c++ - 如何通过套接字发送所有数据?

c++ - 如何在等待时取消 `boost::asio::read` 操作

c# - 需要帮助设计进程间通信层

bash - 删除<某些命令> | netcat 通过 ssh 到后台

pipeline - 为什么管道内容到命令 nc 不起作用?

android - 如何正确获取服务器消息

Netcat 自动响应

java - Java中的Netcat通信

networking - 从UDP数据包中获取IP地址和端口