Abstract
这篇文章会描述如何在windows平台下不安装任何第三方依赖库来进行网络的抓包和分析.
抓包
这里我们会使用windows自带的netsh 来进行抓包. netsh本身包含了很多网络配置相关的功能.这里主要使用netsh trace.
该工具与tcpdump相比的主要优点是(1)不依赖第三方库,(2)无需安装别的什么软件.
缺点就是(1)不支持端口过滤. (2) 参考资料很少. (3) 可能少数老旧操作系统没有.
主要分为两步:
1.启动一个抓包session
netsh trace start [OTHER OPTIONS]
2.停止一个抓包session. (该命令同一时刻只能有一个session)
netsh trace stop
Example:
1.抓取某个地址11.11.11.11的snmp消息 (snmp 采用的是udp协议):
netsh trace start capture=yes traceFile="c:\\snmp.etl" overwrite=yes correlation=no protocol=udp ipv4.address=11.11.11.11
这样的输出就代表成功了, 生成的文件在c:\snmp.etl.
Trace configuration:
-------------------------------------------------------------------
Status: Running
Trace File: C:\snmp.etl
Append: Off
Circular: On
Max Size: 250 MB
Report: Off
注意:文件必须为etl结尾.
这个文件会以很快的速度增长,这里设置的是最大250MB, 循环写snmp.etl.
这里的协议可以是tcp/udp/icmp等.
2.停止抓包
netsh trace stop
输出:
Merging traces ... done
Generating data collection ... done
The trace file and additional troubleshooting information have been compiled as "c:\snmp.cab".
File location = c:\snmp.etl
Tracing session was successfully stopped.
分析抓包结果
前面我们获取了抓包的文件snmp.etl,这里我们展示如何来分析该文件.
大体步骤:用windows message analyzer打开 -> 等待加载完成 -> 转换为cap文件 -> 使用wireshark分析.
这里需要用到的软件是windows message analyzer. 从这里下载
安装后的样子:
打开snmp.etl后. 等待左下角的状态变为Ready:
然后,到处为cap文件: File -> Save As -> Export
遇到右图的错误忽略就好.
这个生成的文件snmp.cap 就可以被wireshark分析了.