我经常看到人们这样测试端口:
//shell
telnet ip-address 80
telnet ip-address 25
AFAIK telnet 是访问远程设备的旧方法 - 对吗?或者我是这么想的...
例如,为什么您可以通过 telnet 连接到 smtp 端口?
答案1
这是为了方便,但也是低于用户级别的诊断。您可以通过这种方式隔离服务遇到的问题,例如:Joe 有一个数据库服务器和客户端。他们没有沟通。问题出在网络上吗?服务器?客户端?
Joe 转到客户端计算机并打开 shell。他使用 telnet,正如您所描述的:
telnet server.ip.com 3333
并输入命令,就好像他是客户端程序一样
WHO;
服务器回复
'11','JOE.CORP.COM'
(这是一个非常愚蠢的服务器)
这样,Joe 就知道到服务器的网络链接正常,并且他的客户端可能配置不正确。
答案2
Telnet 是一个非常简单的协议,您在客户端中输入的所有内容(少数例外)都会传输到网络上,而来自网络的所有内容都会显示在您的终端上。例外是 0xFF 字节,它设置了一些特殊的通信状态。只要您的通信不包含此字节,您就可以使用 telnet 作为任何 TCP 端口上的原始通信客户端。
换句话说:这纯粹是为了方便。
答案3
例如,为什么您可以通过 telnet 连接到 smtp 端口?
因为smtp
和 telnet 协议都是以纯文本形式实现的。因此,使用telnet
客户端,您基本上可以使用实现纯文本的特定协议连接到任何端口,并且您知道如何使用该协议进行通信。
答案4
为什么不使用 netcatnc
而使用 telnet?
我们在测试工具 dda-serverspec - 精确命令中使用 netcat
nc [host] [port] -z -w [timeout]