网络数据包的捕获及分析软件简介(上)

系统 1952 0

自由转载 ^_^   同时请注明原文出处: http://www.cnblogs.com/wangvsa/archive/2012/07/18/2598326.html

 

  在上一篇文章中使用tcpdump实现了基于ip的流量统计,在选择tcpdump之前我参考了许多文章论文,也在网上

搜索到了很多相关软件(大多是linux的,也有部分软件有windows版本),在此简单整理一下。

  这些软件按其功能大体可以分为两类:一类主要提供捕获数据包的功能,这类软件中有的可以作为logger使用,

有的则不行,即其只能实时的现实当前网络状况;另一类主要提供了分析功能,比如根据用户需求提取相应信息,根

据数据来图形化等。

一、数据包捕获软件

  关于数据包的捕获的实现方式有多种:基于libpcap库、使用零拷贝技术、使用PF_RING接口、直接使用系统调用

等。直接使用系统调用是效率最低、丢包率最高的。其次,根据网上的文章中所介绍来看,使用零拷贝技术效率最高、

丢包率最低。我实测过使用零拷贝的netsniff-ng和基于libpcap库的tcpdump,并没有太大差距,都没有出现丢包现象。

测试环境是千兆网卡满负荷(与上篇文章同一个机器~.~)。

resource_04.gif

  下面逐个介绍一下:

1. tcpdump - dump traffic on a network

  这个应该软件应该是使用比较广泛,效率较高,基于libpcap库实现,它可以将捕获到的数据包信息记录到一个pcap

文件当中去,然后以后在分析。tcpdump支持filter可以有用户设置过滤器。它还提供了很多实用的选项,比如可以设置记

录时间间隔、记录文件大小限制、记录数据包信息大小限制、达到一定时间或大小时执行某命令等。同时,tcpdump可以

读取pcap文件(即使其变成人眼可识的文字形式),读取时也有多种选项可以设置。

  应用方法就很多了,我上一篇文章就是用它作为logger,然后自己统计流量。

2. netsniff-ng - the packet sniffing beast

  这个工具是使用零拷贝的,效率很高,正如其介绍一样beast。。。netsniff-ng实际是一个工具套装,其包含了很多小

工具如:

trafgen , a high-performance zero-copy network traffic generator

flowtop , a top-like netfilter connection tracking tool

  同时,netsniff-ng也支持bpf,而且还支持pcap文件格式输入及读取。

  下图使用这个工具测试网卡最高传输速率,方法是先用trafgen产生traffic让网卡满负荷,在用netsniff-ng抓包分析,详细

介绍 点这 (里面还有一些基础tcp/ip知识,很实用)

      
        [root@shopper2 tmp]# trafgen -d p1p1 -c /etc/netsniff-ng/trafgen/nst_udp_pkt_1472.txf -n 
        
          1000000
        
         -b 
        
          0
        
      
    
      
        
           1
        
         [root@emachine shm]# netsniff-ng -i p32p1 -o /dev/shm/c1.pcap -s -n 
        
          1000000
        
         -b 
        
          0
        
        
           2
        
        
           3
        
         netsniff-ng 
        
          0.5
        
        .
        
          6.0
        
        
           4
        
         RX: 
        
          238.41
        
         MB, 
        
          122064
        
         Frames each 
        
          2048
        
        
           Byte allocated 
        
        
           5
        
        
          OUI UDP TCP ETH 
        
        
           6
        
         IRQ: p1p1:
        
          48
        
         >
        
           CPU0 
        
        
           7
        
        
          PROMISC 
        
        
           8
        
        
          BPF: 
        
        
           9
        
         (
        
          000
        
        ) ret      #-
        
          1
        
        
          10
        
         MD: RX SCATTER/
        
          GATHER 
        
        
          11
        
        
          12
        
        
          1000000
        
        
           frames incoming 
        
        
          13
        
        
          1000000
        
        
           frames passed filter 
        
        
          14
        
        
          0
        
        
           frames failed filter (out of space) 
        
        
          15
        
        
          [root@emachine shm]# 
        
        
          16
        
        
          17
        
         [root@emachine shm]# 
        
          pwd
        
        
          18
        
        
          19
        
         /dev/
        
          shm 
        
        
          20
        
        
          [root@emachine shm]# 
        
        
          21
        
        
          22
        
         [root@emachine shm]# 
        
          ls
        
         -
        
          al 
        
        
          23
        
        
          24
        
         total 
        
          1497072
        
        
          25
        
         drwxrwxrwt  
        
          2
        
         root root         
        
          60
        
         Oct 
        
          24
        
        
          06
        
        :
        
          19
        
        
           . 
        
        
          26
        
         drwxr-xr-x 
        
          22
        
         root root       
        
          4100
        
         Oct 
        
          24
        
        
          05
        
        :
        
          55
        
        
           .. 
        
        
          27
        
         -rw-------  
        
          1
        
         root root 
        
          1530000024
        
         Oct 
        
          24
        
        
          07
        
        :
        
          34
        
        
           c1.pcap 
        
        
          28
        
        
          [root@emachine shm]# 
        
        
          29
        
        
          30
        
         [root@emachine shm]# capinfos ./
        
          c1.pcap 
        
        
          31
        
        
          32
        
         File name:           ./
        
          c1.pcap 
        
        
          33
        
         File type:           Wireshark/tcpdump/... -
        
           libpcap 
        
        
          34
        
        
          File encapsulation: Ethernet 
        
        
          35
        
         Packet size limit:   
        
          file
        
         hdr: 
        
          65535
        
        
           bytes 
        
        
          36
        
         Number of packets:   
        
          1000000
        
        
          37
        
         File size:           
        
          1530000024
        
        
           bytes 
        
        
          38
        
         Data size:           
        
          1514000000
        
        
           bytes 
        
        
          39
        
         Capture duration:    
        
          12
        
        
           seconds 
        
        
          40
        
         Start 
        
          time
        
        :          Mon Oct 
        
          24
        
        
          07
        
        :
        
          34
        
        :
        
          22
        
        
          2011
        
        
          41
        
         End 
        
          time
        
        :            Mon Oct 
        
          24
        
        
          07
        
        :
        
          34
        
        :
        
          35
        
        
          2011
        
        
          42
        
         Data 
        
          byte
        
         rate:      
        
          123044025.00
        
         bytes/
        
          sec 
        
        
          43
        
         Data bit rate:       
        
          984352199.97
        
         bits/
        
          sec 
        
        
          44
        
         Average packet size: 
        
          1514.00
        
        
           bytes 
        
        
          45
        
         Average packet rate: 
        
          81270.82
        
         packets/
        
          sec
        
      
    

   

3. iptraf - Interactive Colorful IP LAN Monitor

  这个软件的功能也比较多,他可以实时检测,并提供多种监测机制,可以使用filter,可以作为logger。

我没有在满负荷的千兆网卡上测试,但是我看了一下这个工具的源代码,应该是直接使用了系统调用来捕捉

数据包。下面这个界面可以选择检测机制、设置filter、设置logger文件名及路径等。

  运行界面如下:

4. argus - auditing network activity

  这个软件也是功能强大,官网上说了很多它的使用案例,介绍也是比较详细。这个软件记录数据包信息的时候使用自己

的文件格式,他同时也支持pcap文件格式,可以将pcap转成argus格式,但是反过来不行。还有一点要注意,转换不一定都

能成功,比如使用tcpdump记录时限制了数据包的大小,此时转换就会失败。

  argus包含argus-server和argus-client。其中argus用来抓包(也支持filter)。这个软件还有一个特点就是,

argus-server抓包时可以打开一个端口,然后client通过这个端口连接过来然后读取server抓的包的信息。

  argus-clinet包含很多解析分析工具(十多种)。可以读取argus(压缩的也可以读)、pcap等格式的文件然后再次过

滤文件中一些不需要的内容再写到文件中(可以存储为文本格式或arugs格式)。

5.iftop - display bandwidth usage on an interface by host     (没有官网)

  这个软件不提供logger功能,但是能以比较简洁的形式将当前网络状态展示出来(与其他ip的数据交换)。

  具体使用请man~ 使用截图如下:

   

以上工具都是我使用过的,还有很多没有使用过的工具,也在以后的文章中整理,关于第二类分析工具相关软件在下一篇文章中整理。

网络数据包的捕获及分析软件简介(上)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论