wireshark实验中文版

wireshark实验中文版
wireshark实验中文版

计算机网络实验手册

(学生用书)

第四版

周宇 王晓东

宁波大学信息学院

二○○七

计算机网络实验手册

前 言

本实验手册是为Jim Kurose和Keith Ross编著的《Computer Networking: A Top Down Approach Featuring the Internet》第三版配套编写的,主要针对第1章到第5章的内容,改编自Kurose和Ross编写的Ethereal Lab Version 1.0。当然本实验手册也适用于其他以TCP/IP协议为主要讲授内容的《计算机网络》课程,这套配套实验共计8个,除了第一个实验必须首先完成外,第2到第8这些实验可以任意安排顺序来完成。

通过这些实验对TCP/IP各层次协议的分析和研究来帮助学生理解和掌握协议内容,每个实验基本的操作性内容约占时45分钟左右(要求学生在预习的基础上完成),还有45分左右的时间用于数据分析、完成思考题和进行研究性内容,并且我们要求每个学生在实验前准备好每个项目的自主设计部分实验,每个实验学生将需要大约60分钟用于完成实验报告。

每次实验的报告除描述基本的实验过程和实验结果外要求认真完成思考题,同时每一个实验每一组捕获的数据均需另存为文件,连同相应的截图文件通过FTP上交,所提供的FTP 空间上可以上传和下载实验数据文件(但不能修改或删除文件),这些数据需用于实验分析和完成实验报告,请注意保持每份实验报告和数据的一致性,在每份实验报告中均请标注对应的数据文件(或截图)名称,请勿抄袭。

在这些实验中,我们将会在不同的场合下请你运用电脑来运行各种网络应用,你将会观察到在你的电脑里网络协议是怎样运行的、怎样相互作用的以及在因特网中怎样利用协议完成实体间消息的交换。请记住,你和你的电脑将会是这些生动实验的一部分,通过做这些实验,你将学会在网络世界观察和学习。

为了体会作者的原始意图和体现Internet特色,本实验需要客户端能够接入互联网,为保证实验效果和访问速度请不要在实验课上作与本课程无关的工作。同时还配备一个45分钟左右的在线实验考试项目,学生需在最后一次实验课时当场完成指定的实验并将结果在线递交。

再次感谢Jim Kurose和Keith Ross的创新之作,感谢王真之、赵朋等研究生在本手册编制中做出的大量工作,以及实验中心全体同事的无私帮助。

学生用书 1

宁波大学信息学院

目 录

实验一 Ethereal和实验基础 (3)

实验二 HTTP协议分析 (12)

实验三 DNS协议分析 (17)

实验四 TCP协议分析 (23)

实验五 IP协议分析 (28)

实验六 ICMP协议分析 (32)

实验七DHCP协议分析 (35)

实验八Ethernet和ARP (39)

附录一 TcpDump表达式介绍 (43)

附录二 Windows网络命令说明 (45)

附录三 实验数据分析和思考题回答样例 (47)

(第四版)2

计算机网络实验手册

学生用书 3

实验一 Ethereal 和网络实验基础

一、Ethereal 基础

我们观察执行协议的实体之间如何交换信息的基本工具是packet sniffer ,就如名字所示这是个包嗅探器,它在你的电脑发送消息或者接收消息时进行协议数据的捕获,同时有选择的显示这些协议数据的内容。包嗅探器本身是被动的,电脑所收发的数据包不写明是给包嗅探器的,而是由应用程序发送和接收时产生的,在包嗅探器收到包的同时应用程序数据收发仍然是正常进行的。

下图显示了一个包嗅探器的结构。在图的右侧是协议和运行的应用程序,包嗅探器显示在用虚线围起来的框中,它侦听并接收每一个链路层帧的副本,当物理媒体是以太网时上层协议最终都将生成以太帧,捕获所有的链路层帧就能收集所有在电脑上的应用程序和协议所收发的消息。

包嗅探器的另一组成部分是包分析器,它显示一个协议消息中所有字段的内容,为了完成这些任务包分析器必须了解所有通过协议交换的消息的结构。例如我们对上图中通过HTTP 协议交换的消息所显示的区域感兴趣,包分析器需要了解以太网帧的格式,这样可以通过一个以太网帧来识别IP 数据包,同时它也需要了解IP 数据包的格式可以从IP 数据包中取出TCP 段,它也必须了解TCP 段的结构可以把包含在TCP 段中的HTTP 消息取出,最后它需要了解HTTP 协议等等,例如需要知道一个HTTP 消息的第一个字节将包含“GET ”、“POST ”或者是“HEAD ”。

我们在实验中将使用Ethereal packet sniffer ,这个软件我们已下载好放在本地c:\ins ,本实验需要的其他软件我们也都放在这个目录中,你也可以在以下地址下载: https://www.360docs.net/doc/a717416563.html,/download.html

宁波大学信息学院

(第四版) 4

或在以下网站下载: https://www.360docs.net/doc/a717416563.html,/networks/index.htm

该网站有本实验册中各实验所需要的全部软件。

为了运行Ethereal ,你还需要支持Ethereal 和libpcap 包的捕获库,可以在安装Ethereal 时的选项中钩选WinPcap 来安装。

二、运行Ethereal

当你运行Ethereal 程序时,将会看到如下图所示的用户图形界面,刚启动时在各窗口中是没有数据显示的:

Ethereal 界面主要有5部分组成:

1.命令菜单(command menus ),位于窗口顶部,其中File 菜单允许保存获取的包数据或者打开一个之前捕获的包数据文件,Capture 菜单允许你开始一次包的捕获;

2.包列表窗口(packet-listing window ),每一个包显示一行摘要,包括包的编号、包捕获的时间、包的源地址和目的地址、协议类型以及在包中所包含协议的特定信息。包列表可以通过点击一个纵列标题项来排序,协议类型字段列出了这个包发送和接收的各级别的协议;

3.包头部信息窗口(packet-header details ),提供了在包列表窗口中被选中包的详细信息,这些信息包括以太网帧和IP 数据包。以太网和IP

层详细信息的显示能够扩展或者

计算机网络实验手册

学生用书

5

缩小,如果这个包中有TCP 或者UDP ,相应的协议详细信息也会被显示(也可以被扩展和缩小),发送或者接收这个包的最高层协议的详细信息也会被显示;

4.包内容窗口(packet-contents window ),以ASCII 和十六进制格式显示了捕获的帧的整个内容;

5. 包过滤显示区域(packet display filter field ),在Ethereal 用户图形界面的顶部,在这里可以输入协议名称或者其他信息来过滤包列表窗口中显示的信息。

三、使用Ethereal 来做一个测试

学习任何一个新的软件的最好方法是实验它!

1. 打开你的浏览器;

2. 打开Ethereal 软件,最初的时候窗

口中都没有数据,因为Ethereal 还

没有开始捕获包;

3. 开始包的捕获,选中Capture 下拉

菜单,选择Start 。将会出现

“Capture Options ”窗口,如右图所

示:

4. 你可以使用窗口中各选项的默认

值,但网络接口(比如物理连接)

要确认一下,如果你的电脑拥有多

个网络接口,请选择正在接入网络

的一个接口用来发送和接收包。选

择网络接口(或者使用Ethereal 的

默认接口),使capture filter 保持为

空,接下来钩选update list of packet

in real time ,点击确认。包捕获现在

将开始——你的电脑发送和接收的

所有包都会被Ethereal 捕获;

5.

当你开始包捕获,会出现一个包捕

宁波大学信息学院

(第四版) 6

获摘要窗口,如右图所示。这个窗口概述了被捕获的各种类型包的量,Stop 按钮允

许你停止包的捕获(现在还不要停止包的捕获);

6. 当Ethereal 还在运行时,输入如下的URL 让它下载一个页面在你的浏览器中显示:

https://www.360docs.net/doc/a717416563.html,/networks/INTRO-ethereal-file1.html

为了显示这个页面,你的浏览器将和https://www.360docs.net/doc/a717416563.html, 的HTTP 服务器进行联系,和服务器进行HTTP 消息的交换以下载这个页面,包含这些HTTP 消息的以太网帧将会被Ethereal 捕获:

7. 你的浏览器显示了这个页面后,在Ethereal 捕获窗口中按下stop 按钮来停止Ethereal

的包捕获,Ethereal 的主窗口将会显示所捕获的包。现在,你拥有了刚才在你的电

脑通过网络进行交换的协议消息。HTTP 消息和https://www.360docs.net/doc/a717416563.html, Web 服务器之

间进行交换也在包捕获列表中出现,但是同样也有其他类型的包;

8. 在Ethereal 主窗口的顶部的Filter 中,输入“http ”,然后选择Apply ,这样只有HTTP

消息会被显示在包列表窗口;

9. 在包列表窗口中选择第一个HTTP 消息,它应该是一个HTTP GET 消息,是由你的

电脑发送给https://www.360docs.net/doc/a717416563.html, 的HTTP 服务器的。当你选中HTTP GET 消息后,

以太网帧、IP 数据包、TCP 段以及HTTP 消息的头部将会显示在包头部窗口中。在

包详细信息窗口的左边,选择扩展或收缩使显示的帧、以太网、IP 协议以及TCP

协议缩为最小而HTTP 协议的信息被最大化。现在Ethereal 显示的大致如下图所示:

计算机网络实验手册

10. 退出Ethereal。恭喜你!现在,你已经完成了一次成功的协议数据捕获。

四、需要上交的东西

这个实验的主要目的是向你介绍和使你熟悉Ethereal软件,请回答以下问题:

Q1.列出在上面第7步骤中没有进行过滤时包列表窗口中所出现的各种协议名称;

Q2.从发送HTTP GET消息一直到接收到HTTP回复的OK,持续的时间是多久?

(默认time列显示的是开始捕获后的以秒为单位的持续时间,如果要在time列以time-of-day格式显示,请选择Ethereal的View下拉菜单,然后选择时间显示格式为Time-of-day)

https://www.360docs.net/doc/a717416563.html,的IP地址是多少?你的电脑IP地址是多少?

Q4.导出这两个HTTP消息,你可以在Ethereal的File命令菜单中选择save菜单,导出的文件命名为ethereal-1。

五、WINDOWS网络命令

我们将在后面的实验和日常应用中经常用到WINDOWS的网络命令,请关注每个网络命令的参数以及这些参数的组合,我们先来尝试用tracert和ping命令分析一下到https://www.360docs.net/doc/a717416563.html,的路由情况,以后我们还要仔细研究。

Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换数据报,根据返回的信息我们就可以推断TCP/IP参数是否设置得正确以及运行是否正常。由于很多路由器和服务器为了防止DDOS攻击会关闭ICMP功能,如果因此而造成你访问的节点不响应ping的测试,你可以换一个IP或域名再试。

Ping是一个测试程序,如果Ping运行正确我们大体上就可以排除网络层、网卡、MODEM 的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。按照缺省设置,Windows上运行的Ping命令发送4组ICMP32字节数据,如果一切正常我们能得到4个回送应答。 Ping能够以毫秒为单位显示发送请求到返回应答之间的时间。如果应答时间短,表示数据报通过的路由器少或网络连接速度比较快。Ping还能显示TTL值(Time To Live 生存时间),我们可以通过源地点TTL起始值减去返回包的TTL值从而推算数据包通过了多少个路由器。例如,如果返回TTL值为249,TTL起始值是256,源地点到目标地点要通过7个路由器(256-249),一共是7个hop。

正常情况下,当我们使用Ping命令来查找问题或检验网络运行情况时,我们需要使用一系列Ping命令,如果所有步骤都运行正确,我们就可以相信基本的连通性和配置参数没

学生用书 7

宁波大学信息学院

有问题;如果某些Ping命令出现运行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:

ping 127.0.0.1

这个Ping命令被送到本地计算机的IP协议软件,如果没有成功就表示TCP/IP协议的安装存在问题。

ping 本机的IP

这个命令被送到我们计算机所配置的IP地址,计算机始终都应该对该Ping命令作出应答,如果没有则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。

ping 局域网其他电脑的IP

这个命令使数据经过网卡及网络电缆到达其他计算机再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收不到回送应答,表示子网掩码不正确、网卡配置错误或电缆系统有问题。

ping 网关的IP

这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。

ping 远程的某个IP

如果收到4个应答,表示成功的使用了缺省网关。

ping localhost

localhost是操作系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。如果没有做到这一点,则表示主机文件(/Windows/host)存在问题。ping https://www.360docs.net/doc/a717416563.html,

对这个域名执行Ping https://www.360docs.net/doc/a717416563.html,地址,通常是通过DNS 服务器解析,如果这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障。

如果上面所列出的所有Ping命令都能正常运行,计算机进行通信的功能基本上就可以放心了。但是这些命令的成功并不表示所有的网络配置都没有问题,例如某些子网掩码错误就可能无法用这些方法检测到。

Ping命令还有一些常用参数选项:

ping 某IP –t

连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。

(第四版)8

计算机网络实验手册

ping 某IP -l 128

指定Ping命令中的数据长度为128字节,而不是缺省的32字节。

ping 某IP –n 8

连续执行8次的Ping命令。

我们就先试着用ping命令测试一下https://www.360docs.net/doc/a717416563.html,:

1. 启动Ethereal捕获数据;

2. 保持Ethereal主窗口顶部的Filter为空;

3. 运行命令:

ping https://www.360docs.net/doc/a717416563.html,

4. 等全部数据返回后停止捕获;

5. 导出这些捕获结果,你可以在Ethereal的File命令菜单中选择save菜单,导出的文

件命名为ping-1。

并回答以下问题:

Q5.记录是否成功?如果成功,Reply from的IP地址、bytes、time和TTL的值是什么?

Q6.根据Q5的结果分析到https://www.360docs.net/doc/a717416563.html,的中间路由数量大约是多少?

Q7.ping的四次收发的数据是些什么内容,接收和发送的是一样的吗?

如果有网络连通性问题,也可以使用tracert命令来检查到达的目标 IP 地址的路径并记录结果。tracert 命令显示用于将数据报从计算机传递到目标位置的一组 IP 路由器,以及每个跃点所需的时间。如果数据报不能传递到目标,tracert 命令将显示成功转发数据包的最后一个路由器。当数据包从我们的计算机经过多个网关传送到目的地时,tracert命令可以用来跟踪数据包使用的路由,该程序跟踪的路径是源计算机到目的地的一条路径,不能保证或认为数据包总遵循这个路径。tracert运行得比较慢,每个路由器约需15秒钟。

Tracert的使用很简单,只需要在tracert后面跟一个IP地址或URL:

tracert IPaddress [-d]

该命令返回到达该IP地址所经过的路由器列表,通过使用 -d 选项,将更快地显示路由器路径,因为 tracert 不会尝试解析路径中路由器的名称。

tracert一般用来检测故障的位置,我们可以用tracert IP测出在哪个环节上出了问题,虽然还是没有确定是什么问题,但它已经告诉了我们问题所在的地方。

我们进一步用tracert命令来测试一下:

学生用书 9

宁波大学信息学院

1.启动Ethereal捕获数据;

2.保持Ethereal主窗口顶部的Filter为空;

3.运行命令:

tracert https://www.360docs.net/doc/a717416563.html,

4.等全部数据返回后停止捕获;

5.导出这些捕获结果,你可以在Ethereal的File命令菜单中选择save菜单,导出的文件

命名为tracert-1。

并回答以下问题:

Q8.到该网站的中间路由有多少个?和用ping分析的结果一样吗?为什么?

Q9.每个中间路由耗时各为多少?

Q10.如果有某个中间路由器没反应,可能的原因是?

〔自主设计实验〕

学会了Ethereal Network Analyzer软件,你可以完成很多你感兴趣的实验,你也可以看一下附录一,自己学习一下基本的规则设置和软件的其他功能,其中有一个很关键的任务是学会如何设置只捕获和自己的电脑有关的数据包的方法,后面的实验都要用到。

并请利用Ethereal Network Analyzer软件捕获和分析一下同学间互相拷贝文件、上网浏览时所接收和发送的数据类型、协议名称、收发方向等,请自己设计并完成实验、记载并分析实验结果。

〔重要提示〕

本实验手册的各个实验步骤完成后,你需要认真分析数据,并回答本手册中提出的问题,这将是你的实验报告的重要部分,实验报告的原理和步骤简单记载即可。附录三给出了回答问题的基本格式和样例。

这次实验中各步骤要求导出的数据有ethereal-1和ping-1、tracert-1三个文件(以后可能还有截图文件),请你将他们用winrar压缩好,用你的学号+姓名+实验次数命名好上传到ftp中你所在班级的目录中如04410098张山的第一次实验数据命名为:

04410098-张山-实验1.rar

如果要更新请勿覆盖,可命名为:

(第四版)10

计算机网络实验手册

04410098-张山-实验1a.rar

以此类推,以后的实验将不再复述这个要求,请注意:

请在每份实验报告上标注所对应的数据文件名,没有标注数据文件名的实验报告不给成绩,而且数据和报告不要互相抄袭或拷贝。

你可以使用FTP工具访问10.22.77.253,用户名是reports,密码也是reports,推荐使用leapftp,该软件和ftp服务器的配置已安装好,你可以在实验电脑的桌面上找到其快捷图标。这个软件可以在以下网站下载:

https://www.360docs.net/doc/a717416563.html,/networks/index.htm

你也可以使用IE浏览器上传、下载实验数据,直接在地址栏中以下地址,将你的实验数据复制粘贴到你所在班级的目录:

ftp://reports:reports@10.22.77.253/

注:服务器10.22.77.253仅能在校园网内访问。

学生用书 11

宁波大学信息学院

(第四版) 12

实验二 HTTP 协议分析

在这个实验中我们将研究HTTP 协议以下几方面内容:基本的GET/Response 、HTTP 消息的格式、GET 一个HTML 文件、GET 有内嵌对象的HTML 文件以及HTTP 的认证和安全。在开始之前请选择capture 菜单下的option 项,原来我们让capture filter 保持为空,请在这里设置“ether host 00:09:6B:3F:8B:2B ”后面的00:09:6B:3F:8B:2B 为你网卡的MAC 地址,可以用ipconfig/all 查到,这样可以有选择的捕获只和你有关系的数据包。

一、基本的HTTP GET/Response 操作

让我们通过下载一个很简单的HTML 文件来开始研究HTTP ,这个文件非常简单没有包含任何内嵌对象。请按照以下步骤做:

1.打开浏览器;

2.开启Ethereal Network Analyzer ,但不开始数据包捕获。在Ethereal 主窗口顶部的Filter 中输入“http ”,因此只有捕获的HTTP 消息稍后会显示在数据包列表窗口中;

3.等待大约一分钟,然后开始Ethereal 数据报捕获;

4.在浏览器中输入如下地址:

https://www.360docs.net/doc/a717416563.html,/networks/HTTP-ethereal-file1.html

浏览器将会显示一个很简单的且只有一行的HTML 文件;

5.停止Ethereal 的数据报捕获,Ethereal 窗口应该和下图类似:

图中在数据包列表窗口显示了两个被捕获的HTTP 消息:一个是GET

消息(来自你的

计算机网络实验手册

学生用书 13

浏览器到https://www.360docs.net/doc/a717416563.html, 网络服务器)和服务器发送到你的浏览器的Response 消息。数据包内容窗口显示了所选择的消息的详细内容(在这个例子里,HTTP GET 消息突出显示在数据包列表窗口中)。我们想使显示的数据中非HTTP 数据减少到最小,因此在框架的左边,Ethernet 、IP 和TCP 信息有一个加号(意思是有隐藏的,不显示的信息),而HTTP 行有一个减号(意思是所有关于HTTP 消息都被显示出来了)。

6. 点击File 菜单下的Save 选项将数据保存,命名为http-1。

通过观察HTTP GET 和Response 消息中的信息,回答如下问题(以后回答类似问题的时候,你都需要写出GET 和Response 消息、指出回答如下问题的信息是在消息中的哪个位置):

Q1.你的浏览器运行的HTTP 是1.0版本还是1.1版本?服务器运行HTTP 是哪个版本? Q2.你的浏览器能接受服务器的哪些语言?

Q3.你的电脑的IP 地址是多少?https://www.360docs.net/doc/a717416563.html, 服务器的IP 地址是多少?

Q4.从服务器返回到你的浏览器的状态码是什么?

Q5.什么时候在服务器端得到最后修正的HTML 文件?

Q6.多少字节的内容已经返回到你的浏览器?

Q7.除以上已回答过的字段外,头部还有哪些字段?在数据包内容窗口中检查原始数据,是否有未在数据包列表中显示的头部?

二、 H TTP GET/Response 有条件的相互作用

在开始前先确信你的浏览器缓存是空的,对

于IE 浏览器选择工具-Internet 选项-删除文件,

钩选“删除全部文件”从你的浏览器中移除缓存

的文件,然后点击确定按钮。如右图所示。

现在按以下步骤做:

1. 打开Ethereal Network Analyzer ,开始数

据包捕获。

2. 在你的浏览器中输入如下的URL 地址:

https://www.360docs.net/doc/a717416563.html,/networks/HTTP-ethereal-file2.html

浏览器将会显示一个很简单的5行的HTML 文件;

3. 快速地在你的浏览器中再次输入相同的URL (或者点一下刷新);

宁波大学信息学院

4.停止Ethereal 数据包捕获,在在Ethereal主窗口顶部的Filter中输入“http”,因此只有捕获的HTTP消息稍后将会显示在数据包列表窗口中。

6.点击File菜单下的Save选项将数据保存,命名为http-2。

以后每个实验的每一个小项均将数据依次编号保存出来,不再复述。

然后回答如下的问题:

Q8.从你的浏览器到服务器得到的请求中检查第一个HTTP GET的内容。在HTTP GET 中你有没有看到一行“IF-MODIFIED-SINCE”?为什么?

Q9.检查服务器回应内容,服务器明确地返回了文件的内容吗?你怎样断定?

Q10.现在从你的浏览器到服务器得到的请求中检查第二个HTTP GET的内容。在HTTP GET中你有没有看到一行“IF-MODIFIED-SINCE”?

如果有,在“IF-MODIFIED-SINCE”头部有什么信息?

Q11.第二次HTTP返回的状态码是多少?从服务器返回的响应第二个HTTP GET的短语是什么?服务器明确地返回了文件的内容吗?为什么?

三、 得到较长的文档

在前面实验得到的文档是简单和短小的HTML文件,让我们来看看下载一个长的HTML 文件时会出现什么。按以下要求做:

1.打开你的浏览器,确信你的浏览器缓存是空的,就如上面讨论的;

2.打开Ethereal Network Analyzer,开始数据包捕获;

3.在你的浏览器中输入如下的URL地址:

https://www.360docs.net/doc/a717416563.html,/networks/HTTP-ethereal-file3.html 你的浏览器将会显示相当长的美国权利法案;

4.停止Ethereal 数据包捕获,在Filter栏输入“http”,因此只有捕获的HTTP消息稍后

将会显示在数据包列表窗口中。

在数据包列表窗口,看一下你的HTTP GET消息,跟随着一个用来响应你的HTTP GET 请求的复合数据包。HTTP响应的消息是由一个状态行,接着是头部行,一个空白行以及实体组成。在我们的HTTP GET例子中,响应中的实体是一个完整的请求HTML的文件。在这里HTML文件相当长,所以4500字节对于一个TCP包来说太大了。因此一个HTTP响应消息被TCP分割成几个片,每个片包括单独的TCP段。每个TCP段被Ethereal记录成一个单独的包,事实上一个HTTP响应在若干个TCP包中被分成片段,这里HTTP没有附加的消息。

(第四版)14

计算机网络实验手册

回答下面的问题:

Q12.你的浏览器发送了多少个HTTP GET请求消息?

Q13.传输这一个HTTP响应需要多少个TCP数据段?

Q14.响应HTTP GET请求的相关的状态码和短语是什么?

Q15.在TCP“Continuation”附加关联的传输数据中有没有HTTP状态码和短语?

四、 带有内嵌对象的HTML文档

现在我们已经看到Ethereal怎样为大型HTML文件捕获信息包,我们可以看一下当你的浏览器下载一个带有内嵌对象的文件时会出现什么情况,比如一个包含存储在另外的服务器中其他对象的文件,在下面的例子中是图片文件。

按如下要求做:

1.打开浏览器,确信你的浏览器缓存是空的,就如上面讨论的;

2.打开Ethereal Network Analyzer,开始数据包捕获;

3.在你的浏览器中输入如下的URL地址:

https://www.360docs.net/doc/a717416563.html,/networks/HTTP-ethereal-file4.html 你的浏览器将会显示一个短小的带有两张图片的HTML文件,这两张图片是由基本HTML文件引用的。图片并没有包含在HTML中,但图片的URL被包含在下载下来的HTML文件中。浏览器将会从指定的网站中重新得到这些logo。我们的logo 是从https://www.360docs.net/doc/a717416563.html,网站中找到的,底部图片是存储在https://www.360docs.net/doc/a717416563.html,服务器中的。

4.停止Ethereal 数据包捕获,在Filter窗口中输入“http”,因此只有捕获的HTTP消息稍后将会显示在数据包列表窗口中。

回答以下问题:

Q16.请在HTTP-ethereal-file4.html网页中找出图片引用的数据位置,是相对URL地址还是绝对URL地址?

Q17.你的浏览器发送了多少个HTTP GET请求消息?这些GET请求发送到哪些IP地址?

Q18.你的浏览器是否同时下载这两张图片(并发的从两个网站上下载图片)?你是如何判断的?

学生用书 15

宁波大学信息学院

五、 H TTP认证

最后,让我们试着访问一个网站,这个网站有密码保护,按照以下要求做:

1.确信你的浏览器缓存是空的,就如上面讨论的。关闭你的浏览器,然后再打开;

2.打开Ethereal Network Analyzer,开始数据包捕获;

3.在你的浏览器中输入如下的URL地址:

https://www.360docs.net/doc/a717416563.html,/networks/HTTP-ethereal-file5p.html

在出现的对话框中输入用户名和密码,用户名是“students”,密码是“networks”;

4.停止Ethereal 数据包捕获,在Filter窗口中输入“http”,因此只有捕获的HTTP消息稍

后将会显示在数据包列表窗口中。

现在让我们检查Ethereal的输出,你可以参考阅读一下“HTTP Access Authentication Framework” 的材料,网址是:

https://www.360docs.net/doc/a717416563.html,/networks/http-authentication-schemes.htm 然后回答以下问题:

Q19.服务器对起初的HTTP GET消息的响应(状态码和短语)是什么?与前一部分实验相比,在这个响应消息中出现了什么新的字段?

Q20.当你的浏览器第二次发送HTTP GET消息时,有什么新的字段被包含在HTTP GET 消息中?对应的服务器响应有没有新的字段出现?

Q21.当你的浏览器第三次发送HTTP GET消息时,有什么新的字段被包含在HTTP GET 消息中?当你输入正确的用户名和密码后,服务器给出的响应是什么?

在完成20和21两个问题后,请阅读以下资料:

https://www.360docs.net/doc/a717416563.html,/networks/http-authentication-NTLM.htm

〔自主设计实验〕

在HTTP协议中还有很多内容值得研究,请你自己设计一个小实验分析前面没研究过的主题,比如中文的网页、ASP网页、DHTML网页等,或对已作过的实验换一个国内的URL 试试。可以试一下google的首页搜索递交的数据或WEB邮箱登录的数据,但不要太复杂哟,请把你自己设计的实验步骤记录下来并对结果进行分析。

如果你对FTP和EMAIL感兴趣也可以设计一个实验来捕获一下数据。

(第四版)16

计算机网络实验手册

学生用书 17

实验三 DNS 协议分析

DNS 协议用于把主机名转换成IP 地址,在Internet 构架中扮演着重要的角色。在这个实验中,我们将观察客户机中的DNS 协议。在DNS 中客户机的角色是相当简单的——客户端向它本地的DNS 服务器发送一个请求,然后收到一个响应。

一、nslookup 工具

在这个实验里,我们将要广泛地使用nslookup 工具,在大多数的基本操作中nslookup 工具允许主机运行它来查询指定的DNS 服务器。在Windows 下Nslookup 有两种模式:交互式和非交互式。如果仅需要查找单一的数据,请使用非交互式模式,其一般语法是:

nslookup –option1 –option2 host-to-find dns-server

对于第一个参数host-to-find 用于键入要查找的计算机的名称或 IP 地址,对于第二个参数dns-server 用于键入 DNS 名称服务器的名称或 IP 地址,dns-server 是可选的,如果省略第二个参数,则 nslookup 使用默认 的本地DNS 名称服务器。

nslookup 查询的DNS 服务器可以是一个权威服务器、最高层域的DNS 服务器、具有认证的DNS 服务器或者是一个中间DNS 服务器。为了完成这个任务,nslookup 向指定的DNS 服务器发送了一个DNS 查询请求,从DNS 服务器收到了一个响应,并且显示结果,如:

宁波大学信息学院

在上面的屏幕中显示了执行三个独立nslookup命令后的结果。在这个例子中,客户端主机默认的本地DNS服务器位于https://www.360docs.net/doc/a717416563.html,。当运行nslookup时,如果没有DNS 服务器被指定,那么nslookup将向默认的DNS服务器发送查询请求。先观察第一个命令:nslookup https://www.360docs.net/doc/a717416563.html,

这个命令是查询主机https://www.360docs.net/doc/a717416563.html,的IP地址。如上面的屏幕上所示,这个命令所得到的响应包括两条信息:

(1)回答了这个DNS服务器的名字和IP地址;

(2)这个回答本身又包括https://www.360docs.net/doc/a717416563.html,的主机名称和IP地址。

尽管这个响应来自于本地的DNS服务器,但是很有可能这个本地服务器反复地和其他几个DNS服务器联系,然后得到回答。现在让我们来看第二个命令:

nslookup –type=NS https://www.360docs.net/doc/a717416563.html,

在这个例子里,我们提供了“-type=NS”和域名“https://www.360docs.net/doc/a717416563.html,”两个选项。这样nslookup 向默认的本地DNS服务器发送一个查询type-NS档案的请求。这个查询请求的意思是请发给我对于https://www.360docs.net/doc/a717416563.html,具有认证的DNS的主机名。当-type选项没有使用,nslookup将使用默认的。这个结果显示在上面的屏幕中,默认的本地DNS服务器的回答指出了3个DNS服务器,他们中的任何一个对于MIT中的主机实际上都是具有认证的权威DNS服务器。然而nslookup却指出这个回答是“无认证的”,这是因为这个回答是来自于本地DNS服务器的缓存中而不是来自具有认证的https://www.360docs.net/doc/a717416563.html,的DNS服务器。最后,这个回答也包括了MIT权威DNS服务器的IP地址。尽管type-NS查询请求没有明确的请求IP地址,但是本地的DNS 服务器会自动的返回IP地址,然后nslookup显示这个结果。最后让我们来看第三个命令:nslookup https://www.360docs.net/doc/a717416563.html, https://www.360docs.net/doc/a717416563.html,

在这个例子中,我们想要把查询请求发送到权威DNS服务器之一的https://www.360docs.net/doc/a717416563.html,而不是默认的DNS服务器https://www.360docs.net/doc/a717416563.html,。因此,这个查询请求及其答复直接在我们的查询请求主机和https://www.360docs.net/doc/a717416563.html,之间处理,和本地DNS服务器没有关系。在这个例子中,这个DNS服务器https://www.360docs.net/doc/a717416563.html,提供了主机https://www.360docs.net/doc/a717416563.html,的IP地址,这个服务器是一个位于浙江大学的WEB服务器。

现在我们已经了解了nslookup一般的用法,按照以下要求做以及写下结果:

Q1.运行nslookup,查询并记载你的本地DNS服务器名称及其IP地址,https://www.360docs.net/doc/a717416563.html,的权威DNS服务器名称及其IP地址;

Q2.运行nslookup,查询并记载https://www.360docs.net/doc/a717416563.html,的IP地址、其权威DNS服务器名称和

(第四版)18

计算机网络实验手册

学生用书 19

IP 地址; Q3.已知剑桥大学的域名为https://www.360docs.net/doc/a717416563.html, ,运行nslookup ,查询并记载剑桥大学的IP 地址和他的权威DNS 服务器名称和IP 地址;

二、ipconfig 工具

Windows 和Linux/unix 下的ifconfig 在你的主机中是最有用的小工具,ipconfig 能被用来显示你当前的TCP/IP 信息,包括你的地址、DNS 服务器地址、适配器类型等等。这些信息一般用来检验人工配置的TCP/IP 设置是否正确。了解计算机当前的IP 地址、子网掩码和缺省网关实际上是进行测试和故障分析的必要项目。 IPConfig 最常用的选项包括: ipconfig

当使用IPConfig 时不带任何参数选项,那么它为每个已经配置了的接口显示IP 地址、子网掩码和缺省网关值。

ipconfig /all

当使用all 选项时,IPConfig 能为DNS 和WINS 服务器显示它已配置且所要使用的附加信息(如IP 地址等),并且显示内置于本地网卡中的物理地址(MAC )。

一个主机平时能够缓存DNS 数据,ipconfig 对于存储在你的主机中的DNS 信息的管理也是很有用的,当输入如下的命令后:

ipconfig /displaydns

可以显示缓存的全部DNS 记录,这里也显示了剩余的生存时间周期(TTL ),如果想要清除这些缓存,输入:

Wireshark抓包实验报告.

第一次实验:利用Wireshark软件进行数据包抓取 1.3.2 抓取一次完整的网络通信过程的数据包实验 一,实验目的: 通过本次实验,学生能掌握使用Wireshark抓取ping命令的完整通信过程的数据包的技能,熟悉Wireshark软件的包过滤设置和数据显示功能的使用。 二,实验环境: 操作系统为Windows 7,抓包工具为Wireshark. 三,实验原理: ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。 四,验步骤: 1.确定目标地址:选择https://www.360docs.net/doc/a717416563.html,作为目标地址。 2.配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp,如图 1- 1

图 1-1 3.启动抓包:点击【start】开始抓包,在命令提示符下键入ping https://www.360docs.net/doc/a717416563.html,, 如图 1-2

图 1-2 停止抓包后,截取的数据如图 1-3 图 1-3 4,分析数据包:选取一个数据包进行分析,如图1- 4

图1-4 每一个包都是通过数据链路层DLC协议,IP协议和ICMP协议共三层协议的封装。DLC协议的目的和源地址是MAC地址,IP协议的目的和源地址是IP地址,这层主要负责将上层收到的信息发送出去,而ICMP协议主要是Type和Code来识别,“Type:8,Code:0”表示报文类型为诊断报文的请求测试包,“Type:0,Code:0”表示报文类型为诊断报文类型请正常的包。ICMP提供多种类型的消息为源端节点提供网络额故障信息反馈,报文类型可归纳如下: (1)诊断报文(类型:8,代码0;类型:0代码:0); (2)目的不可达报文(类型:3,代码0-15); (3)重定向报文(类型:5,代码:0--4); (4)超时报文(类型:11,代码:0--1); (5)信息报文(类型:12--18)。

实验一-Wireshark的安装与使用

一、实验目的 1、熟悉并掌握Wireshark的基本使用; 2、了解网络协议实体间进行交互以及报文交换的情况。 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、预备知识 要深入理解网络协议,需要观察它们的工作过程并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作及其影响。这种观察可以在仿真环境下或在因特网这样的真实网络环境中完成。 观察正在运行的协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer),又称分组捕获器。顾名思义,分组嗅探器捕获(嗅探)你的计算机发送和接收的报文。 图显示了一个分组嗅探器的结构。 图分组嗅探器的结构 图右边是计算机上正常运行的协议和应用程序(如:Web浏览器和FTP客户端)。分组嗅探器(虚线框中的部分)主要有两部分组成:第一是分组捕获器,其功能是捕获计算机发送和接收的每一个链路层帧的拷贝;第二个组成部分是分组分析器,其作用是分析并显示协议报文所有字段的内容(它能识别目前使用的各种网络协议)。 Wireshark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组

嗅探器,是一个开源免费软件,可以从下载。 运行Wireshark 程序时,其图形用户界面如图所示。最初,各窗口中并无数据显示。Wireshark 的界面主要有五个组成部分: 命令和菜单 协议筛选框 捕获分组 列表 选定分组 首部明细 分组内容 左:十六进制 右:ASCII码 图 Wireshark 主界面 命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。 协议筛选框(display filter specification):在该处填写某种协议的名称,Wireshark据此对分组列表窗口中的分组进行过滤,只显示你需要的分组。 捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包括:分组序号、捕获时间、源地址和目的地址、协议类型、协议信息说明。单击某一列的列名,可以使分组列表按指定列排序。其中,协议类型是发送或接收分组的最高层协议的类型。 分组首部明细(details of selected packet header):显示捕获分组列表窗口中被选中分组的首部详细信息。包括该分组的各个层次的首部信息,需要查看哪层信息,双击对应层次或单击该层最前面的“+”即可。 分组内容窗口(packet content):分别以十六进制(左)和ASCII码(右)两种格式显示被捕获帧的完整内容。

wireshark抓包分析实验报告

Wireshark抓包分析实验 若惜年 一、实验目的: 1.学习安装使用wireshark软件,能在电脑上抓包。 2.对抓出包进行分析,分析得到的报文,并与学习到的知识相互印证。 二、实验内容: 使用抓包软件抓取HTTP协议通信的网络数据和DNS通信的网络数据,分析对应的HTTP、TCP、IP协议和DNS、UDP、IP协议。 三、实验正文: IP报文分析: 从图中可以看出: IP报文版本号为:IPV4 首部长度为:20 bytes 数据包长度为:40 标识符:0xd74b 标志:0x02 比特偏移:0 寿命:48 上层协议:TCP 首部校验和:0x5c12 源IP地址为:119.75.222.18 目的IP为:192.168.1.108

从图中可以看出: 源端口号:1891 目的端口号:8000 udp报文长度为:28 检验和:0x58d7 数据长度:20 bytes UDP协议是一种无需建立连接的协议,它的报文格式很简单。当主机中的DNS 应用程序想要惊醒一次查询时,它构造一个DNS查询报文段并把它给UDP,不需要UDP之间握手,UDP为报文加上首部字段,将报文段交给网络层。

第一次握手: 从图中看出: 源端口号:56770 目的端口号:80 序列号为:0 首部长为: 32 bytes SYN为1表示建立连接成功当fin为1时表示删除连接。

第二次握手: 从图中看出: 源端口号是:80 目的端口号为:56770 序列号为:0 ack为:1 Acknowledgement为1表示包含确认的报文Syn为1表示建立连接。

第三次握手: 从图中看出: 源端口:56770 目的端口:80 序列号为:1 ACK为:1 首部长为:20bytes Acknowledgement为1表示包含确认的报文 所以,看出来这是TCP连接成功了 Tcp是因特网运输层的面向连接的可靠的运输协议,在一个应用进程可以开始向另一个应用进程发送数据前,这两个进程必须先握手,即它们必须相互发送预备文段,建立确保传输的参数。

计算机网络实验Wireshark

计算机网络实验指导书

目录 实验一Wireshark的安装与使用 (3) 实验二使用Wireshark分析以太网帧与ARP协议 (7) 实验三使用Wireshark分析IP协议 (11) 实验四利用Wireshark分析ICMP (19) 实验五使用Wireshark分析UDP协议 (25) 实验六使用Wireshark分析TCP协议 (29) 实验七利用Wireshark分析协议HTTP (35) 实验八利用Wireshark分析DNS协议 (40) 实验九使用Wireshark分析FTP协议(选作) (44) 实验十使用Wireshark分析SMTP与POP3协议(选作) (48)

实验一Wireshark的安装与使用 一、实验目的 1、熟悉并掌握Wireshark的基本使用; 2、了解网络协议实体间进行交互以及报文交换的情况。 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、预备知识 要深入理解网络协议,需要观察它们的工作过程并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作及其影响。这种观察可以在仿真环境下或在因特网这样的真实网络环境中完成。 观察正在运行的协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer),又称分组捕获器。顾名思义,分组嗅探器捕获(嗅探)您的计算机发送与接收的报文。 图1显示了一个分组嗅探器的结构。 图1 图1右边就是计算机上正常运行的协议与应用程序(如:Web浏览器与FTP客户端)。分组嗅探器(虚线框中的部分)主要有两部分组成:第一就是分组捕获器,其功能就是捕获计算机发送与接收的每一个链路层帧的拷贝;第二个组成部分就是分组分析器,其作用就是分析并显示协议报文所有字段的内容(它能识别目前使用的各种网络协议)。 Wireshark就是一种可以运行在Windows, UNIX, Linux等操作系统上的分组嗅探器,就是一个开源免费软件,可以从、wireshark、org下载。

实验一 wireshark抓包工具使用

实验一wireshark抓包工具使用[实验目的] 学习wireshark抓包工具的使用 了解wireshark抓包工具的功能 通过学习,进一步理解协议及网络体系结构思想 [实验原理] Wireshark是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 主要应用: 网络管理员用来解决网络问题 网络安全工程师用来检测安全隐患 开发人员用来测试协议执行情况 用来学习网络协议 [实验内容] 下载WIRESHARK,学习工具的使用和功能。

Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。 Wireshark可能算得上是今天能使用的最好的开元网络分析软件。 工作流程 (1)确定Wireshark的位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一些与自己无关的数据。 (2)选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。 (3)使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获文件。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。 (4)使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。 (5)使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。 (6)构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的 形式可以很方便的展现数据分布情况。

wireshark 实验 DHCP

Wireshark Lab: DHCP Version: 2.0 ? 2007 J.F. Kurose, K.W. Ross. All Rights Reserved Computer Networking: A Top-down Approach, 4th edition. In this lab, we’ll take a quick look at DHCP. Recall that DHCP is used extensively in corporate, university and home-network wired and wireless LANs to dynamically assign IP addresses to hosts (as well as to configure other network configuration information). This lab is brief, as we’ll only examine the DHCP packets captured by a host. If you also have administrative access to your DHCP server, you may want to repeat this lab after making some configuration changes (such as the lease time). If you have a router at home, you most likely can configure your DHCP server. Because many linux/Unix machines (especially those that serve many users) have a static IP address and because manipulating DHCP on such machines typically requires super-user privileges, we’ll only present a Windows version of this lab below. DHCP Experiment In order to observe DHCP in action, we’ll perform several DHCP-related commands and capture the DHCP messages exchanged as a result of executing these commands. Do the following1: 1.Begin by opening the Windows Command Prompt application (which can be found in your Accessories folder). As shown in Figure 1, enter “ipconfig /release”. The executable for ipconfig is in C:\windows\system32. This command releases your current IP address, so that your host’s IP address becomes 0.0.0.0. 1If you are unable to run Wireshark live on a computer, you can download the zip file https://www.360docs.net/doc/a717416563.html,/wireshark-labs/wireshark-traces.zip and extract the file dhcp-ethereal-trace-1. The traces in this zip file were collected by Wireshark running on one of the author’s computers, while performing the steps indicated in the Wireshark lab. Once you have downloaded the trace, you can load it into Wireshark and view the trace using the File pull down menu, choosing Open, and then selecting the dhcp-ethereal-trace-1 trace file. You can then use this trace file to answer the questions below.

wireshark 实验 HTTP

Wireshark Lab: HTTP Version: 2.0 (Sept. 2009) ? 2009 J.F. Kurose, K.W. Ross. All Rights Reserved Computer Networking: A Top- down Approach, 5th edition . Having gotten our feet wet with the Wireshark packet sniffer in the introductory lab, we’re now ready to use Wireshark to investigate protocols in operation. In this lab, we’ll explore several aspects of the HTTP protocol: the basic GET/response interaction, HTTP message formats, retrieving large HTML files, retrieving HTML files with embedded objects, and HTTP authentication and security. Before beginning these labs, you might want to review Section 2.2 of the text. 1. The Basic HTTP GET/response interaction Let’s begin our exploration of HTTP by downloading a very simple HTML file - one that is very short, and contains no embedded objects. Do the following: 1. Start up your web browser. 2. Start up the Wireshark packet sniffer, as described in the Introductory lab (but don’t yet begin packet capture). Enter “http” (just the letters, not the quotation marks) in the display-filter-specification window, so that only captured HTTP messages will be displayed later in the packet-listing window. (We’re only interested in the HTTP protocol here, and don’t want to see the clutter of all captured packets). 3. Wait a bit more than one minute (we’ll see why shortly), and then begin Wireshark packet capture. 4. Enter the following to your browser https://www.360docs.net/doc/a717416563.html,/wireshark-labs/HTTP-wireshark-file1.html Your browser should display the very simple, one-line HTML file. 5. Stop Wireshark packet capture. Your Wireshark window should look similar to the window shown in Figure 1. If you are unable to run Wireshark on a live network connection, you can download a packet trace that was created when the steps above were followed.1 1 Download the zip file https://www.360docs.net/doc/a717416563.html,/wireshark-labs/wireshark-traces.zip and extract the file http-ethereal-trace-1. The traces in this zip file were collected by Wireshark running on one of the author’s

Wireshark抓包实验报告

西安郵電學院 计算机网络技术及应用实验 报告书 系部名称:管理工程学院学生姓名:xxx 专业名称:信息管理 班级:10xx 学号:xxxxxxx 时间:2012 年x 月x 日

实验题目Wireshark抓包分析实验 一、实验目的 1、了解并会初步使用Wireshark,能在所用电脑上进行抓包 2、了解IP数据包格式,能应用该软件分析数据包格式 3、查看一个抓到的包的内容,并分析对应的IP数据包格式 二、实验内容 1、安装Wireshark,简单描述安装步骤。 2、打开wireshark,选择接口选项列表。或单击“Capture”,配置“option” 选项。 3、设置完成后,点击“start”开始抓包,显示结果。 4、选择某一行抓包结果,双击查看此数据包具体结构。 5、捕捉IP数据报。 ①写出IP数据报的格式。 ②捕捉IP数据报的格式图例。 ③针对每一个域所代表的含义进行解释。 三、实验内容(续,可选) 1、捕捉特定内容 捕捉内容:http 步骤:①在wireshark软件上点开始捕捉。 ②上网浏览网页。 ③找到包含http格式的数据包,可用Filter进行设置,点击 中的下拉式按钮,选择http。 ④在该数据帧中找到Get 的内容。 实验体会

Wireshark抓包分析实验报告 一.实验目的 1.了解并初步使用Wireshark,能在所用电脑上进行抓包。 2.了解IP数据包格式,能应用该软件分析数据包格式。 3.查看一个抓到的包的内容,并分析对应的IP数据包格式。 二.主要仪器设备 协议分析软件Wireshark,联网的PC机。 三.实验原理和实验内容 1 安装WireShark。这个不用说了,中间会提示安装WinPcap,一切都是默认的了

wireshark 实验 Getting Started

Wireshark Lab: Getting Started Version: 2.0 ? 2007 J.F. Kurose, K.W. Ross. All Rights Reserved Computer Networking: A Top-down Approach, 4th edition. “Tell me and I forget. Show me and I remember. Involve me and I understand.” Chinese proverb One’s understanding of network protocols can often be greatly deepened by “seeing protocols in action” and by “playing around with protocols” – observing the sequence of messages exchanged between two protocol entities, delving down into the details of protocol operation, and causing protocols to perform certain actions and then observing these actions and their consequences. This can be done in simulated scenarios or in a “real” network environment such as the Internet. The Java applets that accompany this text take the first approach. In these Wireshark labs1, we’ll take the latter approach. You’ll be running various network applications in different scenarios using a computer on your desk, at home, or in a lab. You’ll observe the network protocols in your computer “in action,” interacting and exchanging messages with protocol entities executing elsewhere in the Internet. Thus, you and your computer will be an integral part of these “live” labs. You’ll observe, and you’ll learn, by doing. The basic tool for observing the messages exchanged between executing protocol entities is called a packet sniffer. As the name suggests, a packet sniffer captures (“sniffs”) messages being sent/received from/by your computer; it will also typically store and/or display the contents of the various protocol fields in these captured messages. A packet sniffer itself is passive. It observes messages being sent and received by applications and protocols running on your computer, but never sends packets itself. Similarly, received packets are never explicitly addressed to the packet sniffer. Instead, a packet sniffer receives a copy of packets that are sent/received from/by application and protocols executing on your machine. 1 Earlier versions of these labs used the Ethereal packet analyzer. In May 2006, the developer of Ethereal joined a new company, and had to leave the Ethereal? trademarks behind. He then created the Wireshark network protocol analyzer, a successor to Ethereal?. Since Ethereal? is no longer being actively maintained or developed, we have thus switched these labs over to Wireshark with the 4th edition of our text.

实验1_ Wireshark使用

实验一Wireshark使用 一、实验目的 1、熟悉并掌握Wireshark的基本使用; 2、了解网络协议实体间进行交互以及报文交换的情况。 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、预备知识 要深入理解网络协议,需要观察它们的工作过程并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作及其影响。这种观察可以在仿真环境下或在因特网这样的真实网络环境中完成。 观察正在运行的协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer),又称分组捕获器。顾名思义,分组嗅探器捕获(嗅探)你的计算机发送和接收的报文。 图1显示了一个分组嗅探器的结构。 图1 图1右边是计算机上正常运行的协议和应用程序(如:Web浏览器和FTP客户端)。分组嗅探器(虚线框中的部分)主要有两部分组成:第一是分组捕获器,其功能是捕获计算机发送和接收的每一个链路层帧的拷贝;第二个组成部分是分组分析器,其作用是分析并显示协议报文所有字段的内容(它能识别目前使用的各种网络协议)。 Wireshark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组嗅探器,是一个开源免费软件,可以从https://www.360docs.net/doc/a717416563.html,下载。

运行Wireshark 程序时,其图形用户界面如图2所示。最初,各窗口中并无数据显示。Wireshark 的界面主要有五个组成部分: 图2 ● 命令菜单(command menus ):命令菜单位于窗口的最顶部,是标准的下拉式菜单。 ● 协议筛选框(display filter specification ):在该处填写某种协议的名称,Wireshark 据此对分组列表窗口中的分组进行过滤,只显示你需要的分组。 ● 捕获分组列表(listing of captured packets ):按行显示已被捕获的分组内容,其中包括:分组序号、捕获时间、源地址和目的地址、协议类型、协议信息说明。单击某一列的列名,可以使分组列表按指定列排序。其中,协议类型是发送或接收分组的最高层协议的类型。 ● 分组首部明细(details of selected packet header ):显示捕获分组列表窗口中被选中分组的首部详细信息。包括该分组的各个层次的首部信息,需要查看哪层信息,双击对应层次或单击该层最前面的“+”即可。 ● 分组内容窗口(packet content ):分别以十六进制(左)和ASCII 码(右)两种格式显示被捕获帧的完整内容。 四、实验步骤 命令和菜单 协议筛选框 捕获分组 列表 选定分组 首部明细 分组内容 左:十六进制 右:ASCII 码

实验一、Wireshark报文捕捉实验---

实验一Wireshark报文捕捉实验 一、实验目的 1.掌握Wireshark抓包软件的基本使用方法; 2.使用Wireshark抓取Telnet的数据报,分析IP头结构; 3.使用Wireshark抓取Telnet的数据报,分析TCP头的结构、分析TCP的“三 次握手”和“四次挥手”的过程。 二、实验环境 1.运行Windows的PC机; 2.Wireshark软件; 3.Winpcap软件。 三、实验原理 1.IP头结构; IP包头长度(Header Length):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。该部分占4个bit位,单位为32bit(4个字节),即本区域值= IP头部长度(单位为bit)/(8*4),因此,一个IP包头的长度最长为“1111”,即15*4=60个字节。IP包头最小长度为20字节。 2.TCP的“三次握手”和“四次挥手”的过程。 TCP三次握手 所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手。

?第一次握手: 客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,以及初始序号X,保存在包头的序列号(Sequence Number)字段里。 ?第二次握手: 服务器发回确认包(ACK)应答。即SYN标志位和ACK标志位均为1同时,将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即X+1。 ?第三次握手. 客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1 TCP 四次挥手

实验六_利用Wireshark分析协议HTTP

实验六利用Wireshark分析协议HTTP 一、实验目的 分析HTTP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、利用Wireshark俘获HTTP分组 (1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns(清除DNS解析程序缓存)完成操作。 (2)启动Wireshark 分组俘获器。 (3)在Web 浏览器中输入:https://www.360docs.net/doc/a717416563.html, (4)停止分组俘获。 图1.1 利用Wireshark俘获的HTTP分组 在URL https://www.360docs.net/doc/a717416563.html,中,https://www.360docs.net/doc/a717416563.html,是一个具体的web 服务器的域名。最前面有两个DNS分组。第一个分组是将域名https://www.360docs.net/doc/a717416563.html,

转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过https://www.360docs.net/doc/a717416563.html,这样的域名。当输入URL http://https://www.360docs.net/doc/a717416563.html, 时,将要求Web服务器从主机https://www.360docs.net/doc/a717416563.html,上请求数据,但首先Web浏览器必须确定这个主机的IP地址。 随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。最后,Web 浏览器使用已建立好的TCP连接来发送请求“GET/HTTP/1.1”。这个分组描述了要求的行为(“GET”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“HTTP/1.1”)。 2、HTTP GET/response交互 (1)在协议框中,选择“GET/HTTP/1.1” 所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该首部与下一个首部隔开。 “Host”首部在HTTP1.1版本中是必须的,它描述了URL中机器的域名,本例中是https://www.360docs.net/doc/a717416563.html,。这就允许了一个Web服务器在同一时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本的主要变化。 User-Agent首部描述了提出请求的Web浏览器及客户机器。 接下来是一系列的Accpet首部,包括Accept(接受)、Accept-Language (接受语言)、Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web服务器客户Web浏览器准备处理的数据类型。Web服务器可以将数据转变为不同的语言和格式。这些首部表明了客户的能力和偏好。 Keep-Alive及Connection首部描述了有关TCP连接的信息,通过此连接发送HTTP请求和响应。它表明在发送请求之后连接是否保持活动状态及保持多久。大多数HTTP1.1连接是持久的(persistent),意思是在每次请求后不关闭TCP 连接,而是保持该连接以接受从同一台服务器发来的多个请求。 (2)我们已经察看了由Web浏览器发送的请求,现在我们来观察Web服务器的回答。响应首先发送“HTTP/1.1 200 ok”,指明它开始使用HTTP1.1版本来发送网页。同样,在响应分组中,它后面也跟随着一些首部。最后,被请求的实际数据被发送。

实验使用Wireshark分析UDP

实验六使用W i r e s h a r k分析U D P 一、实验目的 比较TCP和UDP协议的不同 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、打开两次TCP流的有关跟踪记录,保存在tcp_2transmit.cap中,并打开两次UDP 流中的有关跟踪文件udp_2transmit.cap 。如图所示: 图1:TCP 流跟踪记录 图2:UDP流跟踪记录 2、分析此数据包: (1)TCP传输的正常数据: tcp_2transmit.cap文件的分组1到13中显示了TCP连接。这个流中的大部分信息与前面的实验相同。我们在分组1到分组3中看到了打开连接的三次握手。分组10到分组13显示的则是连接的终止。我们看到分组10既是一个带有FIN标志的请求终止连接的分组,又是一个最后1080个字节的(序号是3921—5000)的重传。 TCP将应用程序写入合并到一个字节流中。它并不会尝试维持原有应用程序写人的边界值。我们注意到TCP并不会在单个分组中传送1000字节的应用程序写入。前1000个字节会在分组4种被发送,而分组5则包含了1460个字节的数据-----一些来自第二个缓冲区,而另一些来自第三个缓冲区。分组7中含有1460个字节而分组8中则包含剩余的1080个字节。(5000-1000-1460-1460=1080) 我们注意到实际报告上的2.48秒是从初始化连接的分组1开始到关闭连接的分组10结束。分组11—13未必要计入接收端应用程序的时间内,因为一旦接收到第一个FIN,TCP 层便马上发送一个关闭连接的信号。分组11—13只可能由每台计算机操作系统得TCP层后台传输。 如果我们注意到第一个包含数据的分组4和最后一个分组8之间的时间,我们就大约计算出和由UDP接收端所报告的0.01秒相同的时间。这样的话,增加TCP传输时间的主

wireshark 实验 TCP

Wireshark Lab: TCP Version: 2.0 ? 2007 J.F. Kurose, K.W. Ross. All Rights Reserved Computer Networking: A Top-down Approach, 4th edition. In this lab, we’ll investigate the behavior of TCP in detail. We’ll do so by analyzing a trace of the TCP segments sent and received in transferring a 150KB file (containing the text of Lewis Carrol’s Alice’s Adventures in Wonderland) from your computer to a remote server. We’ll study TCP’s use of sequence and acknowledgement numbers for providing reliable data transfer; we’ll see TCP’s congestion control algorithm – slow start and congestion avoidance – in action; and we’ll look at TCP’s receiver-advertised flow control mechanism. We’ll also briefly consider TCP connection setup and we’ll investigate the performance (throughput and round-trip time) of the TCP connection between your computer and the server. Before beginning this lab, you’ll probably want to review sections 3.5 and 3.7 in the text.1 1. Capturing a bulk TCP transfer from your computer to a remote server Before beginning our exploration of TCP, we’ll need to use Wireshark to obtain a packet trace of the TCP transfer of a file from your computer to a remote server. You’ll do so by accessing a Web page that will allow you to enter the name of a file stored on your computer (which contains the ASCII text of Alice in Wonderland), and then transfer the file to a Web server using the HTTP POST method (see section 2.2.3 in the text). We’re using the POST method rather than the GET method as we’d like to transfer a large amount of data from your computer to another computer. Of course, we’ll be running Wireshark during this time to obtain the trace of the TCP segments sent and received from your computer. 1 All references to the text in this lab are to Computer Networking: A Top-down Approach, 4th edition.

相关文档
最新文档