问题
有时候我们会遇到这样的问题,ping 一个 IP 地址是 ok 的,但是 Telnet 端口就不通,而在其他环境测试是 ok的,那么怎么判断是哪里出了问题呢?
这个时候我们可以使用 traceroute 来测试,但是默认 traceroute 是发送 ICMP 包的。因此我们要指定其使用 tcp 协议并指定要检测的端口,具体如下
traceroute -n -T -p [port] ip
-n 直接使用 IP 地址
-T 使用 tcp 协议
-p 指定端口
ip 需要检测的目标 IP
比如说我们测试,下面这个图就说明这个目标 IP 的 80 端口是可达的。
但是下图到第 9 跳124.160.189.226 就不通了。说明从这一跳后面 80端口就被干掉了。而这一跳是联通的,因此需要反馈联通运营商确认下。
结果
果然是被杭州联通拉黑了,导致无法访问,但是其他网络,比如电信是没问题的。