首页主机资讯如何用Linux Sniffer排查网络问题

如何用Linux Sniffer排查网络问题

时间2025-11-22 01:06:05发布访客分类主机资讯浏览306
导读:Linux Sniffer排查网络问题的实用流程 一、准备与抓包位置 明确目标:是定位连通性、时延抖动、丢包重传、带宽滥用还是安全事件。 选择观测点:优先在问题路径的近端与远端同时抓包;交换机上若无端口镜像(SPAN/RSPAN),可用集...

Linux Sniffer排查网络问题的实用流程

一、准备与抓包位置

  • 明确目标:是定位连通性时延抖动丢包重传带宽滥用还是安全事件
  • 选择观测点:优先在问题路径的近端远端同时抓包;交换机上若无端口镜像(SPAN/RSPAN),可用集线器临时串接,或把抓包主机接到镜像口。
  • 权限与合规:抓包需要原始套接字权限,建议使用sudo或将用户加入wireshark组;务必取得合法授权,避免采集敏感数据。

二、工具选型与基本用法

  • 工具组合建议:
    • tcpdump:服务器/无图形环境首选,快速抓包与过滤。
    • Wireshark:图形化深度分析,适合疑难问题与协议细节。
    • tshark:Wireshark 的命令行版,便于脚本化和批量分析。
  • 常用命令模板:
    • 抓指定网卡并写入文件:sudo tcpdump -i eth0 -w capture.pcap
    • 只抓100个包:sudo tcpdump -i eth0 -c 100 -w capture.pcap
    • 抓某主机:sudo tcpdump -i eth0 host 192.168.1.100
    • 抓某端口(如 HTTP):sudo tcpdump -i eth0 port 80
    • 组合条件:sudo tcpdump -i eth0 host 192.168.1.100 and port 80
    • 以可读形式显示:sudo tcpdump -X
    • 读取分析:tcpdump -r capture.pcap -nn
    • Wireshark 显示过滤:ip.addr == 192.168.1.100tcp.port == 80httpdns
    • tshark 实时看 HTTP 请求:tshark -i eth0 -f "port 80" -T fields -e http.host -e http.request.uri
    • tshark 读取 pcap 分析 DNS:tshark -r capture.pcap -Y dns
  • 可视化补充:可用EtherApe做主机间连接与协议的可视化概览,辅助识别异常热点。

三、从现象到抓包过滤的对照表

现象 抓包位置 关键过滤 判读要点
无法访问某主机/端口 客户端、服务器、网关 host < IP> tcp port < 端口> SYN是否到达服务器;服务器是否回SYN-ACK;若客户端见SYN无应答,可能是服务器未监听/ACL/上游过滤;若服务器见SYN但无回包,可能是回程路由或防火墙问题
访问很慢或时延抖动 客户端、服务器 host < IP> and (tcp or icmp) 观察RTT、重传(tcp.analysis.retransmission)、重复ACK;长时延+重传常见于链路拥塞/丢包/服务器繁忙
偶发丢包 链路两端 `icmp or arp or (tcp[tcpflags] & (tcp-syn tcp-rst) != 0)`
带宽被占满 瓶颈链路/网关 not port 22 and not arp 统计会话与协议占比,识别异常大流量/突发流量或异常协议,配合iftop/nethogs定位占用进程
DNS 解析异常 客户端、DNS 服务器 udp port 53 or tcp port 53 看请求是否发出、是否SERVFAIL/REFUSED、响应是否超时;区分递归迭代路径问题
HTTP 访问异常 客户端、反向代理/源站 tcp port 80 or tcp port 443 观察HTTP 4xx/5xx、TCP 握手与TLS握手是否成功、是否有RST中断连接

四、高效分析的关键技巧

  • 先缩小范围:用BPF 过滤表达式只保留相关主机/端口/协议,避免海量无关数据。
  • 双点对比:在客户端服务器同时抓包,比较SYN/ACKFINRST与重传,快速判断问题发生在请求路径还是回程路径
  • 关注 TCP 状态机:三次握手是否完成、是否存在半开连接重传/重复ACK/零窗口连接重置
  • 善用显示过滤:Wireshark 中使用如tcp.analysis.retransmissiontcp.flags.syn==1 and tcp.flags.ack==0等显示过滤,聚焦问题特征。
  • 基线建模:记录正常时段的带宽使用率、协议占比、服务响应时间,出现显著偏差时优先排查异常主机/会话。

五、常见问题与处理建议

  • 抓不到对端流量:确认网卡处于混杂模式、抓包点确实在数据路径上;交换机需配置端口镜像;无线/虚拟化环境注意监控端口/VNIC选择。
  • 文件过大影响性能:抓包时加计数/时间/大小限制,如-c 1000-G 60 -W 10按时间滚动;优先在问题窗口抓,必要时分片保存。
  • 权限与合规:抓包涉及隐私与合规,仅限授权范围;生产环境谨慎采集敏感明文流量(如未加密的HTTPFTPSMTP)。
  • 资源占用:长时间高流量抓包会占用CPU/磁盘/内存,必要时降低抓包粒度或只抓头部-s 96/--snapshot-length),把深度分析放到离线阶段。
  • 快速处置思路:若确认ICMP 洪水或异常流量导致拥塞,可先在边界临时封禁来源清洗流量,再结合抓包定位根因。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何用Linux Sniffer排查网络问题
本文地址: https://pptw.com/jishu/753936.html
ubuntu ftpserver怎样连接远程 ubuntu ftpserver如何解决故障

游客 回复需填写必要信息