在Linux系统中,网络测试是系统管理、故障排查和性能优化的核心技能,以下是一套专业且实用的网络测试方法,涵盖从基础连通性到深度分析的完整流程,符合网络运维最佳实践:
基础连通性测试
-
ping
– 检测主机可达性ping -c 4 google.com # 发送4个ICMP包测试连通性
- 关键参数:
-i 0.5
(间隔0.5秒)
-s 1400
(设置数据包大小,测试MTU)
- 关键参数:
-
traceroute
/mtr
– 路径追踪traceroute -T -p 443 github.com # TCP模式追踪443端口 mtr --report example.com # 实时路径分析(推荐)
- 诊断场景:定位网络跳点延迟或丢包
端口与服务测试
-
telnet
/nc
– 手动端口探测nc -zv 192.168.1.100 22 # 检查SSH端口开放状态 telnet mailserver 25 # SMTP服务交互测试
-
nmap
– 专业端口扫描nmap -sT -p 80,443,8080 192.168.1.0/24 # 扫描子网Web服务
DNS解析验证
-
dig
– DNS诊断黄金工具dig +trace example.com # 显示完整解析链 dig @8.8.8.8 A google.com # 指定DNS服务器查询
-
nslookup
– 兼容性检查nslookup -type=MX gmail.com # 查询邮件交换记录
网络性能压测
-
iperf3
– 带宽吞吐量测试# 服务端启动 iperf3 -s # 客户端测试(替换SERVER_IP) iperf3 -c SERVER_IP -t 30 -P 10 # 30秒测试,10并行流
-
qperf
– 延迟与带宽综合测试qperf SERVER_IP tcp_bw tcp_lat # 同时测量带宽和延迟
高级流量分析
-
tcpdump
– 抓包分析tcpdump -i eth0 port 80 -w capture.pcap # 捕获HTTP流量 tcpdump 'icmp and src host 192.168.1.5' # 过滤特定主机ICMP
-
tshark
(Wireshark CLI) – 协议解析tshark -r capture.pcap -Y "http.request" # 提取HTTP请求
连接状态监控
-
ss
– 现代连接查看工具ss -tunlp4 # 显示所有TCP/UDPv4监听端口及进程 ss -s # 统计连接状态摘要
-
netstat
– 传统连接分析netstat -ant | grep ESTAB # 查看所有活跃TCP连接
HTTP/API层测试
-
curl
– 全能HTTP调试curl -I https://example.com # 仅获取响应头 curl -o /dev/null -s -w "%{time_total}" https://google.com # 测量请求时延
-
ab
(ApacheBench) – 压力测试ab -n 1000 -c 50 http://test.site/ # 1000请求,50并发
故障排查流程图
graph LR A[网络不通] --> B{ping 网关} B -- 成功 --> C{ping 公网IP} B -- 失败 --> D[检查路由/ARP] C -- 成功 --> E{ping 域名} C -- 失败 --> F[检查防火墙/NAT] E -- 成功 --> G[应用层问题] E -- 失败 --> H[DNS解析测试]
安全提示
- 企业环境中使用
tcpdump
/nmap
需获得授权 - 敏感数据抓包时添加
-w
保存文件,避免终端泄露
引用说明基于Linux man-pages文档、RFC网络标准协议及Red Hat最佳实践指南,工具参数验证环境为Ubuntu 22.04 LTS及CentOS Stream 9,适用于主流Linux发行版,性能测试建议在隔离网络进行,避免生产环境影响。
通过分层测试法(物理层→传输层→应用层),可系统化定位90%的Linux网络问题,建议保存常用命令为脚本,提升运维效率。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/35481.html