好文档 - 专业文书写作范文服务资料分享网站

实验五-IP协议分析

天下 分享 时间: 加入收藏 我要投稿 点赞

实验五 IP协议分析

在这个实验里,我们将研究 IP协议,通过执行 traceroute程序来分析 IP数据包发送和接收的过程。我们将研究 IP数据包的各个字段,详细学习 IP数据包的分片。

一、捕获 traceroute

为了产生一个 IP数据包,我们将使用 traceroute程序来向一些目的地发送不同大小的数据包,这个软件我们在第一个实验已作过简单的尝试了。

但我们试图在 IP头部首先发送一个或者更多的具有 TTL的数据包,并把 TTL的值设置为 1;然后向同一个目的地发送一系列具有 TTL值为 2的数据包;接着向同一个目的地发送一系列具有 TTL值为 3的数据包等等。路由器在每次接收数据包时消耗掉一个 TTL,当 TTL达到 0时,路由器将会向源主机返回一个 ICMP的消息(类型为 11的 TTL溢出),这样一个 TTL值为 1的数据包将会引起路由器从发送者发回一个 ICMP的 TTL溢出消息产生一跳,TTL值为 2的数据包发送时会引起路由器产生两跳, TTL值为 3的数据包则会引起路由器产生 3跳。基于这种方式,主机可以执行 traceroute观察 ICMP的 TTL溢出消息,记录每个路由器的 ICMP的溢出消息的源 IP地址,即可标识出主机和目的地之间的所有路由器。

我们要运行 traceroute让它发送多种长度的数据包,由 Windows提供的 tracert程序不允许改变由 tracert程序发送的 ICMP的回复请求消息的大小,在 Windows下比较好的一个是 pingplotter,它可以在以下网站下载共享版本(现在已下载好存在共享文件夹的压缩

包中):

安装 pingplotter标准版(你有一个 30天的试用期),通过对你所喜欢的站点执行一些 traceroute来熟悉这个工具。 ICMP回复请求消息的大小可以在 pingplotter中设置:Edit-> Options->Default Setting->enginet,在 packet size字段中默认包的大小是 56字节。 pingplotter发送一系列 TTL值渐增的包时,Trace时间间隔的值和间隔的个数在 pingplotter中能够设置。按下面步骤做:

1 启动Iris,开始包捕获; 2

启动pingplotter,然后在“Address to Trace”窗口输入目的地目标的名字:

172.16.1.1 (1岛 输入172.16.6.1)

在“# of times to Trace”区域输入 3。然后选择 Edit-> Options->Default

Setting->engine,确认在 packet size字段的值为 56,点 OK。然后按下

Trace按钮。你看到的 pingplotter窗口类似如上:

1. 接下来,发送一组具有较长长度的数据包,通过Edit-> Options->Default Setting->engine

在包大小区域输入值为 2000,点 OK。接着按下 Resume按钮; 2. 再发送一组具有更长长度的数据包,通过 Edit-> Options->Default Setting->enginet在包大

小区域输入值为 3500,点 OK。接着按下 Resume按钮; 3. 使用Iris 跟踪捕获 tracing;(下图为Ethereal捕获数据,仅供参考)

二、观察捕获的数据

你应该能看到由你的电脑和通过中间的路由器返回到你的电脑里的 ICMP的 TTL溢出消息所发送的 ICMP序列,把这些数据保存出来。然后回答以下问题:

Q1.选择你的电脑所发送的第一个 ICMP请求消息,在包详细信息窗口扩展包的 Internet协议部分。你的电脑的 IP地址是多少?(192.168.157.120)

Q2.在 IP包头部,上层协议区域的值是多少?

Q3.IP头部有多少字节?(20bytes)

IP数据包的有效载荷是多少字节?(36bytes)

解释你是怎样确定有效载荷的数量的?(3)总长度减去IP首部长度

Q4.这个 IP数据包被分割了吗?(没有) 解释你是怎样确定这个数据包是否被分割?

接下来单击列名按 IP源地址排序数据包,选择你的电脑发送的第一个 ICMP请求消息, 扩展显示 IP协议的数据。

Q5.在包捕获列表窗口,你能看到在第一个 ICMP下的所有并发的 ICMP消息吗?

Q6.往同一 IP的数据包哪些字段在改变,而且必须改变?(首部检验和,标识) 为什么?

哪些字段是保持不变的,而且必须保持不变? (版本,首部长度,区分服务,协议,源地址)

Q7.描述一下在 IP数据包的 Identification字段的值是什么样的?(11650)

接下来找到通过昀近的路由器发送到你的电脑去的 ICMP的 TTL溢出回复的系列,回 答以下问题:

Q8.Identification字段和 TTL字段的值是多少? (30366,128)

Q9.所有的通过昀近的路由器发送到你的电脑去的 ICMP的 TTL溢出回复是不是值都保持不变呢?为什么?(是)

接下去研究一下分片,先按时间顺序排序数据包,找出在 pingplotter中把包的大小改成 2000后,你的电脑所发送的第一个 ICMP请求消息。回答以下问题: Q10.那个消息是否传送多于一个 IP数据包的分片?(是)

看第一个被分割的 IP数据包的片段,在 IP头部有什么信息指出数据包已经被分割?

在 IP头部有什么信息指出这是否是第一个与后面片段相对的片段?

这个 IP数据包的长度是多少?

Q11.看被分割的 IP数据包的第二个片段。在 IP头部有什么信息指出这不是第一个数据包片段?

有更多的片段吗?(没有) 你是怎么知道的?

和上一个分片的长度加起来是 2000吗? (不是,是2020)

Q12.哪个字段在第一个和第二个片段之间的 IP头部改变了? (总长度,标志,片偏移,首部检验和) Identification变了吗?(没有)

再找出在 pingplotter中把包的大小改成 3500后,你的电脑所发送的第一个 ICMP请求 消息。回答以下问题:

Q13.从原始的数据包中产生了多少片段?(3片) 片偏移分别为多少?(0, 1480,2960)

Q14.在片段之中 IP头部哪些字段改变了?(片偏移,总长度,标志,首部检验和) Identification变了吗?(没有) 〔自主设计实验〕

现在我们已经会分析 IP协议的数据包头部结构了,利用刚才收集的数据,自己想办法描绘和分析一下到你访问的服务器间的各个路由器的示意图,看是不是和 pingplotter得到的结果一致?

再测试一下到 172.16.1.1的路由情况。

实验六 ICMP协议分析

在这个实验中,我们将探索 ICMP协议,如由 Ping程序产生的 ICMP消息、由 Traceroute程序产生的 ICMP消息和 ICMP消息的格式与内容等。

一、ICMP与 Ping 按以下步骤进行:

1. Windows命令行提示符;

2. IRis Network Analyzer,开始捕捉数据包; 3. MS-DOS命令行下输入:

ping –n 10 172.16.1.1(1岛 输入172.16.6.1)

参数“-n 10”说明需要发送 10个 ping消息。 (下图为Ethereal捕获数据,仅供参考)

4.当 Ping程序终止后,停止用Iris捕获包。

我们可以看到源端发出了 10个查问包并收到了 10个响应,可以对每一个响应源端计算往返时间(RTT),也不妨计算一下这 10个包平均 RTT。在第一个实验中作过类似的操作,

实验五-IP协议分析

实验五IP协议分析在这个实验里,我们将研究IP协议,通过执行traceroute程序来分析IP数据包发送和接收的过程。我们将研究IP数据包的各个字段,详细学习IP数据包的分片。一、捕获traceroute为了产生一个IP数据包,我们将使用traceroute程序来向一些目的地发送不同大小的数据包,这个软件我们在第一个实验已
推荐度:
点击下载文档文档为doc格式
05cwr1zc9f4n25q6ny0j2r4yi9c8on003xh
领取福利

微信扫码领取福利

微信扫码分享