首页 > 技术文章 > 使用pktmon抓包

qishine 2020-08-14 11:26 原文

在Windows上遇到网络问题,需要抓包的时候之前我们会使用netmon和Microsoft Message Analyzer。随着时间的推移,微软已经停止了对Microsoft Message Analyzer的支持,并且已经不能在微软的网站上下载到了。https://www.cnblogs.com/qishine/p/13501198.html其实Windows 10自带了一个命令行的抓包工具pktmon.exe。但是,你无法从微软的网站上找到关于这个工具的介绍。请以管理员身份运行cmd然后再使用这个命令行工具。

可以使用基本的语法来获得帮助,比如 pktmon filter help 和 pktmon start help等。

我测试了一下添加一个ICMP的过滤器,然后用来测试PING命令。

pktmon filter add PING -t ICMP

pktmon start --etw -p 0

(另起一个CMD窗口,ping外部地址)

pktmon stop

pktmon会在c盘根目录下生成PktMon.etl文件,这个文件可以直接用支持etl格式的工具查看,比如Microsoft Message Analyzer。也可以用命令行将etl转换成txt格式的文件。

pktmon format PktMon.etl -o packetlog.txt

在 Message Analyzer中打开ETL文件是这样的。

在整个界面中可以看到很多捕获的日志信息,需要在column header这里添加一下目标地址和源地址方便我们查看。可以右击选择add columns。然后搜索SourceIP和DestinationIP,把它们添加进来。双击对应的行可以展开查看这个包的详细内容。

推荐阅读