您的位置:首页 > 理论基础 > 计算机网络

Windows 平台如何抓包

2017-07-11 23:30 411 查看

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分析了.



参考

[1]windows netsh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows 网络 NETSH 抓包