1.7 Basic Output

Snort可以做很多任务, 并且在任务完成后输出很多有用的统计信息. 一些不用说明就可以看懂, 其他的总结在这里, 不过只是一些基本的

1.7.1 Timing Statistics

提供基本时间信息统计, 包括总的秒数和捕获的packet数, 还有计算每秒抓多少个包, 例如:

===============================================================================
Run time for packet processing was 175.856509 seconds
Snort processed 3716022 packets.
Snort ran for 0 days 0 hours 2 minutes 55 seconds
Pkts/min: 1858011
Pkts/sec: 21234
===============================================================================

1.7.2 Packet I/O Totals

显示 DAQ 抓到的和注入的包的总数。如果看pcaps的话,显示的是所有的pcaps,除非使用 -pcap-reset 来显示每一个 pcap

  • 非常棒的显示了有多少个已经缓存的packets,这个方式是统计各种DAQ的信息,所以可以读DAQ的文档获取更多信息。
  • 过滤的包不会被DAQ记录
  • 注入(injected)的包是主动响应(active response)的结果,在 inline 或 passive 模式中配置。

示例:

===============================================================================
Packet I/O Totals:
Received: 3716022
Analyzed: 3716022 (100.000%)
Dropped: 0 ( 0.000%)
Filtered: 0 ( 0.000%)
Outstanding: 0 ( 0.000%)
Injected: 0
===============================================================================

1.7.3 Protocol Statistics

显示Snort解析的所有流量的协议,这些协议包括内部的 pseudo-packets 如果启用像 frag3 和 steam5 的话总数会比解析的包大的多。

  • 盘计数(Disc counts)因为基本编码的缺陷Snort无法解码,归为丢弃数。
  • Other 项包含Snort无法解码的包
  • S5 G 1/2 项是 客户端/服务器 会话中 stream5 刷新用来 缓存限制(cache limit) 会话超时(session timeout) 会话重置(session reset) 的计数.

示例:

===============================================================================
Breakdown by protocol (includes rebuilt packets):
Eth: 3722347 (100.000%)
VLAN: 0 ( 0.000%)
IP4: 1782394 ( 47.884%)
Frag: 3839 ( 0.103%)
ICMP: 38860 ( 1.044%)
UDP: 137162 ( 3.685%)
TCP: 1619621 ( 43.511%)
IP6: 1781159 ( 47.850%)
IP6 Ext: 1787327 ( 48.016%)
IP6 Opts: 6168 ( 0.166%)
Frag6: 3839 ( 0.103%)
ICMP6: 1650 ( 0.044%)
UDP6: 140446 ( 3.773%)
TCP6: 1619633 ( 43.511%)
Teredo: 18 ( 0.000%)
ICMP-IP: 0 ( 0.000%)
EAPOL: 0 ( 0.000%)
IP4/IP4: 0 ( 0.000%)
IP4/IP6: 0 ( 0.000%)
IP6/IP4: 0 ( 0.000%)
IP6/IP6: 0 ( 0.000%)
GRE: 202 ( 0.005%)
GRE Eth: 0 ( 0.000%)
GRE VLAN: 0 ( 0.000%)
GRE IP4: 0 ( 0.000%)
GRE IP6: 0 ( 0.000%)
GRE IP6 Ext: 0 ( 0.000%)
GRE PPTP: 202 ( 0.005%)
GRE ARP: 0 ( 0.000%)
GRE IPX: 0 ( 0.000%)
GRE Loop: 0 ( 0.000%)
MPLS: 0 ( 0.000%)
ARP: 104840 ( 2.817%)
IPX: 60 ( 0.002%)
Eth Loop: 0 ( 0.000%)
Eth Disc: 0 ( 0.000%)
IP4 Disc: 0 ( 0.000%)
IP6 Disc: 0 ( 0.000%)
TCP Disc: 0 ( 0.000%)
UDP Disc: 1385 ( 0.037%)
ICMP Disc: 0 ( 0.000%)
All Discard: 1385 ( 0.037%)
Other: 57876 ( 1.555%)
Bad Chk Sum: 32135 ( 0.863%)
Bad TTL: 0 ( 0.000%)
S5 G 1: 1494 ( 0.040%)
S5 G 2: 1654 ( 0.044%)
Total: 3722347
===============================================================================

1.7.4 Snort Memory Statistics

示例:

===============================================================================
Memory usage summary:
Total non-mmapped bytes (arena): 415481856
Bytes in mapped regions (hblkhd): 409612288
Total allocated space (uordblks): 92130384
Total free space (fordblks): 323351472
Topmost releasable block (keepcost): 3200
===============================================================================

1.7.5 Actions, Limits, and Verdicts

Action 和 Verdicts 的计数显示了Snort分析过的包。这个信息只会在IDS模式(-c <conf>)输出。

  • Alearts 计数了规则中定义的活动(activate)的,警告(alert)和屏蔽(block)的动作。block中包括block,drop和reject动作。

Limits的引入是因为现实中包括执行时间和可用内存。这些导致潜伏的动作没有发生:

  • Match Limit 计数规则匹配了因为 config detection: max queue events 设置中限制的没有执行的动作。
  • Queue Limit 计数了时间队列中因为 config event queue: max queue 设置中限制的不能储存的事件。
  • Log Limit 计数了因为 config event queue: log 设置中限制的没有报警的事件。
  • Event Limit 计数了 event_filter 中限制的没有报警的事件。
  • Alert Limit 计数了因为已经在会话中触发没有报警的事件。

Vedicts由Snort中分析的每个包计数:

  • Allow Snort分析后没有进行动作的包。
  • Block Snort因为block规则没有转发的包。用 Block 代替 Drop 来防止混淆丢包(Snort没有见到的包 Dropped packets)和屏蔽包(Snort不允许通过的包 Blocked packets)。
  • Replace Snort修正的包,例如,为了一般化或者因为替代规则规定(replace rules)。这只能在 inline 模式中和可兼容的 DAQ 产生。
  • Whitelist Snort分析程式允许通过 w/o 检查的流,和 blacklist 类似,由DAQ或者Snort后续的包完成。
  • Blacklist Snort不允许通过的流。如果DAQ硬件支持,会话中Snort不会见到其中的包,如果不支持,snort会屏蔽每个包而且这会导致计数变高。
  • Ignore Snort一次允许通过 w/o 检查的流。和 blacklist 一样,这由DAQ或Snort后续的包完成。
  • Int Blklst 屏蔽的 GTP Teredo 6in4 或者 4in6 封装的包。这些包如果在 config tunnel verdicts 中设置了以上协议会被列入黑名单屏蔽。注意只计入输出非零的输出。同时,这个计数会在流中第一个包报警时增加。长生警告的包和其流中之后所有的包都会被计数而且屏蔽。
  • Int Whtlst 允许通过的 GTP Teredo 6in4 或者 4in6 封装的包。这些包如果在 config tunnel verdicts 中设置了以上协议会被列入白名单。注意只计入输出非零的输出。同时,这个计数会在流中所有警告的包增加。

示例:

===============================================================================
Action Stats:
Alerts: 0 ( 0.000%)
Logged: 0 ( 0.000%)
Passed: 0 ( 0.000%)
Limits:
Match: 0
Queue: 0
Log: 0
Event: 0
Alert: 0
Verdicts:
Allow: 3716022 (100.000%)
Block: 0 ( 0.000%)
Replace: 0 ( 0.000%)
Whitelist: 0 ( 0.000%)
Blacklist: 0 ( 0.000%)
Ignore: 0 ( 0.000%)
===============================================================================

1.8 Tunneling Protocol Support

Snort支持解码很多隧道协议(tunneling protocol),包括 GRE, MPLS, IP in IP, ERSPAN, 全部默认开启。

关闭任何GRE相关封包的支持, PPTP over GRE, IPv4/IPv6 over GRE, ERSPAN,需要一条额外的设置:

$ ./configure --disable-gre

关闭MPLS支持,需要单独的配置:

$ ./configure --disable-mpls

1.8.1 Multiple Encapsulations

Snort会解码多重封包,例如:

Eth IPv4 GRE IPv4 GRE IPv4 TCP Payload

或者

Eth IPv4 IPv6 IPv4 TCP Payload

将不会被处理并且产生解码器警告。

1.8.2 Logging

目前,只有分组的封装部分被记录,例如:

Eth IP1 GRE IP2 TCP Payload

被记录为

Eth IP2 TCP Payload

Eth IP1 IP2 TCP Payload

被记录为

Eth IP2 TCP Payload

注意:PPTP 是利用 GRE 和 PPP,解码PPTP时,目前不支持需要字对齐(word alignment)的架构,例如 SPARC 。




Snort - manual 笔记(四)的更多相关文章

  1. Snort - manual 笔记(一)

    Chapter 1 Snort Overview This manual is based on Writing Snort Rules by Martin Roesch and further wo ...

  2. Snort - manual 笔记(五)

    1.9 Miscellaneous 1.9.1 Running Snort as a Daemon 如果你想让Snort作为守护程序运行,你可以在最后加上 -D 选项.清注意如果你想通过发送一个 SI ...

  3. Snort - manual 笔记(二)

    1.5 Packet Acquisition Snort 2.9 引入 DAQ 代替直接调用 libpcap . 有两种网卡特性会影响 Snort : "Large Receive Offl ...

  4. Snort - manual 笔记(三)

    1.6 Reading pcap files Snort 不仅可以监听interface, 还可以读取和分析已经捕获的数据包. 1.6.1 Command line arguments 下面的命令都可 ...

  5. 阅读Cortex-A53 Technical Reference Manual笔记

    1. 前言 一颗芯片最主要的就是CPU核了,处理CPU Core之外,还存在很多其他IP,包括Graphical.Multimedia.Memory Controller.USB Controller ...

  6. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  7. 《MFC游戏开发》笔记四 键盘响应和鼠标响应:让人物动起来

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9327377 作者:七十一雾央 新浪微博:http:// ...

  8. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  9. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

随机推荐

  1. Java面试题技术类一

    1.面向对象编程的三大特性是什么? (1).继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继 ...

  2. Android基于mAppWidget实现手绘地图(八)–获取用户地理位置

    你有两种方式确定用户的当前位置: 1.使用安卓标准方式 2. 使用MapWidget的监听器 标准方式: 在你的acivity中加入: LocationManager locManager = (Lo ...

  3. Mac OSX Java 编译时乱码问题

    由于是新系统,之前没有配置过导致今天javac编译的时候发现再iterm和Terminal中显示的是乱码,后来在网上找到解决方法,现在共享一下: 方法一: 在iterm2/Terminal中输入: c ...

  4. angularjs学习总结 详细教程(转载)

    1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...

  5. resin4 发布war包

    1.将web项目打包成xxxx.war 2.将war包放到webapps下 3.修改conf/resin.xml文件如下部分: <!-- - Configures the main applic ...

  6. Head插件——学习Elasticsearch的锋刃利器!

    在学习Elasticsearch的过程中,必不可少需要通过一些工具查看es的运行状态以及数据.如果都是通过rest请求,未免太过麻烦,而且也不够人性化. 此时,head可以完美的帮助你快速学习和使用e ...

  7. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要五

    本篇文章主要是总结异步编程的知识点,也是本系列的最后一篇文章,每一个知识点我都有写出示例代码,方便大家理解,若发现有误或不足之处还请指出,由于书中作者对此知识点讲解过于简单,所以在写这篇文章时本人参考 ...

  8. mysql 二进制日志后缀数字最大为多少

    之前看到mysql二进制日志后面会加一个以数字递增为结尾的后缀,一直在想当尾数到达999999后会发生什么情况,先查了一下官网,对后缀有这样一句介绍:The server creates binary ...

  9. .NET的EF框架中:在应用程序配置文件中找不到名为“”的连接字符串问题

    今天在使用EF Code First框架时,当把模型都定义好了,想通过程序包管理控制台利用enable-migrations –force来生成数据库表的时候报错了,如下: 找不到连接字符串,但是我仔 ...

  10. C#使用Process调用批处理阻塞问题

    PS:又见到熟悉的C#代码了,好开心,哈哈哈.这次又跳坑了,好不容易才爬起来.   公司有自己开发的一套Submit.Compile.Publish的生命周期系统. 在Compile时,需要调用外部的 ...