- 首页 >
- 问答 >
-
智能运维 >
- 怎样通过Linux Sniffer分析网络日志
怎样通过Linux Sniffer分析网络日志
小樊
44
2025-12-17 06:53:49
Linux Sniffer分析网络日志实操指南
一、工具与场景选择
- 抓包与离线分析:优先使用tcpdump(命令行、轻量、可保存为pcap),配合Wireshark/tshark做深度解析与可视化。
- 文本型业务日志:如**/var/log/下的系统日志或Nginx/Apache访问日志,使用grep、awk、sed、sort、uniq、journalctl**进行检索与统计。
- 正则匹配流量内容:使用ngrep快速定位包含特定字符串(如GET /、error)的会话。
- 安装示例(按需选择其一或多项):
- Debian/Ubuntu:sudo apt-get update && sudo apt-get install -y tcpdump wireshark tshark ngrep
- CentOS/RHEL:sudo yum install -y tcpdump wireshark wireshark-cli ngrep
- 以上工具覆盖了命令行抓包、图形化分析、命令行分析、正则匹配的主流需求。
二、抓包采集与保存
- 实时抓取并写入文件:sudo tcpdump -i eth0 -w capture.pcap(建议始终保存为**.pcap**以便后续分析)。
- 读取已有抓包文件:tcpdump -r capture.pcap。
- 只抓取特定流量,减少噪声:
- 按主机:sudo tcpdump -i eth0 host 192.168.1.10
- 按端口:sudo tcpdump -i eth0 port 80 or port 443
- 按协议:sudo tcpdump -i eth0 icmp
- 组合过滤:sudo tcpdump -i eth0 ‘tcp port 80 and host 192.168.1.10’
- 控制抓取规模:sudo tcpdump -i eth0 -c 1000(抓取1000个包后自动停止)。
- 提高可读性:sudo tcpdump -i eth0 -e -n -v(显示链路层头部、禁用解析、更详细输出)。
三、离线分析与统计
- 文本日志快速检索与统计
- 关键字检索:grep ‘error’ /var/log/syslog
- 时间范围:journalctl --since “2025-12-01 00:00:00” --until “2025-12-01 23:59:59”
- Top N IP:awk ‘{++c[$1]} END {for (ip in c) print c[ip], ip | “sort -nr | head -10”}’ /var/log/nginx/access.log
- 提取访问路径:grep -oE ‘"(GET|POST) [^ ]+ HTTP’ /var/log/nginx/access.log | cut -d’ ’ -f2 | sort | uniq -c | sort -nr
- pcap 深度分析
- 读取并筛选:tcpdump -r capture.pcap ‘tcp port 80’ -n
- 仅导出 HTTP 流量到新文件:tcpdump -r capture.pcap -w http_only.pcap ‘tcp port 80’
- 命令行统计(tshark):tshark -r capture.pcap -q -z io,stat,1,‘tcp.port==80’
- 正则匹配内容(ngrep):sudo ngrep -d eth0 ‘GET /’ port 80
- 典型分析场景
- 异常流量识别:观察是否存在突发大流量或单一来源/目标的异常连接(可用于初步判断DDoS特征)。
- Web 攻击线索:在 HTTP 流量中检索可疑字符串(如**’ or 1=1**、union select、)以定位SQL 注入/XSS尝试。
- 性能瓶颈定位:结合iftop/NetHogs确认占用带宽或连接数异常的进程,再回到抓包中核对握手、重传与窗口变化。
四、排错与性能建议
- 权限与接口:抓包通常需要root或CAP_NET_RAW能力;接口名可能为eth0、ens33、enp0s3等,先用 ip link 确认。
- 抓包规模控制:限定抓取时长或包数(如**-c**),避免磁盘被占满;必要时增加 BPF 过滤表达式减少无关流量。
- 解析深度与开销:开启详细输出(如**-v/-vv**)或打印链路层头部(-e)会增加开销;分析大文件时优先用tshark -r或Wireshark离线打开。
- 合规与隐私:仅在授权范围内抓包与分析,避免采集敏感明文数据(如凭据、个人信息)。