Ubuntu下常用网络调试工具及使用指南
在Ubuntu系统中,网络调试的核心是通过抓包分析(查看数据包细节)和流量监控(识别带宽占用)定位问题。以下是几款主流工具的具体用法,覆盖从基础到高级的场景:
Wireshark是Linux下最流行的网络协议分析工具,提供直观的图形界面,支持过滤、解码和统计分析。
sudo apt update && sudo apt install wireshark,安装过程中需同意协议。sudo wireshark启动;若不想每次用sudo,可将当前用户加入wireshark组:sudo usermod -aG wireshark $USER,注销后重新登录生效。eth0、wlan0),点击顶部“鲨鱼鳍”图标开始抓包;ip.addr==192.168.1.1显示该IP的所有流量,tcp.port==80显示80端口的TCP流量),按回车应用;.pcap格式,便于后续分析。tcpdump是Linux系统的“瑞士军刀”,适合快速捕获和分析数据包,无需图形界面。
sudo apt install tcpdump(Ubuntu默认预装)。sudo tcpdump(默认捕获首个网卡);sudo tcpdump -i eth0(-i指定接口,any表示所有接口);sudo tcpdump -c 10(抓10个包后自动停止);sudo tcpdump -n(直接显示IP地址,避免反向解析延迟)。tcpdump host 192.168.1.100(显示与该主机的所有通信);tcpdump port 22(捕获SSH流量);tcpdump "src 192.168.1.1 and (port 80 or port 443)"(显示源IP为192.168.1.1且目标端口为80或443的流量)。sudo tcpdump -w capture.pcap(保存到文件),tcpdump -r capture.pcap(读取文件分析)。dumpcap是Wireshark套件中的命令行组件,专注于高效捕获数据包,适合脚本自动化或资源有限的环境。
sudo apt install wireshark(包含dumpcap)。sudo dumpcap -i eth0;sudo dumpcap -i eth0 -f "tcp"(仅捕获TCP流量);sudo dumpcap -i eth0 -w debug.pcap;sudo dumpcap -i eth0 -c 50(抓50个包)。网络调试不仅要抓包,还需监控流量状态,以下工具各有侧重:
top命令。
sudo apt install iftop;sudo iftop -i eth0(指定接口),-n禁用DNS解析,-F 192.168.1.0/24只显示特定网段。sudo apt install nethogs;sudo nethogs eth0(指定接口),-d 5设置刷新间隔为5秒。sudo apt install vnstat;vnstat -l(实时流量),vnstat -d(今日流量),vnstat -m(月度流量)。sudo apt install python3-scapy;192.168.1.100:1234,内容为“Hello”:from scapy.all import *
send(IP(dst="192.168.1.100")/UDP(dport=1234)/"Hello")
sudo apt install packetsender;sudo或root权限运行;-c 100)或大小(如-s 96,每个包截断至96字节)。