上次排查办公服务器访问异常的故障,翻遍零散教程硬磕实操,一点点摸索如何telnet端口,全程徒手试错,没借助任何第三方工具,终于摸清了Windows和Linux系统下最朴实的操作方式,也记下了绝大多数新手都会踩的隐形误区。
当时的故障很模糊,内网设备能正常互通,唯独指定业务端口对外无法访问,运维同事只丢了一句让测下端口通不通,就没再多说。打开电脑第一反应就是直接敲telnet指令,结果回车之后直接弹出命令无效的提示,愣了好久,一直以为是自己输入的IP和端口格式写错,反复删减空格、重新输入数字,来回试了十多遍,最后桌面右下角弹出的系统提示才点醒我,原来Windows默认系统是关闭telnet功能的,根本不是指令格式的问题,白白浪费了二十多分钟得时间。
这是最基础的前置门槛。
折腾好久才搞明白,Windows系统需要手动开启telnet客户端功能。当时是打开控制面板,找到程序和功能,点击启用或关闭Windows功能,在弹出的弹窗里勾选Telnet客户端,点击确定等待几秒安装完成,全程不需要重启电脑,安装完就能直接使用指令,很多人卡在这里,就是不知道系统自带功能是默认禁用的,瞎折腾半天找不到问题根源。
搞定前置设置后,才正式开始实操测试,正确的指令格式其实特别简单,就是telnet 目标IP 端口号,中间只需要一个空格隔开就行,没有多余的符号和参数,也不需要复杂的权限设置。当时测试的是服务器8080业务端口,输入telnet 192.168.1.100 8080,回车之后,屏幕直接跳转成空白黑屏界面,没有任何文字提示,一开始以为又是操作失败,准备关掉窗口重来,后来才反应过来,空白界面其实就是端口连通成功的信号,代表目标端口正常开放、可以正常对接数据,设备之间的网络链路是通的。
端口不通的状态我也当场试了一遍。
随便换了一个未启用的9999端口,输入相同格式指令后,系统直接提示无法打开到主机的连接,在端口9999上:连接失败。这个反馈特别直观,一眼就能区分端口开放和关闭的状态,不用靠猜,也不用对照任何教程解读反馈信息,两种结果的界面差异特别明显,新手零基础操作也能快速判断端口状态。
Linux系统的操作会更省事一点,不用提前开启任何功能,终端直接输入同款telnet指令就能运行。当时切换服务器终端测试,输入指令后,通断的反馈逻辑和Windows完全一致,唯一的区别就是Linux黑屏连通后,退出需要按Ctrl+]再输入quit回车,Windows直接关闭窗口就可以,很多人测试完不知道怎么退出,卡在空白界面手足无措,误以为是操作出错,直接强制关闭终端,白白重复测试。
那天忙完所有端口测试,关掉终端窗口的时候,电脑桌面还停留在一堆试错的命令行记录,密密麻麻的字符看得眼睛发酸。