三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

告别抓瞎!Wireshark协议分析保姆级教程:5分钟看懂谁在扫描你的网络

告别抓瞎!Wireshark协议分析保姆级教程:5分钟看懂谁在扫描你的网络

网络流量分析实战:用Wireshark快速定位异常扫描行为

1. 网络流量分析的价值与场景

想象一下这样的场景:凌晨三点,你被刺耳的手机警报惊醒,监控系统显示核心服务器带宽利用率飙升至95%。登录系统后,发现大量陌生IP正在连接非业务端口,但传统的防火墙日志只能告诉你"有异常",却无法揭示攻击者的行为模式。这正是Wireshark这类专业流量分析工具大显身手的时刻。

不同于防火墙或IDS的告警信息,原始网络流量包(pcap)就像犯罪现场的指纹,记录了攻击者每一个操作细节。通过分析这些数据,我们可以:

  • 确认异常流量是扫描行为还是真实攻击
  • 识别攻击者使用的工具特征(如Nmap扫描指纹)
  • 定位内部可能被攻陷的主机
  • 收集证据用于后续安全加固

典型应用场景包括:

  • 服务器出现异常带宽占用时
  • 安全设备报警但缺乏详细信息时
  • 需要追溯历史安全事件时
  • 验证防火墙规则是否生效时

2. Wireshark快速入门:从零到分析

2.1 基础捕获设置

安装Wireshark后,首次使用时需要选择正确的网卡。在Linux服务器上,通常选择eth0或ens系列接口;Windows服务器则多为"以太网"适配器。一个常见错误是监控了错误的网卡,导致抓不到目标流量。

关键捕获技巧

# 仅捕获与特定主机相关的流量(减少噪音) host 192.168.1.100 # 排除SSH等管理流量(避免干扰) not port 22 # 限制捕获包大小(节省空间) -s 96 # 只捕获每个包的前96字节

提示:生产环境中建议使用-w参数将捕获结果直接保存到文件,避免消耗过多内存

2.2 必须掌握的显示过滤器

Wireshark的强大之处在于其丰富的显示过滤器。与捕获过滤器不同,显示过滤器不会丢弃数据,只是在界面上隐藏不匹配的包。

常用过滤示例

# 筛选特定协议的异常流量 tcp.flags.syn==1 and tcp.flags.ack==0 # SYN扫描特征 icmp.type==8 and icmp.code==0 # ICMP扫描 # 识别潜在扫描行为 tcp.port>=1 and tcp.port<=1024 and tcp.flags.reset==1 # 定位高频率通信 frame.time_delta < 0.1 # 每0.1秒就有的通信

3. 深度分析:识别扫描行为模式

3.1 端点(Endpoints)分析实战

在菜单栏选择"统计"→"端点",会显示所有通信端点的流量统计。这里隐藏着识别扫描者的关键线索:

特征正常流量扫描行为
连接端口数通常<5个数十甚至上百个
数据包分布双向流量均衡大量单边SYN包
协议类型集中在业务协议多端口多协议试探

典型案例:某次分析中发现一个外部IP在5分钟内尝试连接了服务器上800多个不同端口,且90%的包都是SYN请求,这明显是端口扫描行为。

3.2 对话(Conversations)分析技巧

"统计"→"对话"功能可以显示主机之间的通信矩阵。对于扫描分析,重点关注:

  1. TCP对话:异常的大量短期连接
  2. UDP对话:非常用端口的突发流量
  3. 持续时间:扫描通常集中在短时间内
# 使用tshark命令行提取对话统计(适合自动化分析) tshark -r scan.pcap -q -z conv,tcp

4. 协议特征分析:从流量看攻击手法

4.1 常见扫描的协议特征

不同扫描工具会产生独特的流量特征:

Nmap默认SYN扫描

  • 连续发送SYN包到多个端口
  • 收到SYN-ACK后发送RST终止连接
  • 时间间隔均匀(可通过-T参数调整)

全连接扫描

  • 完整的三次握手
  • 通常会留下更多日志证据
  • 可能伴随User-Agent等应用层特征

ICMP扫描

  • 大量ICMP Echo Request
  • 可能使用非常规大小或TTL
  • 常与UDP扫描结合使用

4.2 高级分析技巧

时间序列分析: 在"统计"→"IO图表"中,可以观察到扫描流量的时间规律。自动化扫描通常呈现明显的周期性峰值,而正常用户流量则相对随机。

Payload分析: 右键可疑数据包→"追踪流"→"TCP流",可以重组应用层数据。某些扫描工具会在payload中留下特征字符串:

# Nmap服务探测的典型特征 SF-Port80-TCP:V=7.80%I=7%D=8/3%Time=5F298FE3

5. 实战案例:从警报到定位的全过程

某金融企业内网监控发现数据库服务器出向流量异常。通过Wireshark分析捕获的流量,我们:

  1. 首先用endpoints统计发现192.168.5.33与多个外部IP建立连接
  2. 过滤该IP的流量:ip.addr==192.168.5.33
  3. 发现大量到TCP 1433端口的连接尝试
  4. 追踪TCP流看到SQL注入尝试语句
  5. 最终确认该主机已被攻陷,成为内网横向移动的跳板

关键证据提取命令

# 提取所有与可疑主机的HTTP请求 tshark -r incident.pcap -Y "http.request and ip.src==192.168.5.33" -T fields -e http.host -e http.request.uri

6. 防御建议与最佳实践

基于流量分析结果,我们可以采取针对性防御措施:

  • 防火墙规则优化:对识别出的扫描源IP实施封锁
  • IDS签名更新:将新发现的攻击特征加入检测规则
  • 网络架构调整:隔离易受攻击的系统

日常运维建议

  • 定期捕获基线流量样本
  • 建立常见业务流量的指纹库
  • 对关键系统实施持续流量监控

在云环境中的特殊考虑:云平台的虚拟网络设备可能需要特殊配置才能正确捕获流量,AWS的VPC流量镜像、Azure的NSG流日志等都是不错的选择。

← 返回列表