linux怎么判断网络通不通过
linux怎么判断网络通不通过详细介绍
在 Linux 系统中,判断网络是否连通可通过多种工具和方法,涵盖从底层 IP 连通性到上层应用服务的检测。以下是常用的排查手段:
一、基础 IP 连通性检测
1.
ping 命令(测试主机可达性)
- 用途:通过发送 ICMP 数据包,检查目标主机是否可达及网络延迟。
- 语法:bash
目标 IP 或域名目标
- 示例:bash
.8.8www.baidu.com
- 注意:若目标主机禁用 ICMP(如防火墙过滤),ping 可能失败,但网络仍可能连通(需结合其他工具验证)。
2.
arp 命令(检查局域网内主机 MAC 地址)
- 用途:查看本地 ARP 缓存,确认局域网内主机是否可达。
- 语法:bash
arparp IP
二、域名解析与 DNS 检测
1.
nslookup/dig 命令(DNS 解析测试)
- 用途:验证域名能否正确解析为 IP 地址,排查 DNS 配置问题。
- 语法:bash
www.example.com@8.8.8.8 www.example.com
2.
直接访问 IP(绕过 DNS 验证网络)
- 若域名无法访问,可尝试直接访问其 IP(如
ping 14.215.177.38),判断是否为 DNS 解析问题。
三、端口连通性检测(上层服务)
1.
telnet 命令(测试 TCP 端口是否开放)
- 用途:检查目标主机的 TCP 端口是否可达(需安装
telnet客户端)。 - 语法:bash
telnet 目标 IP 端口 - 示例:检测 Web 服务器 80 端口是否开放。
2.
nc(netcat)命令(更灵活的端口检测)
- 用途:支持 TCP/UDP 端口检测,可静默测试(不显示详细信息)。
- 语法:bash
目标 IP 端口范围.0.1
.0.1 -100
3.
nmap 命令(端口扫描与网络发现)
- 用途:全面扫描目标主机的端口状态,支持 TCP/UDP 扫描。
- 语法:bash
nmap 目标 IPnmap 目标 IP
nmap 目标 IP
四、网络路径追踪
1.
traceroute 命令(追踪路由节点)
- 用途:显示数据包从本地到目标主机经过的所有路由节点,定位网络卡顿或中断点。
- 语法:bash
目标 IP 或域名
2.
mtr 命令(结合 ping 和 traceroute 的动态检测)
- 用途:实时显示各路由节点的丢包率和延迟,比 traceroute 更直观。
- 语法:bash
目标 IP 或域名
五、本地网络配置检查
1.
网卡状态
- 查看网卡是否启用及 IP 配置:bash
addr showeth0 up
2.
路由表
- 检查默认网关是否正确:bash
route show
3.
DNS 配置
- 查看 DNS 服务器配置(通常位于
/etc/resolv.conf):bash/etc/resolv.conf
六、应用层连通性测试
1.
curl/wget 命令(测试 HTTP/HTTPS 连接)
- 用途:模拟客户端访问 Web 服务,获取响应内容。
- 语法:bash
http://www.example.comhttp://www.example.com
http://www.example.com
2.
ssh 命令(测试 SSH 服务连通性)
- 用途:检查目标主机的 SSH 端口(默认 22)是否开放且可连接。
- 语法:bash
user@目标 IP
七、防火墙与权限排查
1.
检查防火墙规则
- iptables(传统防火墙):bash
iptables - firewalld(现代防火墙,CentOS 7+ 常用):bash
firewall-cmd --list-all
2.
临时关闭防火墙测试
- 若怀疑防火墙阻止连接,可临时关闭(仅用于测试,非生产环境):bash
systemctl stop firewalld.serviceiptables
八、综合诊断脚本(进阶)
若需自动化检测,可编写简单脚本:
bash
www.baidu.com
.8.8
www.baidu.com
总结步骤
- 基础连通性:先用
ping测试 IP 可达性,用nslookup/dig确认 DNS 解析。 - 端口与服务:通过
telnet/nc/nmap检查目标端口是否开放,curl/wget测试应用层服务。 - 路径与配置:用
traceroute/mtr追踪路由,ip/route检查本地网络配置,iptables/firewalld排查防火墙。 - 分层排除:从底层(IP)到上层(应用)逐步定位问题,优先确认物理连接(网线、WiFi)是否正常。
根据具体场景选择工具,若遇复杂网络问题(如代理、NAT),需结合 tcpdump 抓包分析或咨询网络管理员。