一、前期准备:选择工具与合法授权
使用Linux Sniffer进行安全审计前,需先选择合适的工具并明确授权范围。常用工具包括:
tcpdump(轻量级、适合快速捕获)、Netcap(生成结构化审计记录);Wireshark(可视化分析、功能全面)。二、安装Sniffer工具
根据Linux发行版选择对应安装方式:
tcpdump:sudo apt-get install tcpdump -y;Wireshark:sudo apt-get install wireshark -y(需确认是否安装libpcap-dev依赖)。tcpdump:sudo yum install tcpdump -y;Wireshark:sudo yum install wireshark -y。sudo yum groupinstall "Development Tools" -y + sudo yum install ncurses-devel zlib-devel awk flex quilt git-lfs openssl-devel xz -y;git clone https://github.com/netsniff/netsniff.git && cd netsniff;make && sudo make install;/etc/netsniff/netsniff.conf(可修改接口、过滤规则等参数)。三、捕获网络流量
使用Sniffer捕获流量的核心命令:
sudo tcpdump -i eth0(-i指定接口,如eth0、wlan0;默认捕获所有流量)。sudo tcpdump -i eth0 icmp(仅捕获ICMP流量,如ping请求);sudo tcpdump -i eth0 port 80(捕获HTTP流量);sudo tcpdump -i eth0 src 192.168.1.100(捕获来自指定IP的流量);sudo tcpdump -i eth0 tcp and port 443(捕获HTTPS流量)。sudo tcpdump -i eth0 -w capture.pcap(-w将流量保存到capture.pcap文件,便于后续分析)。四、分析捕获数据
sudo tcpdump -r capture.pcap(-r读取文件);sudo tcpdump -r capture.pcap | wc -l(统计数据包数量);sudo tcpdump -r capture.pcap | awk '{print $3}' | cut -d. -f1 | sort | uniq -c(统计源IP分布)。wireshark capture.pcap;http.request.method == POST查看POST请求、tcp.analysis.retransmission查看重传包);五、识别常见安全威胁
通过Sniffer捕获的流量,可识别以下典型安全威胁:
tcp.flags.syn == 1)且无ACK响应;' OR 1=1 --、SELECT * FROM users),可通过tcpdump -i eth0 'port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x53454c45'过滤SELECT语句;<script>alert('xss')</script>),可通过Wireshark的“响应内容”过滤查看;nmap -sS 192.168.1.1会产生大量SYN包)。六、配合其他工具增强审计能力
为提升审计全面性,可结合以下工具:
sudo iftop -i eth0),识别占用高带宽的IP或进程;sudo nethogs eth0),定位异常流量的来源程序;ssh -L 12345:localhost:12345 user@centos_ip建立隧道,在本地运行tcpdump -i eth0 -w - | nc -l -p 12345将流量转发到本地,避免直接暴露监控接口。七、注意事项
-c参数限制捕获数量(如sudo tcpdump -i eth0 -c 100捕获100个包后停止)。capture.pcap存放到加密分区)或定期删除;禁止未经授权分享捕获文件。sudo tcpdump -i eth0 -w /var/log/tcpdump.log),并定期备份日志,便于后续追溯。