首先telnet软件内置的只有一个telnet协议,没有其他的http协议和smtp协议什么的
telnet工作时会打开一个tcp连接,
如果连接的端口是一个telnet服务器,这时这两个服务器可以用nvt命令进行选项协商,子选项协商等,这些是telnet协议规定好的。选项协商好之后,也就是执行了telnet协议,建立了一个远程终端,之后你就在远程主机上可以输入命令了。
如果你用telnet去连接一个smtp协议的端口,会怎么样呢。
首先进行tcp连接三步握手
但是smtp并不能与telnet进行选项协商。smtp端口只会对smtp协议中规定的命令响应 比如HELO: 你好,MAIL FROM:指定邮件来自于谁,RCPT TO:指定邮件发送给谁。所以我们可以在telnet建立的tcp连接通道中发送smtp协议的命令,也就可以与smtp端口进行交互了。也就是我们手动输入了协议。
所以通常我们也用telnet测试端口的连通性。
这个网页上有很多telnet可以连接的端口,有很多有趣的小游戏,可以试试。