CentOS Sniffer日志分析方法
在CentOS系统中,常用Sniffer工具为tcpdump(命令行)和Wireshark(图形界面)。若未安装,可通过以下命令安装:
sudo yum install tcpdump wireshark # 安装tcpdump和Wireshark 使用tcpdump捕获网络接口流量,并保存为.pcap文件(供后续分析):
# 基本捕获:监听eth0接口的所有流量 sudo tcpdump -i eth0 -w sniffer_output.pcap # 过滤特定流量:仅捕获80端口(HTTP)的流量 sudo tcpdump -i eth0 port 80 -w http_traffic.pcap # 限制捕获数量:捕获100个数据包后停止 sudo tcpdump -i eth0 -c 100 -w limited_capture.pcap 说明:-i指定接口,-w保存为.pcap文件,port过滤特定端口,-c限制数据包数量。
Wireshark是分析.pcap文件的常用工具,操作步骤如下:
File > Open,选择生成的.pcap文件(如sniffer_output.pcap)。tcp.port == 80udp.port == 53ip.addr == 192.168.1.100Statistics菜单,查看协议分布(Protocol Hierarchy)、流量趋势(Conversations)、数据包大小分布等统计信息,快速识别异常流量(如大量SYN包可能为DDoS攻击)。若偏好命令行,可使用tshark(Wireshark的命令行版本)或tcpdump直接分析.pcap文件:
tshark -r sniffer_output.pcap # 显示所有数据包的摘要信息 tshark -r sniffer_output.pcap -Y "tcp.port == 80" # 过滤HTTP流量 tcpdump -r sniffer_output.pcap -A # 以ASCII格式显示数据包内容(便于查看HTTP请求/响应) tcpdump -r sniffer_output.pcap | grep "GET" # 过滤HTTP GET请求 tcpdump过滤icmp(ping)流量判断是否存在ICMP Flood攻击。tcp.analysis.retransmission)、连接失败(如TCP SYN未收到ACK)的情况。journalctl查看系统日志,确认是否有网络服务故障(如sshd服务崩溃)或网络设备异常(如网卡down):journalctl -u sshd --since "2025-09-20" # 查看sshd服务的近期日志 journalctl -k | grep "network error" # 查看内核日志中的网络错误 对于长期运行的Sniffer,需定期管理日志文件,防止占用过多磁盘空间:
/etc/logrotate.conf或创建自定义配置文件(如/etc/logrotate.d/sniffer),设置日志轮转周期(如每天)、保留数量(如7天):/var/log/sniffer/*.pcap { daily rotate 7 compress missingok notifempty } .pcap文件:find /var/log/sniffer -name "*.pcap" -mtime +7 -delete