文章目录
一、引言
在生产环境中,我们需要测试本机端口是否开放来判断服务异常是否是网络问题导致的,尤其在有映射的情况下,映射的是否正确也是需要检测的。网上的资料有很多,但是都比较杂,说的也不详细,我在这里进行整理归纳,方便初学者学习,力求讲清楚讲明白。
测试端口是否开放的工具有Telnet、nc、nmap。
测试环境为虚拟机Centos7,服务器1 ip为192.168.88.100,以ssh服务监听的tcp 22端口和dnsmasq服务监听的udp 67端口;服务器2 ip为192.168.88.101,也开启了ssh服务和dnsmasq服务,22端口和67端口都处于监听状态:
二、确认端口是否处于监听状态以及是否有防火墙阻止了对该端口的访问
用以上工具测试端口是否开放前需要先保证端口是否处于监听状态,端口处于监听状态代表有服务在该端口上等待连接,这种情况下才能开始测试端口是否开放,此外还需要查看防火墙是否阻止了对该端口的访问。
2.1 查看端口是否处于监听状态
可以看到TCP 22端口和UDP 67端口都处于监听状态
[root@node1 mysql]# netstat -tulnp | grep 22 | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1097/sshd
tcp6 0 0 :::22 :::* LISTEN 1097/sshd
[root@node1 mysql]# netstat -tulnp | grep dnsmasq | grep 67
udp 0 0 0.0.0.0:67 0.0.0.0:* 1551