![如何使用命令行 telnet 客户端打开原始连接 - 就像 PuTTY 一样?](https://linux22.com/image/20955/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%20telnet%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%89%93%E5%BC%80%E5%8E%9F%E5%A7%8B%E8%BF%9E%E6%8E%A5%20-%20%E5%B0%B1%E5%83%8F%20PuTTY%20%E4%B8%80%E2%80%8B%E2%80%8B%E6%A0%B7%EF%BC%9F.png)
我需要使用 telnet 与不是标准 Telnet 服务器的套接字服务器进行通信。我不希望进行任何 Telnet 协商或对数据进行任何类型的干扰。
这在 PuTTy 中可以作为“原始模式”使用,我需要在 Linux 中具有相同的功能。
答案1
使用netcat,它提供命令行原始套接字,一个非常方便的实用程序,当不需要加密时,我经常使用它在服务器之间移动数据,例如:
服务器1
# nc -l -p 1234 | zcat | mysql -u root databaseName
服务器2
# mysqldump -u root databaseName | gzip | nc Server1 1234
答案2
冒着听起来很愚蠢的风险,为什么不直接使用 PuTTY 呢?如果您已经喜欢它提供的功能,只需运行它即可。 PuTTY 可用于Linux 或 Windows
正如评论中已经指出的那样,telnet 并不是原始的 - 它期望遵循某些协议。
答案3
您可以使用 telnet 连接到任何端口,前提是有某个端口正在侦听并且未被防火墙阻止。
telnet alt1.aspmx.l.google.com 25
telnet google.com 80
一切都会很好。但是,您必须知道连接的另一端使用什么协议,否则毫无意义。
请注意,telnet 发送的数据包未加密。
答案4
这么多年过去了,仍然具有现实意义。
这在 中工作得很好~/.bash_aliases
,在选项卡中打开一个moxa
shell,没有本地回显:(参数是 moxa 端口号)
function moxat(){
mate-terminal --tab --title="moxa1 $1" -e "bash -c 'stty raw -echo && \
nc <ip> $1 && stty sane'"
}