如何使用命令行 telnet 客户端打开原始连接 - 就像 PuTTY 一​​样?

如何使用命令行 telnet 客户端打开原始连接 - 就像 PuTTY 一​​样?

我需要使用 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,在选项卡中打开一个moxashell,没有本地回显:(参数是 moxa 端口号)

function moxat(){
  mate-terminal --tab --title="moxa1 $1" -e "bash -c 'stty raw -echo && \ 
  nc <ip> $1 && stty sane'" 
}

相关内容