如何使用tcpdump捕获特定数据包的数量?

时间:2013-01-30 22:11:19

标签: wireshark tcpdump

我有兴趣获取所有LDAP / Kerberos / DNS数据包的计数。

我尝试了以下操作,但这会捕获完整的数据包。

  

tcpdump -i any -Z root“tcp port 389或tcp port 88或udp port 53”-w~ / ldap_kerberos_dns.cap

有没有办法可以捕获交换了多少ldap / Kerberos / DNS数据包 没有实际捕获完整的数据包。

预期输出应该是这样的:

LDAP:     100  
Kerberos: 200  
UDP:      300  

2 个答案:

答案 0 :(得分:3)

tshark方法

如果您有 Wireshark (基于问题标签,而不是实际问题)那么{@ 1}}就像@ joke的注释一样,如果你不介意的话其冗长的统计数据输出:

tshark

虽然那个输出很详细,但我认为你不能单靠tshark -i any -n -q -z 'io,stat,0,FRAMES()tcp.port==389,FRAMES()tcp.port==88,FRAMES()udp.port==53' Capturing on Pseudo-device that captures on all interfaces ^C142 packets captured ============================================= | IO Statistics | | | | Interval size: 4.319 secs (dur) | | Col 1: FRAMES()tcp.port==389 | | 2: FRAMES()tcp.port==88 | | 3: FRAMES()udp.port==53 | |-------------------------------------------| | |1 |2 |3 | | Interval | Interval | FRAMES | FRAMES | FRAMES | |-------------------------------------------| | 0.000 <> 4.319 | 100 | 200 | 300 | ============================================= 。另一种更冗长的方法是:

tshark

这两个命令不会写入捕获文件。当您准备退出时,请使用 Ctrl + C ,或者查看下面有关tshark -q -z io,phs "tcp port 389 or tcp port 88 or udp port 53" 和自动停止条件的评论。需要注意的是,这些统计信息依赖于协议解析器,而不是源/目标端口,因此可能存在差异(例如,没有数据的连接,或者不符合协议的内容),“格式错误”将报告数据包。这也意味着如果优化并且每个数据包仅捕获40个字节,则不会获得可靠的结果(而是报告“短”TCP或UDP数据包)。

tcpdump方法

一种简单但不优雅的方法是运行多个-a实例(假设bash为shell) -

tcpdump

数据包不会写入捕获文件(通过for pp in "tcp port 88" "tcp port 389" "udp port 53"; do tcpdump -i any -Z root $pp -w /dev/null 2> ${pp// /-}.stats & done 丢弃)。 然后根据需要等待,终止/dev/null进程(按列出的PID,或tcpdump,如果没有其他后台作业),并检查kill %1 %2 %3文件:

.stats

perl方法

由于这是 stackoverflow ,这里是一个快速而又脏的perl / libpcap解决方案(只是添加错误处理):

grep captured *.stats
tcp-port-389.stats:0 packets captured
tcp-port-88.stats:0 packets captured
udp-port-53.stats:4 packets captured

答案 1 :(得分:3)

看看tshark统计数据:

$ tshark -r 04.pcap -q -z io,phs
===================================================================
Protocol Hierarchy Statistics
Filter:

eth                                      frames:649 bytes:124780
  ipv6                                   frames:605 bytes:116558
    udp                                  frames:212 bytes:33686
      dhcpv6                             frames:171 bytes:28044
      dns                                frames:25 bytes:2914
      ntp                                frames:10 bytes:1300
      cldap                              frames:6 bytes:1428
    icmpv6                               frames:80 bytes:7008
    tcp                                  frames:313 bytes:75864
      nbss                               frames:108 bytes:24063
        smb                              frames:7 bytes:1554
        smb2                             frames:101 bytes:22509
          tcp.segments                   frames:1 bytes:103
      dcerpc                             frames:16 bytes:4264
        epm                              frames:2 bytes:544
        tcp.segments                     frames:1 bytes:214
        drsuapi                          frames:8 bytes:2352
      kerberos                           frames:16 bytes:9358
        tcp.segments                     frames:8 bytes:2130
      dcerpc.cn_deseg_req                frames:1 bytes:1514
      ldap                               frames:16 bytes:5945
        tcp.segments                     frames:3 bytes:1101
          ldap                           frames:1 bytes:803
  ip                                     frames:40 bytes:8018
    udp                                  frames:40 bytes:8018
      nbdgm                              frames:30 bytes:7300
        smb                              frames:30 bytes:7300
          mailslot                       frames:30 bytes:7300
            browser                      frames:30 bytes:7300
      dns                                frames:10 bytes:718
  arp                                    frames:4 bytes:204
===================================================================

有关详细信息,请参阅man-page

相关问题