插件窝 干货文章 如何使用Linux进行网络测试

如何使用Linux进行网络测试

测试 bash example 端口 156    来源:    2025-04-18

在Linux系统中进行网络测试涉及多个方面,包括连通性、延迟、带宽、路由追踪等。以下是常用的工具和方法,按场景分类整理:


一、基础连通性测试

1. Ping (ICMP测试)

bash ping example.com # 持续发送ICMP包 ping -c 4 8.8.8.8 # 发送4次后停止 - 用途:检测主机是否在线、网络延迟(RTT)。 - 参数: - -c N:指定次数。 - -i N:设置间隔时间(秒)。

2. ARP检测(局域网)

bash arping -I eth0 192.168.1.1 # 检查局域网IP是否冲突


二、端口与协议测试

1. Telnet(TCP端口测试)

bash telnet example.com 80 # 测试80端口是否开放 - 替代工具:若未安装Telnet,使用nc(Netcat): bash nc -zv example.com 443 # 快速测试端口

2. Curl(HTTP/HTTPS测试)

bash curl -I https://example.com # 获取HTTP头 curl -v http://example.com # 显示详细连接过程

3. Nmap(高级端口扫描)

bash nmap -sT -p 1-1000 example.com # TCP扫描常用端口 nmap -sU -p 53 8.8.8.8 # UDP端口扫描(如DNS)


三、带宽与速度测试

1. iperf3(网络吞吐量测试)

  • 服务端bash iperf3 -s
  • 客户端bash iperf3 -c server_ip -t 30 # 测试30秒带宽
  • 参数
    • -R:反向测试(服务器→客户端)。
    • -P N:多线程测试。

2. speedtest-cli(互联网速度)

bash speedtest-cli --simple # 简单输出 speedtest-cli --bytes # 以字节为单位


四、路由与路径分析

1. Traceroute(路径追踪)

bash traceroute example.com # 显示路由跳数 tracepath example.com # 无root权限替代方案 - 注意:部分网络可能禁用ICMP,导致结果不完整。

2. MTR(实时路由诊断)

bash mtr -rw example.com # 综合ping+traceroute - 参数: - -r:生成报告。 - -c N:指定探测次数。


五、DNS查询测试

1. dig(DNS解析详情)

bash dig example.com A # 查询A记录 dig @8.8.8.8 example.com # 指定DNS服务器

2. nslookup(交互式查询)

bash nslookup example.com


六、高级工具

1. tcpdump(抓包分析)

bash tcpdump -i eth0 port 80 -w capture.pcap # 抓取80端口流量 - 分析工具:用Wireshark打开.pcap文件。

2. ss/netstat(连接状态)

bash ss -tulnp # 查看所有监听端口 netstat -tuln # 旧版替代方案


七、防火墙测试

1. 检查防火墙规则

bash iptables -L -n -v # IPv4规则 nft list ruleset # nftables规则

2. 模拟防火墙拦截

bash tc qdisc add dev eth0 root netem loss 10% # 模拟10%丢包 tc qdisc del dev eth0 root # 恢复


八、自动化测试脚本示例

#!/bin/bash
TARGET="example.com"
ping -c 4 $TARGET && echo "Ping OK" || echo "Ping FAIL"
nc -zv $TARGET 80 2>&1 | grep "succeeded" && echo "Port 80 OPEN" || echo "Port 80 CLOSED"

常见问题解决

  1. Ping不通但网络正常
    • 目标可能禁用了ICMP,改用curltelnet测试端口。
  2. 带宽测试异常
    • 确保iperf3服务端与客户端版本兼容。
  3. DNS解析慢
    • 修改/etc/resolv.conf更换DNS服务器(如8.8.8.8)。

通过组合上述工具,可以全面诊断网络问题。如需更深入分析,建议结合Wireshark抓包。