如何在开机过程中抓取Netmon

Microsoft Network Monitor 3.4是一款非常常用的网络问题分析工具。通常,使用Netmon抓包的方式有两种:运行安装好的Netmon使用GUI或使用nmcap.exe通过命令行的方式抓包:

 

您可以从以下地址选择并适合您当前系统版本的下载Network Monitor 3.4:

https://www.microsoft.com/downloads/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f&displaylang=en

 

1.
按照安装向导的指示安装下载好的Network Monitor 3.4 2.
右击桌面上的Network Monitor 3.4图标,使用管理员账号运行 3.
点击主菜单下面的New Capture图标,新建一个Capture 4.
点击Start,启动抓包 5.
重现问题 6.
点击Stop,停止抓包 7.
保存Capture文件到本地磁盘

 

 

1.
按照安装向导的指示安装下载好的Network Monitor 3.4 2.
在开始菜单下找到CMD.EXE,用管理员身份登陆 3.
运行 cd /d "C:\Program Files\Microsoft Network Monitor 3" 4.
运行nmcap /capture /network * /file d:\cap\cap.chn:100M 5.
重现问题 6.
在CMD窗口上Ctrl + C

 

以上两种方式均要求操作系统在运行模式,并允许用户进行界面操作。

 

但是,我们如何能在开机过程中抓包呢?目前,绝大多数采用的方式是采用交换机端口映射或使用Hub连接目标机器并在hub上接入第三台机器抓包。

实际上,我们还可以通过使用nmcap.exe来配置Netmon服务实现开机过程中抓包:

 

1.
在C盘下创建文件夹C:\bootcap 2.
在C:\bootcap里创建文件c.cmd和sparser.npl,具体内容参见下方 3.
请从这个地址下载Windows Server 2003 Resource Kit Tools https://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en 4.
将Windows Server 2003 Resource Kit Tools安装在当前系统中并找到Tools文件夹,如C:\Program Files (x86)\Windows Resource
Kits\Tools 5.
点击开始,输入cmd,找到cmd.exe,用管理员身份运行 6.
运行“C:\Program Files (x86)\Windows Resource Kits\Tools \INSTSRV.EXE” NmCapBoot “C:\Program Files (x86)\Windows Resource Kits\Tools\SRVANY.EXE” 7.
使用regedit,打开注册表管理器 8.
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NmCapBoot 9.
从菜单栏中选择编辑,点击Add Key。Key Name:Parameters; Class : <leave blank> 10.
选中Parameters 11.
在菜单栏中选择编辑,点击Add Value。Value Name:Application ;Data Type : REG_SZ (String Value) ; String : c:\bootcap\c.cmd 12.
关闭注册表管理器 13.
重启计算机

Note: 由于NMCapBoot服务启动后,也需要加载Netmon驱动才能真正启动抓包,但是开机过程中驱动的加载时间也有先后之分,所以需要根据实际需求设置服务启动的依赖性。

1.
打开新的用管理员身份运行的CMD.EXE 2.
运行net start nmcapboot 3.
此时nmcapboot服务被启动,您将可以在C:\bootcap下找到bootcap.cap 和out.txt,但此时你还无法访问到这两个文件的内容 4.
在新的CMD.EXE窗口中运行ping /l 123 /n 1 <网域中任何可用的IP 地址> 5.
运行net stop nmcapboot 6.
此时nmcapboot服务和nmcap.exe都被停止 7.
检查C:\bootcap下生成的bootcap.cap 和out.txt文件

 

Note: 使用完成后,打开新的用管理员身份运行的CMD.EXE,运行 ”C:\Program Files (x86)\Windows Resource Kits\Tools \INSTSRV.EXE” NmCapBoot  NmCapBoot REMOVE注销NMCapBoot服务

 

c.cmd

----------------

"c:\Program Files\Microsoft Network Monitor 3\nmcap" /SetNPLPath c:\bootcap

"c:\Program Files\Microsoft Network Monitor 3\nmcap" /capture /network * /file c:\bootcap\bootcap.chn:5M /stopwhen /frame "blob(framedata, 16, 2)==0x97 AND blob(framedata, 23, 1)==1" >"c:\bootcap\out.txt"

 

sparser.npl

----------------

UnsignedNumber blob(n)

{   

               
Size = n;

}

 

Protocol Frame

{

}

 

 

本博文仅供参考,微软公司对其内容不作任何责任担保或权利赋予。