跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Linux网络监控教程_tcpdumpwireshark抓包分析实战

Linux网络抓包分析核心是tcpdump捕获+Wireshark解析:tcpdump在无图形界面服务器上过滤保存pcap(如port 80、-w -C -W),scp传输后Wireshark图形化分析(显示过滤、Follow TCP Stream),用于定位连接超时、响应慢、HTTPS证书等问题,需注意性能与安全风险。 Linux下用tcpdump和Wireshark做网络抓包分析,核心就两点:先用tcpdump在服务器上高效捕获数据,再导出到本地用Wireshark图形化深度解析。 不装图形界面的生产服务器没法直接跑Wireshark,所以分工明确——tcpdump负责“录”,Wireshark负责“看”。 tcpdump基础抓包:过滤准、保存稳 抓包不是全量收,得靠表达式过滤出真正关心的流量。常用组合有: 按端口 :
tcpdump -i eth0 port 80
(抓HTTP)或
port 22
(SSH) 按协议+方向 :
tcpdump -i eth0 tcp and src host 192.168.1.100
(只抓来自某IP的TCP包) 保存为pcap文件 :
tcpdump -i eth0 -w /tmp/nginx_access.pcap port 80 -C 100 -W 5
(单文件100MB,轮转5个,防磁盘打满) 注意加
-n
跳过DNS解析提速,加
-q
减少输出冗余;生产环境慎用
-s 0
(全包长),默认截断可能漏关键载荷,但全抓会显著增加I/O和存储压力。 tcpdump与Wireshark协同:从命令行到图形界面 tcpdump生成的
.pcap
文件可直接用Wireshark打开。常见操作链路: 服务器上运行:
tcpdump -i any -w /tmp/app_debug.pcap host 10.0.3.5 and port 3306
用
scp
把文件拉到本地:
scp user@server:/tmp/app_debug.pcap ./
Wireshark中打开 → 用显示过滤器进一步缩小范围,比如
mysql.query contains "SELECT"
或
http.request.method == "POST"
Wireshark里右键数据包选“Follow → TCP Stream”,能直接看到完整会话内容(如HTTP请求/响应体、Redis命令),比翻原始十六进制直观得多。 CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。 下载 定位典型问题的抓包思路 不同故障对应不同抓包侧重点: 连接超时/拒绝 :抓三次握手,看SYN发出去有没有SYN-ACK回来。Wireshark里过滤
tcp.flags.syn == 1
,结合时间列判断丢包或 防火墙 拦截 接口返回慢 :抓应用端口(如8080)+后端服务端口(如5432),对比请求发出到响应返回的时间差,再看后端响应是否也慢,快速区分是网络延迟还是服务瓶颈 HTTPS证书报错 :抓443端口,过滤
tls.handshake.type == 1
(Client Hello),检查SNI域名是否正确,再看Server Hello里返回的证书是否匹配 安全与性能提醒 抓包本身有风险,需提前评估: 避免在高流量网卡(如万兆)上无过滤全抓,可能瞬间打满磁盘或拖慢系统 敏感业务(如支付回调)抓包前确认合规性,pcap文件含明文字段(URL、Header、Cookie),传输和存储需加密 容器环境抓宿主机网卡可能看不到内部veth流量,应进入容器用
nsenter
或在 docker d启用
host.docker.internal
桥接后抓 不复杂但容易忽略。

相关文章