# 检测TCP/UDP端口的连通性 ## TCP端口的连通性 TC端口的连通性,一般通过telnet检测: TCP协议是面向连接的,可以直接通过telnet命令连接 ```bash yum install telnet -y telnet localhost 5001 ``` 或者有服务的curl ```bash curl -XGET localhost:5001 ``` ## UDP端口的连通性 因为公司网络防火墙一般对端口会有一些限制,通过公司网络访问外部服务器特定端口时,需要检测与目标服务器特定端口的连通性; 若无法连通,在确认目标服务器相关端口打开时,则很有可能是被公司网络(中间网络)屏蔽了。对于TCP端口,如上一般用telnet检测。 对于UDP端口,一般稍微复杂点: **因为UDP协议是无连接的,不需要握手建立连接,数据发送后,server端也不会返回确认信息。** 一般可以使用netcat检测,这个命令被誉为是网络中的“瑞士军刀”,功能非常强大,测试udp只是其中的一个功能变通。 **UDP端口连通性测试:** 在目标机器监听UDP端口port1, 在客户端机器向目标机器port1端口发送UDP数据报,看能否发送成功。发送成功,则表示可连通。 例如: ```bash nc -vuz localhost 5600 [root@aifashion-app-test docker-elk]# nc -vuz localhost 5600 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 127.0.0.1:5600. Ncat: UDP packet sent successfully Ncat: 1 bytes sent, 0 bytes received in 2.01 seconds. ``` ## 快照 - https://b.bdstatic.com/comment/-ZsE5conygPrGnTb2cfDFw1fbe67e10d01aaa578193e38fe22b524.png - https://i3.wp.com/b.bdstatic.com/comment/-ZsE5conygPrGnTb2cfDFw1fbe67e10d01aaa578193e38fe22b524.png - https://788910.xyz/api/snapshot?p=6688e1f5e0df009bd44d29459bba74aa&u=https://b.bdstatic.com/comment/-ZsE5conygPrGnTb2cfDFw1fbe67e10d01aaa578193e38fe22b524.png