一般针对Linux端口的连通性测试,都会采用telnet工具,但是telnet工具只能测试tcp端口,对于udp的端口需要使用nc工具进行测试。
TCP端口测试
安装telnet
yum install -y telnet
telnet工具测试命令为:
telnet <host> <port>
测试效果:
端口不通:(此时,禁掉tcp 22端口)
端口通:(此时,放开22端口)
UDP端口测试
安装nc
yum install -y nc
nc工具测试命令为:
nc -vuz <目标服务器 IP> <待测试端口> 其中, -v 详细输出 -u 使用UDP传输协议 -z 让nc只扫描端口,不发送任何的数据(nc版本不同,可能没有 -z参数)
测试效果:
端口不通:(此时,把UDP端口1-59999全部禁掉; iptables -A INPUT -p udp --dport 1:59999 -j DROP)
端口通:(此时,放开UDP端口,iptables -F)
说明:
nc测试UDP端口的 返回结果,和常规的理解不一样。 返回success时,代表防火墙拒绝了UDP端口访问,即该端口不通;连接拒绝或没有任何提示代表防火墙接受了这个端口的访问,即端口是通的。(可以结合iptables命令测试下,这个问题网上很多都说反了)