欢迎,来自IP地址为:18.217.182.45 的朋友



Wireshark是全球著名的网络协议分析仪。它可以让用户从微观层面仔细了解网络协议的运作,被广泛用于网络故障除错、协议分析、软件通信协议开发以及网络技术教学等。

Wireshark因其在任何操作系统上都可以进行实时抓包的良好表现,目前已经成为网络管理人员以及爱好者们非常有用的工具。它可以让网管人员了解不同协议的功能,以便进行实时网络故障处理以及入侵检测;同时,它还可以应用于软件定义网络(SDN)。Wireshark是一款将网络接口控制器流量可见化的应用软件,抓到包的数据会以可视化的方式(GUI)显现出来。它以混杂模式(即局域网中的所有数据包)抓取数据包,并能够识别上千种协议。Wireshark并且是免费和GNU许可下的开源软件,它的跨平台特性可以帮助我们理解不同网络协议的结构。Wireshark采用Pcap(packet capture library)库来从不同网络技术中抓取数据包,连原始的USB流量以及兼容编码的VoIP 话务也可以被抓取。

Wireshark还可以用于抓取网络模拟工具软件例如ns、OPNET、NeTSim等的数据包,以方便进行网络协议分析。用户可以根据需求来设定Wireshark。Wireshark还提供对抓取的数据包进行统计汇总功能,例如I/O图、往返时延图以及流向图。Wireshark载入Pcap驱动,这个驱动会使用NDIS(Network Driver Interface Specification)直接从网卡接口读取数据。本文将介绍Windows平台下Wireshark的安装与使用,最新版的软件可以从其官方网站下载,本站提供一个Windows平台下绿色版的下载。点此下载

初识Wireshark

下载好与自己操作系统平台对应的Wireshark软件后,就可以进行安装了。安装过程比较简单,记得在安装过程中需要将“Install WinPcap”选项点选安装;如果是绿色版(PortableApps)则更加容易,只需要进入其文件夹,直接运行WiresharkPortable可执行文件即可。

运行软件后需要选择进行抓包的网络接口,局域网的话就选择自己的网卡就好。由于我电脑运行了Hyper-V服务器,将本地以太网接口模拟成虚拟交换机,所以选择了虚拟交换机(高亮显示的那条),如下图所示:

选好接口后,就可以点击右上角的Shark按钮进行数据包的抓取了。如果你需要自己设定抓包选项,就需要点击捕获选项按钮进行相关设定,然后再进行抓取。

Wireshark的捕获界面主要包含三个窗体,分别是包列表框、包详情框和包字节框,整体用户界面如下图所示:

包列表框按行显示实时捕获的帧,并显示该数据帧的时间、源IPv4地址、目的IPv4地址、涉及到的TCP/IP协议、帧长度以及对于该帧给予的相应说明信息;包详情框用于显示选中包由应用层直至物理层的详细信息;包字节框则显示包实际的十六进制数值以及对应的ASCII码(如果有的话)。

实战操作1

为了更好的理解Wireshark,让我们用一个简单的示例加以说明。这个实验用于测试主机至局域网网关的连通性,假设源主机的IP地址为172.10.110.216,网关IP地址为172.10.110.254。我们在源主机的Windows命令提示符下输入并回车:

C:\> ping 172.10.110.254

ping命令用于检测网络中源地址与目的地址之间的连通性,通常,ping会由源主机向目的IP主机发送4个包,使用Internet Control Message Protocol(ICMP)协议来显示源主机与目的主机之间的请求和响应。ICMP协议会给出往返时延以及连通情况的统计信息,而命令中要求指定目标主机的IP地址,本实验的IP地址为172.10.110.254。大小为32 byte的4个数据包会连续的发送至目标主机,Wireshark会侦测此行为,为了过滤这个ping行为,需要在Wireshark的过滤工具栏中输入“icmp && ip.addr == 172.10.110.216”过滤项。这个过滤条件是根据实际情况而产生的一组条件,可以有限的过滤特定包及特定协议。下图展示了过滤后的效果:

包详情框里显示了从接入层、网络层、数据链路层至应用层的协议信息,并将数据包的数据显示出来以便进行进一步的分析。数据包的具体的字节信息会在包字节框中显示,并会根据每个节的16进制数对应到相就的ASCII码。

实战操作2

为了进一步加深对于Wireshark的理解,我们进行另一个实验,这个实验我们将理解HTTP协议和TCP协议的内容。按下“停止捕获分组”按钮,再按一次“开始捕获分组”按钮并选择“继续,不保存”项,就会进行新的捕获数据过程。打开任意一款浏览器并访问一些网页,再停止捕获。在Wireshark的过滤选项中加入“http && ip.addr == 172.10.110.216”筛选项,会显示HTTP协议的相关内容。由于浏览器会使用TCP和HTTP协议来共同访问网站,所以还需要使用“tcp && ip.addr == 172.10.110.216”进行筛选。仔细研究每个包的详情及具体数据,有助于了解IP网络的技术细节。

希望以上两个实验可以帮助大家更好的理解和使用Wireshark这款出色的包检测工具。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注