在 CentOS 上用抓包工具监控网络攻击的实操指南
一 工具选择与定位
- 在 Linux/CentOS 环境中,所谓“Sniffer”通常指tcpdump、Wireshark(tshark)、netsniff-ng等抓包与协议分析工具。它们通过捕获并解析数据包来发现异常流量与可疑行为,适合做实时监测、取证分析与告警线索收集。
- 嗅探器本身不直接识别恶意软件,但可通过分析流量中的入侵指标 IOC(如异常域名、可疑 UA、暴力登录特征)进行间接发现。
- 建议与IDS/IPS(如Snort、Suricata)联动,由嗅探器提供流量与 PCAP,由 IDS/IPS 做规则匹配与告警,提高检测准确性与自动化处置能力。
二 快速上手流程
- 抓包与过滤(以 tcpdump 为例)
- 实时查看某接口流量:sudo tcpdump -i eth0
- 只抓 HTTP:sudo tcpdump -i eth0 port 80
- 将流量写入文件便于后续分析:sudo tcpdump -i eth0 -w capture.pcap
- 协议与威胁线索定位
- 发现异常连接与扫描:sudo tcpdump -i eth0 ‘tcp[tcpflags] & (tcp-syn|tcp-fin) != 0’ -nn
- 可疑 DNS 查询:sudo tcpdump -i eth0 -nn port 53 | egrep ‘query|NXDOMAIN’
- 可疑 HTTP 行为:sudo tcpdump -i eth0 -A -s 0 ‘tcp port 80 and (http.request.method == “POST” or http contains “cmd=”)’
- 深度分析
- 将 capture.pcap 下载到本地用 Wireshark/tshark 做可视化分析、重放与协议级取证。
三 常见攻击的抓包识别要点
| 攻击类型 |
抓包识别要点 |
示例命令或过滤 |
| DDoS/异常流量 |
某段时间流量突增、大量SYN或ICMP包、单一来源/目的占比异常 |
sudo tcpdump -i eth0 ‘tcp[tcpflags] & tcp-syn != 0’ -nn;配合 iftop/NetHogs 观察带宽占用 |
| 端口扫描 |
短时间内对多个端口发起连接尝试,伴随大量 SYN 且无后续 ACK |
sudo tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn |
| 暴力破解 SSH |
短时间内大量 SSH 连接失败(常见 port 22) |
sudo tcpdump -i eth0 -nn port 22 |
| Web 攻击(SQL 注入/XSS) |
HTTP 请求中出现SQL 片段或脚本标签 |
sudo tcpdump -i eth0 -A -s 0 ‘tcp port 80 and (http contains "select " or http contains “
|