Linux Sniffer监控网络异常的核心流程与实践方法
网络异常(如DDoS攻击、蠕虫传播、带宽滥用、非法访问等)会严重影响网络性能与安全,而Sniffer通过捕获、解析网络数据包,成为识别此类异常的关键工具。其核心逻辑是还原网络底层通信细节,通过与正常状态的对比或异常特征匹配,快速定位问题根源。
Sniffer需开启混杂模式(Promiscuous Mode),接收网络接口上所有经过的数据包(而不仅是本机接收的),确保无遗漏地捕获异常流量。捕获的数据包需通过解析工具(如tcpdump、Wireshark)还原为可分析的格式(如IP地址、端口、协议、载荷)。
sudo tcpdump -i eth0捕获eth0接口所有流量);-c计数、Wireshark的Statistics菜单),识别突发流量(如1分钟内收到10万次SYN包)、非典型协议(如内网突然出现大量ICMP流量)等异常。通过过滤表达式缩小监控范围,聚焦高风险流量:
sudo tcpdump host 192.168.1.100(监控特定主机的所有流量);sudo tcpdump port 22(监控SSH登录流量,识别暴力破解);sudo tcpdump icmp(监控ICMP流量,识别Ping Flood攻击);sudo tcpdump src 10.0.0.0/8 and dst port 80(监控内网到Web服务器的HTTP流量)。SYN_RECV状态堆积)、带宽占满(如eth0接口入站流量突增至1Gbps,远超正常100Mbps)、连接数异常(netstat -antp | grep SYN_RECV | wc -l显示数千个未完成连接);sudo tcpdump 'tcp[tcpflags] & (tcp-syn) != 0'),或通过Wireshark查看Conversations统计中的流量峰值。top命令显示xmrig、kworker等进程),流量特征为向固定矿池IP发送大量UDP/TCP包(端口3333、14444);nmap扫描特征,如tcpdump 'tcp[tcpflags] & (tcp-syn) != 0 and tcp[13] & (tcp-syn|tcp-ack) = tcp-syn'),目标IP为连续网段;ss -antp | grep 8081显示root运行的nc进程),或隐藏进程(ps aux看不到但top能看到高CPU进程)。iftop显示某IP下行流量持续高于100Mbps),导致其他主机无法正常上网;iftop -o),或用nethogs查看进程级带宽使用(sudo nethogs eth0),定位占用带宽的源头。telnet 192.168.1.100 3306访问MySQL)、大量数据外发(如tcpdump捕获到大量向外网的POST请求,载荷包含敏感信息(如password=123456));sudo tcpdump port 3306),或用Wireshark过滤POST请求(http.request.method == POST),检查载荷内容。