做网工,日常工作比较多的一项就是检查业务状态,比如设备是否可达,服务运行是否正常。之前曾发过一篇(简单网络问题自查),今天再补充两个业务相关的检查方法。
Ping检测
最常用的检测方式,也是众多平台基本上都支持的检测方式。比如我们发现某个业务系统不可用了或服务不可达了,就会直接去ping这个IP地址或者域名,相关的操作及排障方法之前有过简单介绍,可以参考(简单网络问题自查)。
Telnet检测
现在网络安全十分重要,为了避免被不法分子扫描甚至利用漏洞进行攻击,很多主机、网络设备等都要关机对ICMP探测报文的响应,也就是常说的禁ping;甚至有些网络设备也要关闭TTL的请求报文响应,来避免漏洞攻击。网络设备关闭网络路径探测的命令参考如下:
这个时候,通过简单的ping操作来测试可达性就不准确了,需要进一步检测提供服务的端口是否有响应。
一般常用的命令就是Telnet,网络设备基本上都可以直接支持。Windows操作系统也可以支持,但一般是关闭的,需要在服务中进行单独开启。
Windows中打开“控制面板”→“程序”→“打开或关闭Windows功能”,选择“Telnet客户端”,点击“确定”。再次打开CMD,就可以使用了。
而在最小化安装的Linux中,默认是不支持Telnet的,需要单独安装。
测试时,需要使用IP地址加端口号,如果返回信息是connected或者有回显,那就说明对应端口开放并且可以提供服务。
如果端口下没有对应的服务,会一直提示trying或者connecting,直到请求超时;而如果是被主机阻断,则会返回请求被拒绝。
NMAP检测
虽然Telnet很强大,但是Telnet无法检测UDP端口的状态,此时我会用一个叫做nmap的端口扫描工具。
使用nmap加IP地址,默认扫描TCP端口状态。可以看到扫描结果中开放的端口及对应的服务信息。
结果中将未开启的端口进行了合并,如果只想查看指定端口的状态,可以使用-p参数带端口号进行探测。
对于UDP的端口状态,可以带参数-sU进行扫描。
以扫描UDP 161端口(SNMP协议)为例,在设备开启SNMP服务的情况下,可以看到状态为open。如果在设备上关闭SNMP,再次探测。
可以看到161端口状态为open|filtered,开始以为是端口开放,但是不提供服务;后来测试开启SNMP服务但是拒绝目的端口为161的UDP请求效果一样,才发现这个open|filtered状态等同于TCP端口的closed状态。
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/423753.html