我正在尝试识别我们网络上的麻烦用户。ntop 可以识别高流量和高连接用户,但恶意软件并不总是需要高带宽才能真正搞乱局面。因此,我尝试使用 snort 进行离线分析(不想让路由器因 20 Mbps 流量的在线分析而负担过重)。显然 snort 提供了一个-r
用于此目的的选项,但我无法运行分析。
分析系统是 gentoo,amd64,以防万一。我已经使用 oinkmaster 下载了最新的 IDS 签名。但是当我尝试运行 snort 时,我不断收到以下错误:
% snort -V
,,_ -*> Snort! <*-
o" )~ Version 2.9.0.3 IPv6 GRE (Build 98) x86_64-linux
'''' By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team
Copyright (C) 1998-2010 Sourcefire, Inc., et al.
Using libpcap version 1.1.1
Using PCRE version: 8.11 2010-12-10
Using ZLIB version: 1.2.5
%> snort -v -r jan21-for-snort.cap -c /etc/snort/snort.conf -l ~/snortlog/
(剪辑)
273 out of 1024 flowbits in use.
[ Port Based Pattern Matching Memory ]
+- [ Aho-Corasick Summary ] -------------------------------------
| Storage Format : Full-Q
| Finite Automaton : DFA
| Alphabet Size : 256 Chars
| Sizeof State : Variable (1,2,4 bytes)
| Instances : 314
| 1 byte states : 304
| 2 byte states : 10
| 4 byte states : 0
| Characters : 69371
| States : 58631
| Transitions : 3471623
| State Density : 23.1%
| Patterns : 3020
| Match States : 2934
| Memory (MB) : 29.66
| Patterns : 0.36
| Match Lists : 0.77
| DFA
| 1 byte states : 1.37
| 2 byte states : 26.59
| 4 byte states : 0.00
+----------------------------------------------------------------
[ Number of patterns truncated to 20 bytes: 563 ]
ERROR: Can't find pcap DAQ!
Fatal Error, Quitting..
net-libs/daq 已安装,但我甚至不想捕获流量,我只想处理捕获文件。
为了进行离线分析而不是实时捕获,我应该设置/取消设置哪些配置选项?
答案1
我对 Gentoo 不是特别熟悉,但您可以尝试使用“--daq-list”标志来查看 Snort 看到的 DAQ 模块(如果有)。
例如:
# snort --daq-list
Available DAQ modules:
pcap(v3): readback live multi unpriv
ipfw(v2): live inline multi unpriv
dump(v1): readback live inline multi unpriv
afpacket(v4): live inline multi unpriv
然后使用“--daq-dir”标志将 Snort 指向包含 DAQ 库的目录。
snort -v -r jan21-for-snort.cap -c /etc/snort/snort.conf -l ~/snortlog/ --daq-dir /usr/local/lib/daq/
答案2
我不完全确定修复是什么,但它可能与编译 snort 时指定的 USE 标志有关。以下内容报告了这一点邮政我认为该帖子也包含一个临时解决方案。
我建议使用其他发行版/Windows,或者去 Gentoo 论坛询问有关 Snort 的构建问题。
答案3
我总是这样做:
- 创建虚拟网卡eth10
- 重放 eth10 上的流量
- 捕获 eth10 上的流量
创建虚拟 NIC
我将其放入 bash 脚本中使其可执行(chmod +x script.sh)并执行它:
#!/usr/bin/env bash
modprobe dummy
lsmod | grep dummy
ip link set name eth10 dev dummy0
ip link show eth10
ifconfig eth10 hw ether 00:22:22:ff:ff:ff
ip link show eth10
ip addr add 192.168.100.199/24 brd + dev eth10 label eth10:0
ifconfig eth10 up
ifconfig eth10 promisc
重播流量
获取tcpreplay
并执行:
sudo tcpreplay -i eth10 -T nano mypcap.pcap
捕获流量
发出呼噜声:
sudo snort -i eth10 -u snort -g snort -c /etc/snort/snort.conf