CentOS Sniffer自动化网络管理实战

一 架构与工具选型
二 自动化抓包与定时任务
#!/usr/bin/env bashset -euo pipefailIFACE="${1:-eth0}"COUNT="${2:-100}"DIR="/var/log/sniffer/$(date +%F)"mkdir -p "$DIR"PCAP="$DIR/${IFACE}_$(date +%H%M%S).pcap"sudo tcpdump -i "$IFACE" -c "$COUNT" -w "$PCAP" 'tcp or udp or icmp' || true # 可按需收紧过滤器# 示例:统计Top 10 IPtshark -r "$PCAP" -q -z io,stat,1,"COUNT(tcp.port)" | tail -n 12 | head -n 11 >> "$DIR/summary_$(date +%H%M%S).txt"*/5 * * * * /usr/local/bin/sniffer_automation.sh eth0 200 >> /var/log/sniffer/cron.log 2>&1三 提升效率与性能的关键配置
四 从抓包到自动化响应的闭环
#!/usr/bin/env bashPCAP="$1"TOP_IP=$(tshark -r "$PCAP" -q -z io,stat,1,"COUNT(tcp.port)" | tail -n 12 | head -n 11 | awk 'NR>1 {print $2; exit}')if [[ "$TOP_IP" =~ ^[0-9]+.[0-9]+.[0-9]+.[0-9]+$ ]] && (( TOP_IP > 1000 )); thenecho "ALERT: Top IP $TOP_IP exceeds threshold" | tee /var/log/sniffer/alert_$(date +%s).log# 可在此调用 Ansible/Salt 或 nmcli/ip 执行联动fi五 合规与风险控制