1、抓包实例分析实验抓包实例分析一实验目的1.初步掌握Wireshark的使用方法,熟悉其基本设置,尤其是Capture Filter和Display Filter 的使用。2.通过对Wireshark抓包实例进行分析,进一步加深对各类常用网络协议的理解,如:TCP、UDP、IP、SMTP、POP、FTP、TLS等。3.进一步培养理论联系实际,知行合一的学术精神。2实验原理1.用Wireshark软件抓取本地PC的数据包,并观察其主要使用了哪些网络协议。2.查找资料,了解相关网络协议的提出背景,帧格式,主要功能等。3.根据所获数据包的内容分析相关协议,从而加深对常用网络协议理解。3实验环境1.系统
2、环境:Windows 7 Build 71002.浏览器:IE83.Wireshark:V 1.1.24.Winpcap:V 4.0.24实验步骤1.Wireshark简介Wireshark(原Ethereal)是一个网络封包分析软件。其主要功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。其使用目的包括:网络管理员检测网络问题,网络安全工程师检查资讯安全相关问题,开发者为新的通讯协定除错,普通使用者学习网络协议的相关知识当然,有的人也会用它来寻找一些敏感信息。值得注意的是,Wireshark并不是入侵检测软件(Intrusion Detection Software,IDS)。对于网
3、络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。2.实例实例1:计算机是如何连接到网络的?一台计算机是如何连接到网络的?其间采用了哪些协议?Wireshark将用事实告诉我们真相。如图所示:图一:网络连接时的部分数据包如图,首先我们看到的是DHCP协议和ARP协议。DHCP协议是动态主机分配协议 (Dynamic Host Configuration Protocol)
4、。它的前身是 BOOTP。BOOTP可以自动地为主机设定TCP/IP环境,但必须事先获得客户端的硬件地址,而且,与 其对应的IP地址是静态的。DHCP是 BOOTP 的增强版本,包括服务器端和客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的 DHCP 要求;而客户端则会使用从服务器分配下来的IP环境数据。ARP协议是地址解析协议 (Address Resolution Protocol)。该协议将IP地址变换成物理地址。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为
5、相应物理地址,这组协议就是ARP协议。让我们来看一下数据包的传送过程:数据包No.1:当 DHCP 客户端(本地PC)第一次登录网络的时候,它会网络发出一个 DHCP DISCOVER 封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为0.0.0.0,而目的地址则255.255.255.255,然后再附上 DHCP discover 的信息,向网络进行广播。数据包No.2:当 DHCP 服务器(本地路由器)监听到客户端发出的 DHCP discover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户端一个 DHCP
6、OFFER 封包。数据包No.3:客户端向网络发送一个 ARP 封包,查询服务器物理地址。 数据包No.4:服务器端返回一个ARP 封包,告诉客户端它的物理地址。 数据包No.5:由于Windows 7 支持IP V6 ,所以DHCP V6协议也开始工作。数据包No.51:通过ARP协议,服务器端最终也获得了客户端的网络地址。到此为止,我认为客户端(本地PC)的已完成网络注册。现将客户端(本地PC)和服务器端(本地路由器)相关参数展示如下:图二:客户端(本地PC)相关参数图三:服务器端(本地路由器)相关参数实例2:你的密码安全吗?随着Internet的普及,越来越多的人开始拥有越来越多的密码。
7、小到QQ,MSN,E-mail等,大到支付宝,信息管理系统等,可是一个核心问题是:你的密码安全吗?让我们来看看下面几个例子。Test 1:FTP工具软件这里,我们采用的FTP工具软件是FlashFXP V3.7.8。登陆时抓包如下:图四:FlashFXP登陆时的部分数据包首先,我们来看一下常用到的三个协议:SSDP、DNS和 FTP。SSDP协议是简单服务发现协议(Simple Service Discovery Protocol),该协议定义了如何在网络上发现网络服务的方法。SSDP信息的传送是依靠HTTPU和HTTPMU进行的。不论是控制指针,或是UPnP设备,工作中都必然用到SSDP,设
8、备接入网络之后,要利用它向网络广播自己的存在,以便尽快与对应的控制指针建立联系。设备利用SSDP的方式是“收听”来自网络端口的消息,从中发现与自己匹配的信息,一旦找到与自己匹配的信息,经由HTTPMU来发送一个响应信息到控制指针。DNS是域名服务器(Domain Name Server)。在Internet上域名与IP地址之间可以是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。FTP是文件传输协议(File Transfer Protocol),用于Internet上的
9、文件的双向传输。用户可以通过FTP工具软件它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序),查看远程计算机有哪些文件,然后把文件从远程计算机上下载到本地计算机,或把本地计算机的文件上传到远程计算机。现在让我们来看看工作流程:数据包No.1:本地PC机(数据包中表示为ipv6地址)通过SSDP协议向本地路由器发送消息。数据包No.2:本地路由器通过SSDP协议向非路由地址(IANA)发送消息。数据包No.13:本地PC机(192.168.1.100)向DNS服务器(218
10、.30.19.50)发送查询请求,要求解析域名。数据包No.14:DNS服务器返回请求,的ip地址为:210.31.141.46。经查,DNS服务器(218.30.19.50)在西安本地,而(210.31.141.46)在天津科技大学。数据包No.21:通过FTP协议,本地计算机与FTP服务器建立连接。让人非常兴奋同时又非常沮丧的是:Wireshark不仅抓到了登陆用户名和密码,而且还抓到了传送的文件信息。如下图所示:图五:Wireshark抓取的用户名,密码和传送的文件信息。Test 2:Koomail邮件客户端现在来看看我们常常使用的邮件服务的安全性又如何。首先,我们用网页方式登陆一个邮箱
11、:hasee126mail,此时我们抓包如下:图六:以网页方式登陆邮箱时的部分数据包DNS协议我们已经非常熟悉了,现在来看看TCP协议和TLS协议。TCP协议是传输控制协议(Transmission Control Protocol)。它是一种面向连接的、可靠的、基于字节流的运输层(Transport layer)通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。TLS是安全传输层协议(Transport Layer Security Protocol),用
12、于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。TLS的最大优势在于:TLS独立于应用协议。高层协议可以透明地分布在 TLS 协议上面。由此可见,我们用网页方式登陆邮箱是比较安全的。为什么我再三强调“用网页方式”呢?请看下面的抓包:图七:用Koomail邮件客户端接收邮件时的部分数据包现在又涉及到了POP协议,哎,网络协议真是层出不穷啊。POP3是邮局协议的第3个版本(Post Office Protocol 3),它是规定怎样将个人计算机连接到Internet的邮件服务器以及如何下载
13、电子邮件的电子协议。POP3允许用户从服务器上把邮件存储到本地主机上,同时删除保存在邮件服务器上的邮件。显而易见地问题是:Koomail邮件客户端在连接到邮件服务器时,被Wireshark抓取到了用户名和密码。然而,更触目惊心的问题在下面:图八:TCP Stream分析看见了吧,在quoted-printable编码模式下,英文明文是可见的,还好中文明文是让人看不懂的。现在我们用Koomail邮件客户端回复一封邮件,抓包如下:图九:用Koomail邮件客户端回复邮件时的部分抓包及数据分析还是先来看看SMTP协议吧。SMTP协议是简单邮件传输协议(Simple Mail Transfer Pro
14、tocol)。它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。通过SMTP协议所指定的服务器,我们就可以把Email寄到收信人的服务器上。SMTP 是一种提供可靠且有效电子邮件传输的协议,它是建模在FTP文件传输服务上的一种邮件服务。 再来看看我们从抓取的数据包中都获得了哪些信息。发件人:lycmip收件人:hasee126mail发送时间:2009/6/2 17:58:52 星期二 时区是+0800。(好像是东八区吧)邮件客户端:Koomail V5.50MIME(多功能邮件扩充服务)版本:1.0编码方式:base64看来信息是相当的丰富啊。不过邮件内容经过编码了,而
15、不是像上文中的明文那样。综上所述,FTP、POP3 和SMTP协议在安全性方面还有一定的不足之处。我们的网络安全是如此的脆弱!实例3:看看小企鹅(QQ)每天都做了些什么直接上图:图十:腾讯QQ登陆和使用时的部分数据包这些协议我们都已经非常熟悉了,而且wireshark把qq所用到的相关协议都称作oicp protocol。经查,登陆时的服务器219.133.60.23和58.61.34.85都在深圳市腾讯的大本营。当我们进行聊天应用时,比如给重庆,成都的同学发送信息,信息还得先跑去深圳绕一圈。搞不懂腾讯为什么不在每个城市都设立服务器。实例4:其实数据包是这个样子的说了这么久,但数据包的结构是怎
16、么样的呢?谜底即将揭开,真相将大白于天下。下面,我们随机抓取了一个数据包,看看它的结构。图十一:数据包的结构part1我们可以获取如下信息:到达时间:2009年6月2 日 17:22:44帧号(相对):7帧长度:74字节捕获帧长度:74字节 包含协议:TCP/IP图十二:数据包的结构part2这应该是物理层的相关信息,包含了源端和目的端的物理地址。图十三:数据包的结构part3这是IP协议,我们可以获取如下信息:源地址:121.32.173.112目的地址:192.168.1.100版本号:IPv4头部长度:20字节区分服务域:0x00分段策略:不分段TTL:117传输协议:TCP头部校验和:
17、0x8ble(接收正确)图十四:数据包的结构part4这是TCP协议,我们可以获取如下信息:源端端口号:38843目的端端口号:80头部长度:40字节综上所述,数据包的结构是相当复杂的,值得我们深究。5实验总结本次wireshark抓包实验,我一共分析了五个实例,包括:计算机是如何在网络上注册的,FTP客户端的工作流程,邮件客户端的工作流程,腾讯QQ的工作流程,数据包的结构。学习或加深学习了如下协议:DHCP、ARP、SSDP、DNS、FTP、TCP、TLS 、POP3 和SMTP等。诚然,每一个协议的提出都有它的必然性。正如黑格尔所述:凡是存在的,都是合理的。正是有了各种各样协议的存在,人们
18、的网络生活才会变得如此的丰富。然而,学习一种协议是一件相当枯燥的事,这一点我已经深有体会,更不用说编写协议了。所以我们在享受丰富多彩的网络生活的同时,不能忘记那些协议工作者,正所谓要“饮水思源”。Wireshark是一款基于winpcap的抓包软件,它的界面是友好的,功能是强大的,上手是容易的,掌握是困难的。通过近几天来的学习研究,我发现wireshark之于我们学生的主要功能便是帮助我们更好地学习和理解协议。正如你知道西瓜是甜的,但只有当你吃过了西瓜,你才能体会到西瓜特有的味道。而Wirkshark就给我们提供了吃西瓜所需的西瓜刀。实验是理论联系实际的桥梁。自古以来,古人就教导我们要“知行合一”。只有通过实验,我们才能更好地理解知识,掌握知识,运用知识。所以这次wireshark抓包实验让我受益匪浅!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1