原文地址:https://cloud.tencent.com/developer/article/1626726
一.什么是Wireshark?
Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/zf6tr8338e.png?imageView2/2/w/1620)
Wireshark是目前全球使用最广泛的开源抓包软件,其前身为Ethereal,是一个通用的网络数据嗅探器和协议分析器,由Gerald Combs编写并于1998年以GPL开源许可证发布。如果是网络工程师,可以通过Wireshark对网络进行故障定位和排错;如果安全工程师,可以通过Wireshark对网络黑客渗透攻击进行快速定位并找出攻击源;如果是测试或软件工程师,可以通过Wireshark分析底层通讯机制等。
Wireshark包括以下基本功能:
分析网络底层协议
解决网络故障问题
寻找网络安全问题
网络流量真实检测
黑客攻击
那么,我们在哪里下载该软件呢?在前文安装的Kali环境中,它已经自带了Wireshark工具,而Windows系统下,可以在其官网进行下载,作者也将其上传至百度云。
https://www.wireshark.org/
https://www.wireshark.org/download.html
![](https://ask.qcloudimg.com/http-save/yehe-2017757/vhe023iqqa.jpeg?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-2017757/yum61gsjtp.jpeg?imageView2/2/w/1620)
相关类似的软件:Sniffer、Fiddler、Omnipeek、Httpwatch、科来网络分析系统等。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/5sxvbj7wzt.gif)
二.Wireshark安装
该软件安装非常简单,如下所示。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/fi0ox60zy7.png?imageView2/2/w/1620)
第一步:直接运行EXE,点击下一步即可。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/r37jtqjmrz.jpeg?imageView2/2/w/1620)
第二步:选择相关的选项,Wireshark是它的主程序,TShark是协议器,Plugins&Extensions是基本的插件,Tools是基本的工具包,User’s Guide是帮助文档。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/3otci3nev9.jpeg?imageView2/2/w/1620)
第三步:默认选择即可。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/vpsm1vskya.jpeg?imageView2/2/w/1620)
第四步:选择安装路径,建议大家尽量安装在纯英文路径下。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/ja8zciolex.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-2017757/pndcc1ta8u.jpeg?imageView2/2/w/1620)
安装完成。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/h876l1l4vu.jpeg?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-2017757/5sxvbj7wzt.gif)
三.Wireshark抓取网站用户名和密码
下面通过一个简单的示例讲解Wireshark抓包的基本用法,运行软件如下图所示。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/8a34n8gn1w.jpeg?imageView2/2/w/1620)
第一步:选择目标网站(http://www.xxxxx.org/Login.aspx),并获取其IP地址,可以采用Ping命令实现。这里采用站长之家(http://ip.tool.chinaz.com/)获取,其IP地址为:124.114.152.116 。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/yqiblt32vw.png?imageView2/2/w/1620)
第二步:打开wireshark软件,选择网卡后,启动软件抓包功能。(也可以在设置选项)
![](https://ask.qcloudimg.com/http-save/yehe-2017757/1obga1fsih.jpeg?imageView2/2/w/1620)
第三步:启动Wireshark软件,显示如下图所示。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/rlcfrpkfxw.jpeg?imageView2/2/w/1620)
第四步:打开目标网站并刷新,输入用户名和密码登录。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/0kagz17yff.png?imageView2/2/w/1620)
第五步:登录成功之后停止抓包,并使用下面的过滤器获取HTTP协议且与该IP地址相关的信息。 http and ip.addr==124.114.152.116
![](https://ask.qcloudimg.com/http-save/yehe-2017757/cbptfd1qxy.jpeg?imageView2/2/w/1620)
第六步:通过分析HTML登录方式,发现它是POST方式(很常见,GET方式的链接有参数),下面这两个是登录页面。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/vy96gu47ks.jpeg?imageView2/2/w/1620)
第七步:点击该POST且包含login的登录页面,点击最后一行“HTML Form URL Encoded:application/x-www-form-urlencoded”,获取如下图所示的用户名和密码。如果密码被MD5加密,可以寻找在线网站进行解密。
Form item: “username” = “yangxiuzhang”
Form item: “password” = "xxxxxxxx"
![](https://ask.qcloudimg.com/http-save/yehe-2017757/4e23dpgrzq.jpeg?imageView2/2/w/1620)
讲到这里,我们通过Wireshark成功获取了自己登录账号和密码。同样,可以尝试抓取其他小伙伴的账号和密码,因为你们在同一个wifi下。通过获取目标网站的IP地址,就能截取数据包实现该功能。所以,大家在外尽量不要使用开放的wifi。
第八步:如果不设置HTTP协议,可以显示所有写一下的数据包,如下图所示。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/mqy6lesktu.jpeg?imageView2/2/w/1620)
第九步:最后补充其他的过滤器,比如获取表单提交的POST请求(GET请求URL有参数),我们可以使用下面代码获取。 http.request.method==POST
![](https://ask.qcloudimg.com/http-save/yehe-2017757/ejrfaa6r9d.jpeg?imageView2/2/w/1620)
过滤表达式的规则:
![](https://ask.qcloudimg.com/http-save/yehe-2017757/kp8f0ha9z1.png?imageView2/2/w/1620)
第十步:过滤规则是可以组合的,如下图所示。 http.request.method==“POST” and http and ip.addr==124.114.152.116
![](https://ask.qcloudimg.com/http-save/yehe-2017757/diijlif4le.jpeg?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-2017757/5sxvbj7wzt.gif)
四.总结
Wireshark和网络协议息息相关,涉及协议:HTTP、FTP、Telnet、网络协议TCP/IP协议栈、路由协议(RIP/EIGRP/OSPF/ISIS/BGP)、交换协议(TRUNK/VTP/STP/HSRP),如下图所示,后面的文章将结合抓包原理进行更详细讲解。
![](https://ask.qcloudimg.com/http-save/yehe-2017757/prabwpbkxf.jpeg?imageView2/2/w/1620)