TCPing 和 telnet 有什么区别?
都能测端口通不通,但定位完全不一样。
做的事情其实一样
telnet 的本质就是发起一次 TCP 连接。你敲 telnet host 443,它就去握手,连上了就显示 Connected,连不上就报 refused 或者超时。
TCPing 做的也是这件事,只不过它握手完就主动断开,不进入交互界面,然后把耗时记下来。
所以从协议层面看,两者测的是同一个东西。
差别在用法
telnet 是交互式工具。你得一台机器一台机器地敲,一次只能测一个来源,结果靠人眼看。测一两个端口还行,测十个地区就是体力活。
TCPing 是为批量检测设计的。一次提交,几十个节点并发发起,结果自动汇总成表格和地图,哪个地区通、哪个地区不通、各自耗时多少,一屏看完。
这就是核心差异:一个是手工探针,一个是批量扫描。
结果粒度也不同
telnet 只告诉你通或者不通,不给耗时统计,也没法对比。
TCPing 会给出每个节点的握手耗时、最快最慢、平均值、成功率。排查跨地域问题时,这些数字才是判断依据。
什么时候用哪个
在服务器上临时确认一个端口,用 telnet 最快,不用打开浏览器。
要判断「全国用户能不能连上」「某个省是不是被挡了」「跨运营商差异有多大」,用 TCPing,手工 telnet 得不出这个结论。
顺便说一句,很多新系统默认不装 telnet 客户端,还得先 yum install telnet 或者 apt install telnet。TCPing 打开网页就能用,省掉这一步。