1. 基础连通性测试
ping
– 网络连通性测试
功能: 使用ICMP协议测试网络连通性
ping google.com # 基础连通性测试
ping -c 4 -s 1000 google.com # 发送4个1000字节的包
ping -i 0.2 192.168.1.1 # 每0.2秒发送一次
ping -f 192.168.1.1 # 洪水ping(需要root权限)
ping -W 2 192.168.1.1 # 设置超时时间2秒
默认参数: Linux下ping包大小默认为64字节
使用场景:
- 基础网络连通性检查
- 测试网络延迟和丢包率
- 验证DNS解析是否正常
arping
– ARP层ping测试
功能: 在数据链路层测试主机连通性
arping -c 3 192.168.1.1 # 发送3个ARP请求
arping -I eth0 192.168.1.1 # 指定网络接口
arping -D 192.168.1.100 # 检测IP地址冲突
arping -U -I eth0 192.168.1.50 # 发送无偿ARP
使用场景:
- 检测同网段主机存活(绕过防火墙)
- 检测IP地址冲突
- 更新ARP缓存表
2. 路由信息查看
route
– 路由表管理
功能: 显示和操作内核路由表
route -n # 显示路由表(数字格式)
route -A inet6 # 显示IPv6路由表
route add default gw 192.168.1.1 # 添加默认网关
route del -net 192.168.2.0/24 # 删除路由
ip route
– 现代路由管理工具
功能: 显示和操作路由信息
ip route show # 显示路由表
ip route get 8.8.8.8 # 获取到达指定IP的路由信息
ip route add 192.168.2.0/24 via 192.168.1.1 # 添加路由
ip route flush cache # 清空路由缓存
使用场景:
- 查看系统路由配置
- 追踪数据包路径
- 诊断路由问题
3. 网络接口查看
系统网卡查看命令
# 查看系统网卡设备
ll /sys/class/net/
ls /sys/class/net/
# 查看PCI网卡设备
lspci | grep -i ethernet
lspci | grep -i network
lspci -v | grep -i ethernet
# 查看网卡详细信息
ethtool eth0 # 查看网卡参数
ethtool -i eth0 # 查看网卡驱动信息
ethtool -S eth0 # 查看网卡统计信息
网卡状态和配置
# 查看网卡状态
ip link show
cat /sys/class/net/eth0/operstate
# 查看网卡速率
cat /sys/class/net/eth0/speed
ethtool eth0 | grep Speed
4. 网卡绑定(Bond)相关
Bond模式查看
# 查看bond模式
cat /sys/class/net/bond0/bonding/mode
# 查看bond状态
cat /proc/net/bonding/bond0
# 查看bond成员接口
cat /sys/class/net/bond0/bonding/slaves
# 查看bond其他配置
cat /sys/class/net/bond0/bonding/miimon # 监控间隔
cat /sys/class/net/bond0/bonding/updelay # 激活延迟
cat /sys/class/net/bond0/bonding/downdelay # 停用延迟
Bond模式说明:
- mode=0 (balance-rr): 轮询策略
- mode=1 (active-backup): 主备策略
- mode=2 (balance-xor): XOR策略
- mode=3 (broadcast): 广播策略
- mode=4 (802.3ad): IEEE 802.3ad动态链路聚合
- mode=5 (balance-tlb): 传输负载均衡
- mode=6 (balance-alb): 自适应负载均衡
5. 网络协议栈统计
netstat -s
– 协议统计
功能: 查看各网络协议栈统计信息
netstat -s # 显示所有协议统计
netstat -s --tcp # 只显示TCP统计
netstat -s --udp # 只显示UDP统计
netstat -s --icmp # 只显示ICMP统计
UDP丢包分析重点字段
# 重点关注的UDP统计字段:
netstat -s --udp | grep -E "(packet receive errors|receive buffer errors|InErrors)"
# 查看详细的UDP统计
cat /proc/net/snmp | grep Udp
cat /proc/net/udp_stats
关键指标解析:
- packet receive errors: 接收错误包总数(持续增长表明有丢包)
- receive buffer errors: 接收缓冲区满导致的丢包
- InErrors: 接收到的错误数据包
- NoPorts: 目标端口无进程监听的包数量
- InCsumErrors: 校验和错误的包数量
6. 网络丢包深度分析
系统级丢包统计
# 查看网络接口丢包统计
cat /proc/net/dev
ip -s link show
# 查看各层丢包情况
ss -s # socket统计
cat /proc/net/softnet_stat # 软中断统计
丢包类型分析
# 硬件层丢包
ethtool -S eth0 | grep -E "(drop|error|crc)"
# 内核层丢包
cat /proc/net/softnet_stat # 各CPU的网络软中断统计
# 应用层丢包
ss -u -a # 查看UDP socket状态
7. 网络性能和流量分析
网络流量监控
# 实时流量监控
iftop -i eth0 # 实时连接流量
nload eth0 # 实时接口流量
vnstat -i eth0 # 历史流量统计
# 详细流量统计
cat /proc/net/dev # 接口流量统计
连接状态分析
# TCP连接状态统计
ss -s
netstat -an | awk '/^tcp/ {print $6}' | sort | uniq -c
# 连接数统计
ss -tan | wc -l # 总TCP连接数
ss -tun | wc -l # 总UDP连接数
8. 高级网络诊断
数据包捕获和分析
# 基础抓包
tcpdump -i eth0 -n # 指定接口抓包
tcpdump -i any host 192.168.1.1 # 抓取指定主机流量
tcpdump -i eth0 port 80 -w http.pcap # 抓取HTTP流量并保存
# 高级过滤
tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0' # 抓取连接建立/断开
网络延迟和质量测试
# 高级ping测试
fping -a -g 192.168.1.0/24 # 批量ping网段
hping3 -S -p 80 google.com # TCP SYN ping
# 网络质量测试
mtr google.com # 结合ping和traceroute
9. 网络安全和防火墙
防火墙状态检查
# iptables
iptables -L -n -v # 详细规则列表
iptables -t nat -L -n -v # NAT表规则
iptables -t mangle -L -n -v # mangle表规则
# firewalld (CentOS/RHEL)
firewall-cmd --state # 防火墙状态
firewall-cmd --list-all-zones # 所有zone配置
firewall-cmd --get-active-zones # 活动zone
# ufw (Ubuntu)
ufw status verbose # 详细状态
10. 网络问题排查清单
系统性排查步骤
- 物理层检查
ethtool eth0 # 网卡状态
dmesg | grep -i eth # 网卡相关内核消息
- 数据链路层检查
ip link show # 接口状态
arping -c 3 gateway_ip # ARP层连通性
- 网络层检查
ip route show # 路由表
ping gateway_ip # 网关连通性
- 传输层检查
ss -tuln # 监听端口
netstat -s # 协议统计
- 应用层检查
telnet target_ip port # 端口连通性
curl -I http://target # HTTP服务检查
常见问题诊断命令组合
# 网络丢包问题
netstat -s --udp | grep -i error
ethtool -S eth0 | grep drop
cat /proc/net/softnet_stat
# 连接超时问题
ss -o state established # 查看连接超时设置
tcpdump -i eth0 host target_ip # 抓包分析
# 网络性能问题
iperf3 -c server_ip # 带宽测试
iftop -i eth0 # 实时流量监控
本文版权归原作者zhaofujian所有,采用 CC BY-NC-ND 4.0 协议进行许可,转载请注明出处。