1. 安装必要的Sniffer工具
在Ubuntu系统中,需先安装核心的Sniffer工具(如tcpdump、Wireshark)及入侵检测工具(如snort)。tcpdump是命令行数据包捕获工具,Wireshark提供图形化分析界面,snort是开源网络入侵检测系统(NIDS),支持签名检测与协议分析。安装命令如下:
tcpdump:sudo apt-get install tcpdumpWireshark:sudo add-apt-repository ppa:wireshark-dev/stable && sudo apt update && sudo apt install wireshark(安装时需允许非超级用户捕获数据包)snort:sudo apt-get install snort(默认安装为嗅探模式,如需入侵预防需额外配置inline模式)。2. 捕获网络流量数据
使用Sniffer工具捕获目标网络接口的流量,为后续分析提供原始数据。常用命令示例:
eth0接口的所有流量并保存到capture.pcap文件(便于后续离线分析):sudo tcpdump -i eth0 -w capture.pcapeth0接口,点击“开始捕获”,实时查看流量详情(如HTTP请求、DNS查询等)。3. 分析流量中的入侵特征
通过过滤规则筛选可疑流量,识别常见入侵行为的特征:
nmap扫描),tcpdump过滤命令:sudo tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0 and tcp[tcpflags] & (tcp-ack) = 0'(仅显示SYN包,无ACK包的连接尝试)。tcpdump过滤SYN包:sudo tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0' | wc -l(统计SYN包数量,短时间内超过阈值则可能为攻击)。' OR 1=1 --)、XSS(如<script>标签)等攻击特征。4. 利用Snort实现实时入侵检测
snort通过规则库匹配流量,实时报警并记录入侵行为。配置步骤:
/etc/snort/snort.conf,启用常用规则集(如community.rules,包含针对DDoS、端口扫描等的规则),取消对应行的注释:include $RULE_PATH/community.ruleseth0接口,日志输出到/var/log/snort/alert):sudo snort -i eth0 -c /etc/snort/snort.conf -A console(-A console表示实时输出报警信息到控制台)。tail -f /var/log/snort/alert实时查看入侵报警(如“TCP SYN Flood attack detected”)。5. 响应与处理入侵行为
当检测到入侵行为时,需及时采取措施阻止攻击:
tcpdump捕获的capture.pcap文件或snort的报警日志,用于后续分析攻击来源与方式。iptables添加规则,拒绝攻击源IP的流量(如攻击源IP为192.168.1.100):sudo iptables -A INPUT -s 192.168.1.100 -j DROP