1.背景与需求介绍

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

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

根据目前的现状整理出以下需求:

1.1可在不入侵代码的前题下,量化监听流量。

1.2可将流量日志数据传到大数据平台创业项目,进行非实时的统计,找出预警的阀值。

1.3.用基于winpcap自主开发的监听工具代替windump,做实时的数据分析,阀值预警、可视化负载状态。

本文侧重点是用windump和大数据graylog配合,做到前2点,第3点后继做介绍。所以,下面开始我们要接触几个软件,但不会触及到太多代码问题,软件分别windump,sidercar,nxlog,而graylog的安装使用不做具体介绍。

windump相当于linux和mac上的tcpdump,有些场景在windows平台上使用windump要比wireshark方便一些,wireshark是GUI形式的,还支持lua插件,有机会我们介绍wireshark的lua插件,windump是一个分析tcp/udp/icmp等协议数据的一个好工具,简单介绍一下使用,后期我们就是使用windump.exe这个命令行工具,分析我们应用服务器,分析我们的服务器承受压力的极限,通过压力测试脚本,分析出阀值。

2.Windump下载与使用:

我们需要先面简单的介绍一下windump是如何使用的。

2.1. windump.exe -D

显示出所以的网卡设备。-D可以列出本机所有的网卡设备,包括VPN或是虚拟机建立的虚拟网卡。

2.2 windump.exe -i 1

监听指定网卡。-i 后面紧跟数字序号,表示本地网卡对应的序号,用 -D显示出来的序号。 -i 的后面跟的数字,就是本机网卡的序号名。

2.3 windump.exe -i 1 udp

监听指定协议数据。udp的字样是我们指定监控udp协议的流量

2.4. windump.exe -i 1 udp port 9999

监听指定端口数据。指定端口后就只监听流过这个端口的流量数据。

2.5. windump.exe -i 1 udp port 1234 and host192.168.0.3

监听指定主机的数据。指定IP只监听本机上和这个IP有关的数据包。

2.6.windump.exe -w cap.log -i 1 udp port 1234 and host 192.168.0.3

写流量记录到文件中。我们把监听的数据包存起来,便于以后分析。

2.7. windump.exe -f cap.log

读取文本件的流量信息。-w存起来的数据不是明文的,需要用-f显示出正常的ACSII码,让人能看懂。

下载和官方文档:

3.Sidercar与Nxlog大数据工具部署3.1.去github上下载sidecar.

collector_sidecar_installer.exe

3.2.配置sidecar的配置文件。

3.3安装后,设置服务并启动。

3.4.安装nxlog。3.5.配置nxlog.conf文件。

nxlog的配置文件存在一种配对关系,定义Input节、Output节、Route节,下面的配置文件只定义了一个Input,Output的路由对应关系,nxlog是模块化的设计,我们在in这个Input节中,用了im_file这个模块,告诉nxlog去那里读取本地日志文件dump文件分析,我们这定义日志文件放到c:rlog下的所有.log文件。

名out的Output节定义的是输出才用什么协议,并解析成什么形式,使用om_udp模块,将本的日志文件以udp传输协议,输出成syslog形式,到指定的服务器,syslog服务器或是graylog的数据接收端口。

3.6 nxlog服务使用

3.6.1安装服务

nxlog -i

3.6.2停止服务

nxlog -s

3.6.3启动监听

nxlog -f

看一下默认的位置nxlog的启动log。文件位置:C:Program Files (x86)nxlogdata

正常启动nxlog会显示下面的字样:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注