包捕获

本文共有1767个字,关键词:snort包捕获pcap

包捕获

Snort 2.9为数据包I/O引入了DAQ或数据采集库,DAQ用一个抽象层替换了对libpcap函数的直接调用,该抽象层便于在各种硬设备和软件接口上进行操作而不需要对Snort进行更改。在调用Snort执行pcapreadback或内联操作时,可以选择DAQ类型和模式,等等。

注意:有些网卡具有影响Snort的功能。其中两个特性被命名为 ”Large Receive Offload” (lro)和”Generic Receive Offload” (gro)。启用这些功能后,网卡在数据包被内核处理之前, 执行分组重新组装。

默认情况下,Snort将截断大于1518字节的<u>默认snaplen</u>的数据包。此外,LRO和GRO可能会导致流目标重组的问题。我们建议您关闭 LRO和GRO。在Linux系统上,您可以运行:

ethtool -K eth1 gro off
ethtool -K eth1 lro off

1、配置

假设您没有禁用静态模块或更改默认的DAQ类型,您可以像往常一样运行Snort来读取文件或嗅探接口。但是,您可以在调用Snort时,按以下方式选择和配置DAQ:

./snort \
    [--daq <type>] \
    [--daq-mode <mode>] \
    [--daq-dir <dir>] \
    [--daq-var <var>]
config daq: <type>
config daq_dir: <dir>
config daq_var: <var>
config daq_mode: <mode>
<type> ::= pcap | afpacket | dump | nfq | ipq | ipfw
<mode> ::= read-file | passive | inline
<var> ::= arbitrary <name>=<value> passed to DAQ
<dir> ::= path where to look for DAQ module so’s

DAQ类型、模式、变量和目录可以通过命令行或在conf文件中指定。通过重复arg/config,您可以包含尽可能多的变量和目录。DAQ类型可以在conf中指定一次或在命令行上指定一次;如果在这两处都配置了DAQ类型,则命令行将覆盖该conf。

如果模式没有显式设置,-q将强制它内联,如果没有设置,-r将强制它读取文件,如果没有设置,模式默认为被动模式。还有-q和–daq-mode内联是允许的,因为没有冲突,但是-Q 和任何其他 DAQ 模式将导致启动时的致命错误。

注意,如果Snort找到一个给定库的多个版本,则会选择最近的版本。这适用于同一库的静态和动态版本。

./snort --daq-list[=<dir>]
./snort --daq-dir=<dir> --daq-list

上面的命令在指定的目录中搜索DAQ模块和每个模块的打印类型、版本和属性。此功能在conf中不可用。Snort在解析 –daq-list后停止处理。 因此,如果您想在命令行的-daq-list之前添加一个或多个目录,请添加-daq-dir选项。(因为目录是可选的to-daq-list,所以必须为thi使用不带空格的= (S选项)

2、 pcap

PCAP是默认的DAQ。如果Snort运行任何DAQ参数,它将像往常一样使用这个模块进行操作。它们相当于:

./snort -i <device>
./snort -r <file>
./snort --daq pcap --daq-mode passive -i <device>
./snort --daq pcap --daq-mode read-file -r <file>

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

阿恒

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成支付

添加新留言
暂无留言