问题描述
以前本人以为 telnet 通 ping 一定也是通的,telnet 能通,表示两台计算机之间建立了连接通道。理论上是能 ping 通的。
但是今天万万没想到,并不是这样...
原因分析
如果不能 ping 通,可能的原因是对方主机关闭了 ping 回显,或者是对方的防火墙阻止了 ping 发送的数据包。
对方机器提供了 telnet 23 端口的服务,所以能 telnet ,但禁用了 ping 功能,因此你不能 ping 到对方的机器。因为 telnet 和 ping 的协议是不一样!
附加
ping 和 telnet 区别
- ping:用来检查网络是否通畅或网络连接速度(Ping域名可以得出解析IP)
- telnet:用来检查指定 IP 是否开放指定端口的,或者说目标主机是否启用了对应的端口应用
说明
Ping 不通并不一定代表网络不通。ping 是基于 ICMP 协议的命令,就是你发出去一个数据包,对方收到后返给你一个!就好比声纳。这个协议是可以禁止的!禁止后,如果你 ping 对方,对方收到后就不回馈给你,这样你就显示无法 ping 通,但实际你们还是连着的!telnet 是登陆服务器的!服务没禁止就能登陆
Windows 开启 Telnet 功能
对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具。一旦入侵者与远程主机建立了Telnet连接,入侵者便可以使用目标主机上的软、硬件资源,而入侵者的本地机只相当于一个只有键盘和显示器的终端而已。
启动 telnet:控制面板 => 程序 => 程序和功能 => 启用或关闭 Windows 功能 => 勾选 Telnet 的两个选项
若显示如下,则为未启用 Telnet 客户端
打开 cmd 窗口,输入 telnet,如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;端口打开的情况下,链接成功,则进入 telnet 页面(全黑的),证明端口可用