核心工具与安装
tcpdump(命令行首选)
- 安装
Debian/Ubuntu:sudo apt install tcpdump
CentOS/RHEL:sudo yum install tcpdump
- 基础命令
tcpdump -i eth0 # 监听eth0网卡 tcpdump port 80 # 抓取80端口流量 tcpdump -w capture.pcap # 保存为pcap文件 tcpdump -r capture.pcap # 读取pcap文件
- 高级过滤
tcpdump src 192.168.1.10 and dst port 443 # 源IP+目标端口 tcpdump -v 'tcp[13] & 2 != 0' # 抓取SYN标志包
Wireshark(图形化分析)
- 安装
sudo apt install wireshark # Debian/Ubuntu sudo yum install wireshark # CentOS/RHEL
- 使用流程
- 终端启动:
sudo wireshark
- 选择网卡 → 点击”Start”
- 使用过滤器(如
http
或ip.addr==192.168.1.1
)
- 终端启动:
tshark(Wireshark命令行版)
- 常用命令
tshark -i eth0 -f "tcp port 22" -w ssh.pcap # 抓取SSH流量 tshark -r file.pcap -Y "http.request" # 过滤HTTP请求
实战抓包场景
场景1:抓取HTTP明文数据
tcpdump -i any -A -s0 'port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
-A
:以ASCII显示数据(暴露明文密码)0x47455420
:匹配”GET “请求(十六进制)
场景2:抓取DNS查询
tcpdump -i wlan0 udp port 53 -vv
场景3:抓取ICMP(Ping)包
tcpdump -n icmp
专业技巧
- 过滤冗余流量
tcpdump not arp and not stp # 排除ARP/STP广播包
- 截断大包
-s 96
只抓取前96字节(含IP/TCP头) - 组合分析
用tcpdump
抓包 → 导出为pcap → 用Wireshark图形化分析
安全与法律警示
- 合规性
- 仅抓取自己管理的网络流量
- 禁止监控他人数据(违反《网络安全法》第27条)
- 隐私保护
- HTTPS流量无法直接解密(除非有私钥)
- 敏感数据(如密码)在HTTP中明文暴露,需加密传输
- 生产环境慎用
- 高频抓包可能引发CPU飙升(用
-c 100
限制包数) - 避免在负载均衡器等关键节点长期抓包
- 高频抓包可能引发CPU飙升(用
学习资源推荐
- 官方文档
tcpdump man手册 | Wireshark官方文档 - 书籍
《Wireshark网络分析实战》(Laura Chappell著)
《TCP/IP详解 卷1:协议》(Richard Stevens著) - 分析社区
Wireshark问答论坛 | Stack Overflow
引用说明参考tcpdump官方手册、Wireshark官方文档及《TCP/IP详解》技术专著,符合网络诊断最佳实践,抓包行为需遵守《中华人民共和国网络安全法》及相关地方法规。
通过掌握这些工具和方法,您将能高效诊断网络故障,但请始终遵循技术伦理,保护用户隐私和数据安全。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8205.html