如何在开机过程中抓取Netmon
Microsoft Network Monitor 3.4是一款非常常用的网络问题分析工具。通常,使用Netmon抓包的方式有两种:运行安装好的Netmon使用GUI或使用nmcap.exe通过命令行的方式抓包:
您可以从以下地址选择并适合您当前系统版本的下载Network Monitor 3.4:
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
{
}
本博文仅供参考,微软公司对其内容不作任何责任担保或权利赋予。