在Linux中查看网络报文的常用命令如下:
tcpdump (最常用的抓包工具)sudo tcpdump -i eth0 -nn -v
-i eth0:指定网卡(如eth0、ens33或any)。-nn:禁用域名和端口解析(显示IP和端口号)。-v:显示详细信息(-vv或-vvv更详细)。port 80:过滤特定端口(如HTTP流量)。host 1.1.1.1:过滤特定IP。-w file.pcap:保存为pcap文件,方便用Wireshark分析。tshark (Wireshark的命令行版)sudo tshark -i eth0 -f "tcp port 80" -V
-f:设置抓包过滤规则(类似tcpdump语法)。-V:显示详细报文内容。wireshark (图形化工具)wireshark &
ngrep (基于正则匹配报文内容)sudo ngrep -d eth0 "GET|POST" port 80
tcpflow (重组TCP流)sudo tcpflow -i eth0 port 80
ss/netstat (查看连接状态)ss -tulnp # 查看当前监听端口
netstat -ant | grep ESTABLISHED # 查看活跃连接
抓取HTTP请求:
sudo tcpdump -i any -nn port 80 -A
抓取DNS查询:
sudo tcpdump -i any -nn port 53 -v
保存并分析抓包:
sudo tcpdump -i eth0 -w traffic.pcap
wireshark traffic.pcap
root权限(使用sudo)。host/port),减少无关流量。如果需要更深入的分析,建议结合Wireshark图形化工具。