首先,我认为这是Vmware 问题。
但是现在,在几台物理机上测试后,我发现当使用 socat/netcat 1.1(应该是自上次更新以来的最新版本)时某些服务没有返回响应数据。
root@test3:~# netcat 192.168.1.2 25
220 762462a8c4d Microsoft ESMTP MAIL
Service, Version: 6.0.2600.5949 ready
at Fri, 12 May 2010 18:04:20 +0600
EHLO localhost
sdfsafsd
^
root@test3:~#
我在 windows 和 linux 上都测试过了,telnet 没有问题。
答案1
Windows 及其服务喜欢在回车符 (CR) 后附加换行符 (LR)。您的 shell 不会自动生成 LF。因此,在您的示例中,不会向接收服务器提交任何命令。
您可以在每行末尾输入Ctrl+ v, Enter, ,手动在 CR 旁边插入 LR 。它将显示为,然后显示换行符。然后您应该会收到来自服务器的相关响应。Enter^M
如果您使用 OpenSSLs_client
与 SSL 服务通信,那么您可以使用参数-crlf
自动为您完成此操作。
答案2
您确定不需要运行类似的命令netcat 192.168.1.2 25
然后输入EHLO
吗?
从你的问题来看,你输入的命令好像netcat 192.168.1.2 25 220 762462a8c4d Microsoft ESMTP MAIL Service, Version: 6.0.2600.5949 ready at Fri, 12 May 2010 18:04:20 +0800 EHLO SAYHELLO VRFY TEST@LOCALHOST
是netcat 192.168.1.2 25