计算机网络-使用网络协议分析器捕捉和分析协议数据包

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广州大学学生实验报告

开课学院及实验室:计算机科学与工程实验室2014年11月28日

一、实验目的

(1)熟悉ethereal的使用

(2)验证各种协议数据包格式

(3)学会捕捉并分析各种数据包。

二、实验环境

1.MacBook Pro

2.Mac OS 10.10.1

3..Wireshark

三、实验内容

1.安装ethereal软件

2.捕捉数据包,验证数据帧、IP数据报、TCP数据段的报文格式。

3.捕捉并分析ARP报文。

4.捕捉ping过程中的ICMP报文,分析结果各参数的意义。

5.捕捉tracert过程中的ICMP报文,分析跟踪的路由器IP是哪个接口的。

6.捕捉并分析TCP三次握手建立连接的过程。

7.捕捉整个FTP工作工程的协议包

对协议包进行分析说明,依据不同阶段的协议分析,画出FTP工作过程的示意图

a.. 地址解析ARP协议执行过程

b. FTP控制连接建立过程

c . FTP 用户登录身份验证过程

d. FTP 数据连接建立过程

e. FTP数据传输过程

f. FTP连接释放过程(包括数据连接和控制连接)

8.捕捉及研究WWW应用的协议报文,回答以下问题:

a. .当访问某个主页时,从应用层到网络层,用到了哪些协议?

b. 对于用户请求的百度主页(),客户端将接收到几个应答报文?具体是哪几个?

假设从本地主机到该页面的往返时间是RTT,那么从请求该主页开始到浏览器上出现完整页面,

一共经过多长时间?

c. 两个存放在同一个服务器中的截然不同的Web页(例如,/index.jsp,和

/cn/research/index.jsp可以在同一个持久的连接上发送吗?

d. 假定一个超链接从一个万维网文档链接到另一个万维网文档,由于万维网文档上出现了差错而

使超链接指向一个无效的计算机名,这时浏览器将向用户报告什么?

e. 当点击一个万维网文档时,若该文档除了有文本外,还有一个本地.gif图像和两个远地.gif图像,

那么需要建立几次TCP连接和有几个UDP过程?

9.捕捉ARP病毒包,分析ARP攻击机制。(选做)

10.TCP采用了拥塞控制机制,事实上,TCP开始发送数据时,使用了慢启动。利用网络监视器观察TCP

的传输和确认。在每一确认到达之后,慢启动过程中发生了什么?(选做)

11.在TCP知道往返时间之前,TCP必须准备重发初始段(用于打开一个连接的一个段)。TCP应等多久

才重发这一段?TCP应重发多少次才能宣布它不能打开一个连接?为找到结果尝试向一个不存在的地址打开一个连接,并使用网络监视器观察TCP的通信量。(选做)

尝试使用Winpcap自行设计实现一个简单的网络数据包监听与捕捉程序,同时将捕获的数据包进行分析并将结果显示在屏幕上。参考Winpcapde 的有关资料/ , http://winpcap.polito.it(课后选做)。

四、实验步骤、记录和结果

1.安装ethereal软件

Ethereal从06年开始由于商标问题改名Wireshark了。所以我在mac下安装的是

2.捕捉数据包,验证数据帧、IP数据报、TCP数据段的报文格式。

经过仔细对比,跟书上的报文格式一样。

3.捕捉并分析ARP报文。

下面是发送广播的数据包

第一行指示数据包发送的地址是ff:ff:ff:ff:ff:ff:,这是一个以太网的广播地址。第二行指示了就是本机的mac地址。

下图是ARP报文

第二行中mac地址为0,因为还未知道对应ip的mac地址。

下面是收到arp的回复报文

可以看到,红框部分即是刚才请求的mac地址

4.捕捉ping过程中的ICMP报文,分析结果各参数的意义。

Ping

筛选对应报文

选取其中一对进行分析

下图是request报文,从蓝色框中可以看出其类型。红框部分跟回复报文的红框部分相同,指明是它们是匹配的。

下图是reply报文,蓝色框中可以看出类型是reply,红色部分和上图相同

5.捕捉tracert过程中的ICMP报文,分析跟踪的路由器IP是哪个接口的。

在mac os中使用的命令是traceroute,因此在终端中输入traceroute 192.168.90.9

筛选结果

由上图可见,每个报文都发送了3次。

而且跟Windows系统下使用命令tracert抓包不同,Windows使用的是ping(ICMP echo报文),而在Linux,Unix下使用的命令traceroute使用的upd报文。

不过两者的原理都是相同的,关键都在于TTL(Time To Live)。

下面来分析其中原理。

前3个发送报文的TTL

对应收到的报文均是TTL超时

中间3个发送报文TTL比前面的多1,如下图

对应收到的依然是TTL超时

最后3个发送报文TTL再加1,如下图

此时收到的回复报文变成了目的不可达,traceroute完成,由此看出,经过2个路由转发就可到达目的ip。

6.捕捉并分析TCP三次握手建立连接的过程。

(第一次握手,客户端发出)第一个发出的SYN包关键数据可见下图

(第二次握手,服务器发出)第二个收到的SYN/ACK包,可见Ack Num等于SYN的Seq Num加1,并发回了初始序列号

相关文档
最新文档