在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图形化工具。