抓包能证明什么
在授权范围内抓包可以核验具体事实:扫描流量的来源地址、速率与目标端口,是否真的存在异常外联,某端口上跑的到底是哪个服务。相对于日志与告警的二手信息,抓包是接近原始事实的证据。但抓包文件包含业务内容,必须按敏感数据管理。
基本信息
| 常用选项 | -i 网卡、-nn 不解析名称、-c 数量、-w 写文件、-r 读文件 |
|---|---|
| 过滤表达式 | host、port、net、tcp[tcpflags] 组合 |
| 权限要求 | 需要 root 或相应能力位 |
| 存储要求 | pcap 文件按敏感数据加密留存并设保留期 |
| 交叉印证 | 与边界防火墙、云流量日志比对 |
典型使用场景
- 扫描核验:确认告警中的扫描流量是否真实存在及其速率
- 外联排查:核实主机是否真的在向外部地址发起连接
- 服务辨认:对端口返回的原始指纹做人工判断
- 协议排障:确认连接建立在哪一步失败(握手、升级还是应用层)
- 证据留存:为安全事件提供可复核的流量记录
常用抓包命令
常用抓包命令
tcpdump -i eth0 -nn 'host 192.0.2.10 and tcp port 443' -c 200 -w scan.pcap
tcpdump -i eth0 -nn 'tcp[tcpflags] & tcp-syn != 0' -c 500 # 观察 SYN 扫描特征
tcpdump -i any -nn -s 0 'tcp port 22' -w ssh.pcap # 完整包长抓取
tcpdump -r scan.pcap -nn | head -n 20 # 回放读取
# 抓包与实时查看并存:加 -l 让输出行缓冲,便于管道处理常用过滤表达式
| 表达式 | 含义 | 用途 |
|---|---|---|
| host 192.0.2.10 | 指定主机 | 聚焦单一来源或目标 |
| tcp port 443 | 指定端口 | 核验某服务的流量 |
| net 192.0.2.0/24 | 指定网段 | 观察整个网段的活动 |
| tcp[tcpflags] & tcp-syn != 0 | 仅 SYN 包 | 识别扫描与连接尝试 |
| not port 22 | 排除某端口 | 过滤自身管理流量干扰 |
抓包窗口与过滤器要精确:全量抓包在繁忙网络上会迅速吃满磁盘,也可能因丢包导致证据不完整,按需限定时间、主机与端口更实用。
抓包前确认授权与留存期限:文件包含业务数据与凭据片段,归档位置、加密方式与销毁时间都应有明确约定,避免形成一批无人负责的敏感数据。