如何正确地在Win7上安装wireshark
Posted talk_8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何正确地在Win7上安装wireshark相关的知识,希望对你有一定的参考价值。
本博客主要介绍我在安装wireshark过程中遇到的问题,经过尝试后解决了问题,因此总结解决问题的方法和大家分享,希望对大家有帮助。
我的环境为win7,wireshark是从官网下载的最新版本(2022年5月最新版本为3.6)
问题现象:wireshark可以正常运行,点击捕获时软件无响应(卡死)。
问题原因:wireshark 3.6版本不支持win7(官网声明)
解决方法:安装wireshar 3.2版本,此版本是支持win7的最新版本(官网说明)
下面的内容是解决问题的具体过程和经验总结,如果大家只想知道结果,看上面的结论就可以,如果想知道解决问题的方法和思路,可以继续向下看。
安装软件
最近在研究网络方面的知识,因此想需要抓包软件来分析网络协议,于是就在电脑上安装了wireshark
,安装此软件和安装其它软件没有区别,不过安装完成后点击capture抓包时却卡死了(具体表现为无响应,)。
我开始还以为是数据包太大导致软件卡死了,于是关闭浏览器后再抓包仍然卡死。后来看到了软件界面上的提示后才知道原来软件不能识别网卡(具体的内容如下图红线内容所示)
没有网卡肯定是不能抓包的,虽然软件运行正常,但是开始抓包时卡死了,这显然是软件安装错误导致的,于是重新安装此软件。
重新安装软件后可以识别网卡了,为什么上次安装的软件不识别网卡?因为安装时没有选择npcap。npcap
是一款开源的抓包软件,wireshark
抓包时会使用此软件。这次安装后没有错误提示,而且可以识别网卡,于是开始点击抓包,软件仍然卡死。网上探索后发现像我一样卡死的情况还很多,其原因是npf服务没有打开。于是使用命令打开npf(Netgroup Packet Filter)
服务。详细命令如下:
//先启动npcap,再启动npf,图中只有npcap的内容
net start npcap
net start npf
但是却提示找不到服务,截图如下所示:
于是便到C:\\Windows\\System32\\drivers
目录下查看相关驱动文件,不过此目录下只有npfs.sys.没有npf.sys.此外,在设备管理器->显示隐藏的设备可以找到npf驱动.而且驱动处于正常运行状态。看来服务已经起来了,不过在任务管理器中的服务里以及系统服务设置(services.mss)中则仍然没有npf服务。
我推测驱动正常但是服务没有,可能是npcap版本比较低,于是下载了当前最新的版本:1.6,并且替换了随wireshark一起安装的1.55版本。于是重新安装npcap1.6(随wireshark3.6.5安装的是1.55版本),没想到安装1.6版后在设备管理器也找不到npf,而且抓包时仍然卡死。
抓取dump
我想看看究竟是什么原因导致了软件卡死,于是抓取了dump. 如何抓取呢?下面是具体的操作方法:
- 设备管理器应用程序选项卡下选择wireshark
- 右键选择创建转储文件,创建完成后会提示dump文件路径和名称
dump名称一般是应用程序名.DMP,我的叫Wireshark.DMP,
大小为300多MB,使用subline打开后全是十六进制内容,无法下手,看来需要一个工具来分析此dump文件 。这样的工具叫WinDbg
,可以到微软商店里下载 .
不过我没有分析dump文件 ,以我的编程经验来看即使找到原因也无法修改,因为这需要有软件的源码才可以。最后我还是不能正常使用此软件。
在看dump文件时发现了惊喜,同目录下居然有抓包的内容:wireshark_本地连接xxxxxx.pccapng的文件,可以使用Wireshark打开此文件,这就是捕获的数据包。由此可见软件已经捕获数据,只是不能解析出捕获的数据。因此,我推断当前软件版本可能不兼容win7.
安装正确的软件版本
当前的软件已经是最新版本,如果不支持win7那么只使用旧版本的软件,到哪个呢?我在官网的UserGuide中找到答案,具体如下图所示:
从中发现我的推断是正确的:当前版本只支持win8及以后的windows系统。那么哪个软件版本支持win7呢?3.2版本以及以前的旧版本可以支持win7.官网给的UserGuide非常详细,大家可以点击这里去仔细阅读。
知道支持win7的软件版本后就去下载此版本的软件 ,结果发现官网不支持太旧版本的软件下载,于是通过userGuide找了日本一家大家的FTP,其链接如下:
http://ftp.yz.yamagata-u.ac.jp/pub/network/security/wireshark/win64/all-versions/
这里的版本非常全,我下载了3.2.18,然后重新安装软件,然后就可以正常抓包了。到此可以正常使用wireshark了。此外,安装完软件后,我发现与wireshark3.2版本匹配的npcap版本是0.99,比当前最新的1.6差很多版本。
最后我总结一下安装wireshark的方法和解决问题的思路:
- 1.wireshark是基于npcap来抓包的,因此安装时一定选择安装npcap。
- 2.wireshark的版本肯定是越新越好,不过要与你的操作系统版本相匹配,我遇到的问题就是软件版本与操作系统不匹配引起; 如何看匹配版本,可以到userGuilde中查看文档说明。
- 3.wireshark无响应的问题基本上是npf驱动没有安装上或者npf服务没有启动引起的。因此使用前需要确认npf驱动是否安装成功,以及npf服务是否被正常启动。
- 4.npf驱动在网卡的属性或者设备管理器中的隐藏设备中都可以看到;npf服务需要使用命令来启动,不过在系统服务和任务管理器中看到不到此服务。
- 5.如果想知道windows上软件崩溃的原因那么需要抓取崩溃软件的dump文件(通过任务管理器抓取),然后分析dump文件找到具体出错的原因。
经过将近两个小时的折腾,终于可以正常使用wireshark抓包了,虽然时间比较长,不过收获还不少,欢迎大家在评论区交流与讨论。
此外,我感觉win7应该淘汰了,毕竟这是2009年就已经布的操作系统了,到现在已经使用十几年了,而且微软已经停止对它的更新。以后估计有些软件都不支持win7了。
以上是关于如何正确地在Win7上安装wireshark的主要内容,如果未能解决你的问题,请参考以下文章
教程在Macbook Air中如何正确的安装win7(U盘安装)
Windows安装Wireshark实现127.0.0.1抓包