wireshark 抓包的 snort 分析

wireshark 抓包的 snort 分析

我正在尝试识别我们网络上的麻烦用户。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

我总是这样做:

  1. 创建虚拟网卡eth10
  2. 重放 eth10 上的流量
  3. 捕获 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

相关内容