linux服务器怎么检测连通性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux服务器怎么检测连通性相关的知识,希望对你有一定的参考价值。

linux服务器有很多时候都需要去测试一下服务器端口是否能连通是否正常的情况,下面腾正科技分享一下在Linux环境下如何测试端口的连通性,分别测试TCP端口与UDP端口,希望可以带来帮助,谢谢。
1、这个需要Linux服务器里边支持nc命令
2、我们可以使用yum命令直接安装,我的是Centos 6.5系统

3、如果不会用,直接打nc命令就会显示出它的使用方法
4、如果需要测试某个服务器的端口在能不能正常在外面访问,例如我测试一下 180.97.33.107 这个IP 的80 端口有没有开启可以使用命令:nc -z -w 1 180.97.33.107 80

5、可以看到默认是使用TCP进行测试的,如果要测试UDP端口有没有开放的可以添加-u 一起使用。例如我测试一下202.96.128.86 这个IP的UDP 53端口:nc -u -z -w 1 202.96.128.86 53

6、上面可以看到成功的会显示相关的信息,但是如果测试到端口是不开放的或者被防火墙拦截的就不会返回相关的信息。

注意事项:这是嘉辉根据自己的实情来测试端口的连通性,厉害可以使用其测试下,但具体的IP 以及端口要根据自己的实际填写测试哦。
参考技术A 跟windows 一样,使用"ping 「要连通的IP或URL」" 命令。 参考技术B 使用netstst命令查看正在监听状态的端口: 1、netstat -nupl //n表示用数字形式显示端口号,u,表示UDP协议类型,p是程序PID,l表示处于监听状态的; 2、netstat -nuplf|grep 3306 //这个表示查找处于监听状态的,端口号为3306的进程

【udp】如何检测UDP端口的连通性

参考技术A yum -y install nmap

nmap -sU -p 123 10.0.8.7
nmap -sU -p 222 10.0.8.7

yum -y install nc

nc -zuv ntp.aliyun.com 123
nc -zuv ntp.aliyun.com 222

关于nc用于udp端口连通性测试注意点:

udp 没有类似 tcp 那样的状态报文, 所以单纯对 UDP 抓包是看不到啥异常信息。

那么当 IP 不通时, 为啥nc udp 命令显示成功 ?

因为 nc 默认的探测逻辑很简单,只要在 2 秒钟内没有收到 icmp ECONNREFUSED 异常报文, 那么就认为 UDP 连接成功。
所以, UDP 客户端给无法连通的地址发 UDP 报文时,其实也不会报错, 这时候通常会认为发送成功。

UDP 没有 TCP 那样的握手步骤,像 TCP 发送 syn 总得不到回报时, 协议栈会在时间退避下尝试 6 次,当 6 次还得不到回应,内核会给与错误的 errno 值。

所以如果要用 nc 测试 目标upd端口的连通性,先测试下到目标ip网络是否通畅。

UDP端口port unreachable
https://mp.weixin.qq.com/s/Ve_faFF87SxMVhTO9S-yKw

黑客工具之nmap详细使用教程
https://mp.weixin.qq.com/s/lsz-c6ZLC4iKyF47KaYgHg

让人迷糊的 socket udp 连接问题
https://xiaorui.cc/archives/7255

以上是关于linux服务器怎么检测连通性的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统下怎么测试端口的连通性

Linux下怎么检测网络的连通状态

Linux检测网络连通情况的命令?

Linux系统下怎么测试端口的连通性

【udp】如何检测UDP端口的连通性

Linux系列:检测TCP/UDP端口的连通性