我可以使用两者nc
来telnet
连接到端口 25。
$ nc 192.168.1.120 25
220 localhost ESMTP Exim 4.68 Tue, 29 Dec 2020 06:07:27 +0000
$ telnet 192.168.1.120 25
Trying 192.168.1.120...
Connected to 192.168.1.120.
Escape character is '^]'.
220 localhost ESMTP Exim 4.68 Tue, 29 Dec 2020 06:07:32 +0000
我试图理解nc
和之间的区别telnet
。虽然这里有一些讨论,但它并没有根据上述例子进行解释。
有人可以用上面的例子解释一下nc
和之间的区别吗?telnet
对于这个例子,它们两个都可以用得到相同的结果吗?谢谢。
答案1
在您给出的 SMTP 示例中,它们所做的事情几乎相同。
Telnet 是为人们设计的(想想终端仿真器)。它只适用于 TCP,并且不能处理键盘无法很好地输入的 ASCII 字符。它是互联网上最早的程序之一,在安全尚未普及的时代,它被用来连接远程机器。
nc - netcat - 更新得多,设计用于与二进制输出的程序/管道(我相信也适用于 UDP 协议)配合使用。如果有疑问,nc 是一个更好的工具,但 telnet 更普遍。