NETMATE学习笔记

来源:互联网 发布:伯明翰学派 知乎 编辑:程序博客网 时间:2024/04/30 02:52

NETMATE学习

1. 软件安装与基本信息

预安装软件:

readline

libpcap

libxml2

libcurl

openssl

pthreads(系统自带)

以上软件安装好了之后,就可以顺利安装NETMATE

usr/local/etc/netmate /路径下NETMATE的几个重要文件:

配置文件                  netmate.conf.xml          配置一些基本信息,各个项目在说明

                                  书TAB 3-5中说的很清楚。

规则文件                  example_rule*.xml       rule文件一共有3个:example_rule1 

                                                                   example_rule2example_rule3.

进程号文件               netmate.Pid               netmate运行时记录其进程号

过滤器定义文件       filterdef.xml               定义过滤器

           过滤值定义文件       filterval.xml               将数字和易记的英文单词对应,便于软件

                                                使用

2 文件详细说明

2.1 配置文件

    配置文件很简单,但是非常重要。其他文件的路径都要在这里配置,它是软件各个部分衔接在一起的关键文件。

2.2 规则文件   

        这个文件是我们需要配置的核心,它决定了软件要执行什么要的事。

        它分为2个部分——globalruleGlobal里定义的是软件一直要做的事情,而rule里则定义的是软件每间隔一段时间对所抓数据的处理。这个时间长度是在global里的interval中定义的。而软件具体要做什么事情则在action里定义。这个在netmate使用说明书的3.2.8里都有说明。 Rule文件要配置的最重要的属性莫过于auto,将它的值设为yes,软件就能自动的按照你的意愿分流。

例:

     <GLOBAL>

    <!-- how long the rules are active -->

    <PREF NAME="Duration">1000</PREF>

    <ACTION NAME="jitter"></ACTION>

    <ACTION NAME="pktlen"></ACTION>

    <ACTION NAME="bandwidth"></ACTION>

    <EXPORT NAME="text_file"></EXPORT>-------------------------------定义输出模块,决定输

                                                            出文件类型

 <PREF NAME="Interval">0</PREF>---------------------------------------当间隔设为0时,软件

                                                   默认在结束时做一次rule

  </GLOBAL>

  <RULE ID="1">----------------------------------------------------------------------由于没有定义输出文 

                                         件的名字,软件会自动用ruleid为其命名

    <FILTER NAME="SrcIP">*</FILTER>

    <FILTER NAME="DstIP">*</FILTER>

    <FILTER NAME="SrcPort">*</FILTER>

    <FILTER NAME="DstPort">*</FILTER>

    <FILTER NAME="Proto">*</FILTER>

    <PREF NAME="auto">yes</PREF>---------------------------------------软件会自动按照上面所

                                                       写5元组分流

    <PREF NAME="bidir">yes</PREF>--------------------------------------将方向相反的流算在同一

                                                          个流里

      </RULE>

</RULESET>     

2.2.3 过滤器定义文件

       定义格式举例:<DEF REFER="IP" OFFSET="8" TYPE="UInt8">IPTTL</DEF>

PEFER  这一项可以选择MAC, IP, TRANSDATA,即我们关注的数据段:OFFSET的单位是比特,上例中关注的IP首部的偏移为8个字节的82进制的数值。如下图:

图片

IP数据报首部偏移为8个字节的82进制确实是记录着IPTTL

2.2.4 netmate控制

      当你完全配置好软件后,在终端中输入:nmctl startnetmate则会启动并按照你设计的rule文件开始工作。

      输入nmctl stop软件工作结束,这时你就可以去/tmp目录下寻找你的输出文件。若你没有定义文件名,则输出文件的名字会被默认为rule id,一般为12‥…