要发现Linux系统中的异常流量,可以通过多种日志和工具进行分析。以下是一些有效的方法:
grep -i "network" /var/log/messages
或 grep -i "denied" /var/log/syslog
grep -i "failed" /var/log/auth.log
netstat -antp # 查看所有TCP连接
netstat -anup # 查看所有UDP连接
ss -s # 显示连接统计
ss -tulnp # 显示监听端口和进程
iftop -i eth0 # 实时监控指定网卡的流量
nethogs eth0 # 按进程显示带宽使用情况
vnstat -l # 实时流量监控
vnstat -d # 每日流量统计
dmesg | grep -i "iptables"
或检查 /var/log/kern.log
tcpdump -i eth0 -n -s 0 -w capture.pcap # 捕获原始流量供后续分析
tshark -i eth0 -f "tcp port 80" # 命令行版Wireshark
#!/bin/bash
# 监控异常连接数
ALERT=100
CONNS=$(netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n | tail -n1 | awk '{print $1}')
if [ "$CONNS" -gt "$ALERT" ]; then
echo "异常连接数: $CONNS" | mail -s "网络异常警报" admin@example.com
fi
通过结合这些工具和方法,您可以有效地监控和识别Linux系统中的异常网络流量模式。