网络日志分析是系统管理和安全监控的重要组成部分。Linux提供了多种强大的工具来进行网络日志分析。以下是主要方法和工具:
/var/log/syslog
- 系统通用日志/var/log/auth.log
- 认证相关日志/var/log/kern.log
- 内核日志/var/log/dmesg
- 设备驱动和内核启动信息/var/log/nginx/
- Nginx访问和错误日志/var/log/apache2/
- Apache访问和错误日志# 查找特定IP地址的访问记录
grep "192.168.1.100" /var/log/nginx/access.log
# 查找错误信息
grep -i "error" /var/log/syslog
# 实时查看最新日志
tail -f /var/log/nginx/access.log
# 查看最后100行
tail -n 100 /var/log/syslog
# 统计访问量前10的IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10
# 统计HTTP状态码
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
# 安装
sudo apt install goaccess
# 使用
goaccess /var/log/nginx/access.log -a
# 安装
sudo apt install logwatch
# 运行
sudo logwatch --detail High
# 查看所有TCP连接
ss -tulnp
# 查看特定端口的连接
netstat -anp | grep :80
# 捕获HTTP流量
sudo tcpdump -i eth0 -A port 80
# 捕获特定IP的流量
sudo tcpdump host 192.168.1.100
# 安装
sudo apt install fail2ban
# 查看状态
sudo fail2ban-client status
# 安装
sudo apt install lynis
# 运行审计
sudo lynis audit system
使用logrotate
管理日志文件大小和保留周期:
# 查看配置
cat /etc/logrotate.conf
ls /etc/logrotate.d/
通过组合使用这些工具和技术,您可以有效地监控、分析和保护您的Linux网络环境。