admin管理员组

文章数量:1530873

2024年5月7日发(作者:)

DIY!now

目录

第四章 Network Layer and Routing

4.1 IP协议分析

4.2 ICMP协议分析

4.3 DHCP协议分析

4.4 NAT协议分析

4.1 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,它可以在以下网站下载共享版本(现在已下载好存在c:ins):

/

安装pingplotter标准版(这是一个30天的试用期),通过对你所喜欢的站点执行一些

traceroute来熟悉这个工具。ICMP回复请求消息的大小可以在pingplotter中设置:Edit->

Options->Packet,在packet size字段中默认包的大小是56字节。pingplotter发送一系列TTL值

渐增的包时,Trace时间间隔的值和间隔的个数在pingplotter中能够设置。按下面步骤做:

1. 打开Ethereal,开始包捕获,然后在Ethereal包捕获的选择屏幕上点击OK;

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

在“# of times to Trace”区域输入3。然后选择Edit-> Options->Packet,确认在packet

size字段的值为56,点OK。然后按下Trace按钮。你看到的pingplotter窗口类似如下:

3.接下来,发送一组具有较长长度的数据包,通过Edit->Options->Packet在包大小区域输

1

本文标签: 数据包发送路由器消息目的地