admin 发表于 5 天前

debugging 抓包命令使用与关闭

在调试网络问题时,抓包(Packet Capture)是分析网络流量的关键手段。以下是常见的抓包命令使用及关闭方法,涵盖 tcpdump 和 tshark(Wireshark 命令行版)等工具。



1. 使用 tcpdump 抓包
基本抓包命令
# 捕获所有接口的流量(需root权限)
sudo tcpdump -i any

# 指定网卡(如eth0)
sudo tcpdump -i eth0

# 捕获特定端口的流量(如80端口)
sudo tcpdump -i eth0 port 80

# 捕获特定IP的流量(源或目标IP)
sudo tcpdump host 192.168.1.1

# 捕获HTTP请求(端口80,并显示ASCII内容)
sudo tcpdump -i eth0 -A port 80

# 保存抓包数据到文件
sudo tcpdump -i eth0 -w capture.pcap

关闭抓包

[*]直接终止:按 Ctrl + C 停止抓包。
[*]后台运行后关闭:

# 启动后台抓包(保存到文件)
sudo tcpdump -i eth0 -w capture.pcap &
# 查找进程ID并终止
sudo kill <PID>



2. 使用 tshark(Wireshark 命令行版)
基本抓包命令
# 捕获所有流量并实时显示
sudo tshark -i eth0

# 捕获特定协议(如TCP)
sudo tshark -i eth0 tcp

# 捕获并保存到文件
sudo tshark -i eth0 -w capture.pcap

# 过滤特定IP和端口
sudo tshark -i eth0 host 192.168.1.1 and port 443

关闭抓包

[*]按 Ctrl + C 停止。
[*]后台进程同样可通过 kill <PID> 终止。




3. 通用注意事项

[*]权限问题:
[*]抓包通常需要 root 权限,使用 sudo。
[*]普通用户可通过 setcap 授权(避免频繁输入密码):

   sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/sbin/tcpdump

[*]过滤表达式:
[*]使用 host、port、tcp/udp 等关键字过滤流量。
[*]复杂过滤可参考 tcpdump 或 tshark 的表达式语法。
[*]保存与分析:
[*]抓包文件(.pcap)可用 Wireshark 或 tshark -r 分析。
[*]示例:tshark -r capture.pcap。




4. 其他工具

[*]Wireshark GUI:适合交互式分析,支持图形化过滤。
[*]ngrep:类似 grep 的网络抓包工具,支持正则过滤。




总结

[*]启动抓包:sudo tcpdump/tshark [选项]。
[*]停止抓包:Ctrl + C 或 kill <PID>。
[*]保存文件:通过 -w 参数导出 .pcap 文件供后续分析。


根据需求选择工具,简单调试用 tcpdump,复杂分析推荐 tshark 或 Wireshark。
页: [1]
查看完整版本: debugging 抓包命令使用与关闭