Linux命令追踪端口路由命令
用 telnet 只能确认端口通不通,如果卡住或者连不上,它确实没办法告诉你到底是哪一跳(哪个节点)断了。
在 Linux 上,如果你想看去往阿里云 10050 端口的具体路由路径,必须使用支持 TCP 协议 的路由追踪工具。因为普通的 traceroute 默认用 UDP 或 ICMP 协议,这些流量通常会被阿里云的安全策略或沿途的防火墙直接拦截,导致你只能看到一堆问号(* * *)。
你可以尝试以下几个最有效的命令:
1. mtr(最推荐,动态看路由和丢包)
mtr 把 ping 和 traceroute 的功能结合在了一起,而且支持指定 TCP 端口。它会实时刷新,能非常直观地看出哪一个 IP 开始丢包。
# 如果系统没安装,先安装它:sudo apt install mtr -y # Ubuntu/Debiansudo yum install mtr -y # CentOS/RHEL# 使用 TCP 协议探测 10050 端口 (-T 表示 TCP,-P 指定端口)mtr -T -P 10050 <阿里云IP>
2. traceroute(指定 TCP 端口模式)
传统的路由追踪工具,加上 -T 参数后可以改用 TCP 三次握手去探测,这样就能穿透大部分防火墙。
# 如果系统没安装,先安装它:sudo apt install traceroute -ysudo yum install traceroute -y# 测试 10050 端口 (-T 表示 TCP,-p 指定端口)traceroute -T -p 10050 <阿里云IP>
3. tcptraceroute(专门走 TCP 的经典工具)
如果你的系统比较老,traceroute -T 参数不生效或报错,可以用这个专门的替代工具:
# 安装sudo apt install tcptraceroute -ysudo yum install tcptraceroute -y# 直接后面跟 IP 和 端口tcptraceroute <阿里云IP> 10050