抓取流量最流行的工具就是Wireshark,在Windows上Wireshark的GUI界面很酷,但对于在linux和mac用惯了tcpdump用户来说,用命令行的tcpdump更直接便捷。Windows上有没有类似tcpdump的抓包工具呢?答案是有的,就是windump,底层是基于winpcap库的命令行工具。

大体的背景是这样的,有一台Windows服务器运行了一个较定制化的闭源的radius服务,因为这是一个很老的服务,并没以完备的日志输出机制,我们无法从现有的日志统计出用户流量数据,在服务压力大到什么程度会出现问题,我们现掌握的数据中无法更好的识别民常,统计出流量分布,估算出预警的峰值,也无法可视化当前服务的状态。本身认证服务,随着外部的关联服务变的压力不段加大。

根据目前的现状整个出几个需求:

1.可在不入侵代码的前题下,量化监听流量。
2.可将流量日志数据传到大数据平台,进行非实时的统计,找出预警的阀值。
3.用基于winpcap自主开发的监听工具代替windump,做实时的数据分析,阀值预警、可视化负载状态。

本文侧生点是用windump和大数据graylog配合,做到前2点,第3点后继做介绍。

所以,下面开始我们要接触几个软件,但不会触及到太多代码问题,软件分别是
windump,sidercar,nxlog,而graylog的安装使用不做具体介绍。

安装这些工具后,我们就可以来监控流量了,并在graylog端做简单的可视化分析。

1.运行windump,监听指定IP的测试流量。

windump.exe -i 1 udp port 1812 and 192.168.0.6

2.将windump输出的日志文件,重定向到指定文件目录。

3.启运流量分析脚本。

4.停制监控,查看graylog日志结果,做分析。

关于graylog的部分,pcap库的定制使用后在后期出。