| 安装与权限 |
sudo apt install tshark -y |
在Ubuntu系统上安装tshark |
|
sudo usermod -aG wireshark $USER |
将用户加入wireshark组(需重新登录生效) |
|
tshark -v |
查看tshark版本信息 |
| 基础操作 |
tshark -D |
查看所有可用网络接口 |
|
tshark -i eth0 |
实时捕获eth0接口流量 |
|
tshark -i any |
捕获所有网络接口流量 |
|
tshark -i eth0 -w capture.pcap |
将抓包数据保存为pcap文件 |
| 过滤操作 |
tshark -i eth0 -f "tcp port 80" |
捕获时过滤(只抓HTTP流量) |
|
tshark -i eth0 -f "src host <HOST_IP>" |
捕获时过滤特定源IP |
|
tshark -r capture.pcap -Y "http" |
分析文件时过滤HTTP流量 |
|
tshark -r capture.pcap -Y "dns.qry.name contains 'baidu.com'" |
分析文件时过滤DNS查询 |
| 字段提取 |
tshark -r capture.pcap -T fields -e ip.src -e ip.dst |
提取源IP和目标IP |
|
tshark -r capture.pcap -T fields -e http.host -e http.request.uri |
提取HTTP主机名和请求URI |
|
tshark -r capture.pcap -T fields -e tcp.payload |
提取TCP负载 |
|
tshark -r capture.pcap -x |
输出完整十六进制+ASCII转储 |
| 高级功能 |
tshark -r capture.pcap -qz io,phs |
生成协议分层统计 |
|
tshark -r capture.pcap -qz http_req,tree |
统计HTTP请求方法分布 |
|
tshark -r capture.pcap -qz follow,tcp,ascii,0 |
跟踪TCP流(ASCII格式) |
| 性能优化 |
tshark -i eth0 -c 100 |
限制捕获包数(100个) |
|
tshark -r large.pcap -n |
禁用DNS解析(加速大文件分析) |
|
tshark -i eth0 -a duration:60 |
设置抓包时长(60秒) |
| 文件分析 |
tshark -r capture.pcap -c 10 |
读取文件并显示前10个包 |
|
tshark -r capture.pcap -V |
显示详细协议解析 |
|
tshark -r capture.pcap -T json |
以JSON格式输出分析结果 |
| 系统工具 |
sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap |
普通用户直接抓包(需执行一次) |
|
groups $USER |
检查当前用户组别 |