如何通过Ubuntu Dumpcap进行网络安全审计
导读:Ubuntu 上使用 Dumpcap 进行网络安全审计 一 环境准备与权限配置 安装工具:在 Ubuntu 上安装 Wireshark(包含 Dumpcap)或直接安装 dumpcap。 命令:sudo apt update &...
Ubuntu 上使用 Dumpcap 进行网络安全审计
一 环境准备与权限配置
- 安装工具:在 Ubuntu 上安装 Wireshark(包含 Dumpcap)或直接安装 dumpcap。
- 命令:
sudo apt update & & sudo apt install -y wireshark dumpcap
- 命令:
- 权限最小化(推荐):为 dumpcap 授予捕获能力,避免使用 root 直接运行。
- 命令:
sudo setcap 'cap_net_raw,cap_net_admin+eip' /usr/bin/dumpcap - 将审计用户加入 wireshark 组并重新登录:
sudo usermod -aG wireshark $USER
- 命令:
- 目录与磁盘:为审计数据准备专用目录并控制配额,避免影响系统盘。
- 命令:
sudo mkdir -p /var/log/dumpcap & & sudo chown $USER:$USER /var/log/dumpcap
- 命令:
- 虚拟机/云环境:确保虚拟网卡允许混杂模式与抓包(如 VMware/VirtualBox 需开启混杂,云侧需开启 VPC 抓包/镜像 能力)。
二 捕获策略与常用命令
- 选择接口与基础捕获:优先明确审计目标网段/主机,减少无关流量。
- 命令:
dumpcap -i eth0 -w /var/log/dumpcap/eth0_$(date +%F_%H%M%S).pcap
- 命令:
- 捕获过滤器(BPF,减少内核到用户态的数据量):只抓取与审计目标相关的流量。
- 示例:仅 HTTP/HTTPS 与 DNS
dumpcap -i eth0 -f "tcp port 80 or tcp port 443 or udp port 53" -w web_dns.pcap
- 示例:仅 内网 192.168.1.0/24 到某台服务器的 22/3389
dumpcap -i eth0 -f "src net 192.168.1.0/24 and dst host 192.168.1.10 and (tcp port 22 or tcp port 3389)" -w admin_access.pcap
- 示例:仅 HTTP/HTTPS 与 DNS
- 环形缓冲与文件管理:长时间审计使用环形文件,避免磁盘被占满。
- 示例:每文件 100MB、最多 10 个文件
dumpcap -i eth0 -w /var/log/dumpcap/audit.pcap -a filesize:100000 -a files:10
- 示例:每文件 100MB、最多 10 个文件
- 多接口与实时分析:同时审计多网段,或实时用 Wireshark 观察。
- 多接口:
dumpcap -i eth0 -i wlan0 -w multi_if.pcap - 实时:
dumpcap -i eth0 -w - | wireshark -r -
- 多接口:
- 快照长度与缓冲:完整链路层取证建议 -s 0(抓取完整包);高吞吐场景增大内核环形缓冲。
- 示例:
dumpcap -i eth0 -s 0 -B 1048576 -w full_eth0.pcap
- 示例:
- 时间戳与详细输出:便于排查与取证时间线。
- 示例:
dumpcap -i eth0 -t ad -v -w ts_verbose.pcap
- 示例:
- 常用选项速览
-i < iface>:指定接口(如 eth0;any为所有接口)-f "< bpf> ":捕获过滤器(BPF 语法)-w < file>:输出文件(-表示标准输出)-a filesize:< KB>/-a files:< N>:环形文件大小与数量-s < len>:快照长度(0 为完整)-B < KB>:内核缓冲区大小-t ad/-v:时间格式与详细模式。
三 审计场景与 BPF 过滤器示例
| 审计目标 | BPF 过滤器示例 | 说明 |
|---|---|---|
| 可疑主机外联 | host 203.0.113.45 |
聚焦与特定外部 IP 的双向通信 |
| 内网横向移动 | src net 192.168.1.0/24 and dst net 192.168.1.0/24 and not host 192.168.1.1 |
内网互访,排除网关/安全设备 |
| 暴力登录尝试 | tcp dst port 22 and (tcp[tcpflags] &
tcp-syn != 0) and (tcp[tcpflags] &
tcp-ack == 0) |
仅 SYN 探测,定位 SSH 扫描 |
| HTTP 可疑访问 | tcp port 80 and (http.host contains "admin" or http.request.uri contains "cmd.php") |
结合显示过滤器在 Wireshark/tshark 中细化 |
| DNS 隧道/异常查询 | udp port 53 and (dns.qry.name contains "i2p" or dns.qry.name matches "\\.onion$") |
发现非常规域名与 .onion 查询 |
| 明文凭证泄露 | tcp port 21 or (tcp port 23 and data-text-lines contains "password") or (tcp port 3306 and data-text-lines contains "SELECT") or (tcp port 1433 and data-text-lines contains "SELECT") |
抓取常见明文协议与关键字(示例,需结合显示过滤器复核) |
| 可疑 SMB 行为 | tcp port 445 and (smb.cmd == 0x72 or smb2.cmd == 5) |
创建/打开文件等可疑操作(建议用显示过滤器复核) |
| 可疑 ICMP 隧道 | icmp and (icmp[4:4] >
100 or icmp[4:4] <
8) |
非标准 ICMP 载荷长度,需结合上下文研判 |
说明:上表的 BPF 为“捕获过滤器”,只影响抓什么;如需更细粒度分析,可在 Wireshark/tshark 中使用“显示过滤器”(如 http.request.method == "GET"、dns.qry.name contains "example")。 |
四 自动化与长期运行
- 按时间轮转(cron):每小时生成一个新文件,自动覆盖最旧文件。
- 命令:
0 * * * * /usr/bin/dumpcap -i eth0 -w /var/log/dumpcap/audit_$(date +\%F_\%H).pcap -a filesize:100000 -a files:24
- 命令:
- systemd 服务(可选):便于开机自启与集中管理(注意以最小权限运行)。
- 示例服务文件要点:
ExecStart=/usr/bin/dumpcap -i any -w /var/log/dumpcap/service_capture.pcap -a filesize:100000 -a files:10User=your_audit_user(该用户应属于 wireshark 组或具备相应能力)
- 管理:
sudo systemctl daemon-reload & & sudo systemctl enable --now dumpcap.service
- 示例服务文件要点:
- 日志轮转与容量控制:结合 logrotate 定期清理旧文件,避免磁盘被占满。
- 建议:设置 maxsize 与 rotate,并保留 7–30 天审计数据(视合规要求)。
五 分析与取证工作流
- 快速查看与协议统计:
- 基本信息:
tshark -r capture.pcap -T fields -e frame.number -e frame.time -e ip.src -e ip.dst | head - 协议分布:
tshark -r capture.pcap -qz io,stat,0
- 基本信息:
- 关键事件定位:
- HTTP GET/POST:
tshark -r capture.pcap -Y "http.request.method == 'GET' || http.request.method == 'POST'" -T fields -e http.host -e http.request.uri - DNS 异常查询:
tshark -r capture.pcap -Y "dns.qry.name contains 'onion' || dns.qry.name matches '\\.i2p$'" -T fields -e dns.qry.name
- HTTP GET/POST:
- 可疑外联与横向移动复核:
- 外联 IP 排行:
tshark -r capture.pcap -q -z ip_hosts,tree - 内网扫描特征:
tshark -r capture.pcap -Y "tcp.flags.syn == 1 and tcp.flags.ack == 0" -T fields -e ip.src -e tcp.dstport | sort | uniq -c | sort -nr | head
- 外联 IP 排行:
- 取证要点:
- 保留原始 .pcap 文件(只读封存),所有分析在副本上进行。
- 记录审计目标、时间窗、接口、过滤器与执行命令,形成可复现链路。
- 对含敏感信息的包,导出时脱敏(如替换 IP/域名/凭证),并限制访问权限。
- 合规提示:抓包可能触及隐私与合规要求,务必取得授权、最小化采集范围、妥善保护数据并定期清理。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何通过Ubuntu Dumpcap进行网络安全审计
本文地址: https://pptw.com/jishu/760493.html
