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