TCPIP实验报告Word格式文档下载.docx
《TCPIP实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《TCPIP实验报告Word格式文档下载.docx(30页珍藏版)》请在冰点文库上搜索。
![TCPIP实验报告Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/9471b5e1-3f7d-4c34-90b5-ee52478e5e2c/9471b5e1-3f7d-4c34-90b5-ee52478e5e2c1.gif)
10.18.39.149)
5、主机A、B、C、D停止捕获数据,并立即在命令行下运行“arp–a”命令,查看ARP缓存表
1、在主机A上启动数据包生成器,并编辑一个ARP请求报文。
其中,
MAC层:
目的MAC地址:
设置为FFFFFF-FFFFFF
源MAC地址:
设置为主机A的MAC地址(00:
11:
5B:
87:
DB:
D1)。
协议类型或者数据长度:
0806
ARP层:
发送端MAC地址:
发送端IP地址:
设置为主机A的IP地址(10.18.39.147)
目的端MAC地址:
设置为000000-000000
目的端IP地址:
设置为主机C的IP地址(10.18.39.149)
2、主机B、C、D启动协议分析软件,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP协议)
3、主机B、C、D在命令行下运行“arp–d”命令清空ARP缓存表。
运行结果同上
4、主机A发送编辑好的ARP报文
5、主机A立即在命令行下运行“arp–a”命令,查看并记录ARP缓存表。
6、主机B、C、D停止捕获数据,分析捕获到得数据,进一步体会ARP报文的交互过程。
(续前页)
后记
1、请各小组同学结合自己小组实际网络拓扑结构情况以及实验过程和数据,分析ARP协议报文交互过程以及ARP缓存表的更新过程。
交互过程:
就本例而言,用的是ping命令。
1)、内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC对应表
2)、如果存在该IP-MAC对应关系,那么就转化;
如果不存在该IP-MAC对应关系,那么就接着按ping命令本来的步骤做下去,即用icmp协议。
3)、内核进行ARP广播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST
(1),其中包含有自己的MAC地址
4)、当10.18.39.149主机接收到该ARP请求后,就发送一个ARP的REPLY
(2)命令,其中包含自己的MAC地址
5)、本地获得10.18.39.149主机的IP-MAC地址对应关系,并保存到ARP缓存中
6)、内核将把IP转化为MAC地址,然后封装在以太网头结构中,再把数据发送出去
更新过程:
当要访问某个C主机时,A计算机必须知道它的IP的物理地址(MAC地址),这时计算机会发一个广播式的数据包询问:
“10.18.39.149对应的mac是什么?
“我是10.18.39.149,我的mac是000000-000000”整个局域网的主机都收到这个询问,真正拥有这个IP的机子就会回答它:
“10.18.39.149的mac地址是我这个000000-000000”。
询问的主机会临时保存这个在“IP-MAC对照表”,一段时间不与某IP通讯的话,会删除对应条目。
“IP-MAC对照表”中的临时条目就是arp缓存。
另外,即使不是正确的机器也可以回答那个询问,回答一个错误的MAC,有可能让询问的主机发数据到错误的机子。
这就叫“ARP欺骗”,可以说是利用arp协议设计上的漏洞。
防止方法是设置静态“IP-MAC对照条目”。
2、试解释为什么ARP缓存表每存入的一个项目要设置10-20分钟的超时时间,这个时间设置太大太小会出现什么问题?
因为计算机里的内存是有限的,如果一直占内存没反应的话,占用资源影响其它程序,设置时间太长占用内存,太短程序可能运行不过来
3、举出所了解的不需要发送ARP请求分组的情况。
在源主机的ARP缓存中已经有了该目的的IP地址的项目:
源主机发送的是广播分组;
源主机和目的主机使用点对点链路
实验二IP路由协议原理分析
IP中文名叫因特网协议,它工作在OSI的网络层,它负责将数据传输到正确的目的地,同时也负责路由。
无论传输层使用何种协议,都要依赖IP来发送和接受数据。
本实验的目的就是了解IP路由协议的工作原理
了解IP数据报文的格式
1、按照网络拓扑图,实现基于单网卡多IP的方案在Windows2003下实现静态路由
2、编辑并发送IP报文、分析其原理过程
按照网络拓扑图,实现基于单网卡多IP的方案在Windows2003下实现静态路由
编辑并发送IP报文、分析其原理过程
2、在主机A上启动数据包生成器,并编辑一个IP数据包报,其中,
设置为主机B的MAC地址(00:
11:
5B:
87:
E6:
41)。
设置为主机A的MAC地址(00:
DB:
0800
IP层:
总长度:
IP层长度。
生成时间:
128
源IP地址:
设置为主机A的IP地址(10.28.37.2)。
目的IP地址:
设置为主机D的IP地址(10.28.38.2)
3、主机B、C、D启动协议分析软件,打开捕获窗口进行数据捕获并设置过滤条件(提取IP协议),开始捕获数据。
4、主机A发送第1步编辑好的IP报文
10主机B、C、D停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答一下问题。
第1步中主机A所编辑的报文,经过主机B以及主机C到达主机D,过程中数据报是否发生变化,若发生变化,记录变化的字段,并简述变化原因。
当路由器收到一个待转发的数据报,在从路由器得出下一跳路由器的IP地址后,不是把这个地址填入IP数据报,而是交给下层的网络接口软件。
网络接口软件负责把下一跳路由器的IP地址转换为硬件地址,并将此硬件地址放在链路层的MAC帧的首部,然后根据这个赢家地址找到下一跳路由器。
IP数据报文没有发生变化
11将第1步中主机A所编辑的报文的“生成时间”设置为2。
12主机B、C、D重新开始捕获数据。
B捕获的数据包:
C:
13主机A发送第5步中编辑好的报文。
主机B、C、D停止捕获数据,在捕获到得数据中查找主机A所发送的数据报,并回答一下问题:
主机B、C、D是否能够捕获到主机A发送的报文?
简述产生这种现象的原因。
答:
若把生成时间设为2,就表示这个数据报只能在本局域网内传送,因为这个数据报一传送到局域网上的某一个路由器,在被转发之前生成时间的值就减小到0,因此就会被这个路由器丢弃,则B、C、D不能捕获到主机A发送的报文。
说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?
IP地址就是给每个连接在英特网上的主机(或路由器)分配一个在全世界范围内是唯一的32位标识符,从而把整个因特网看成为一个单一的、抽象的网络,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
实验三、ICMP协议原理分析
ICMP它工作在OSI的网络层,向数据通讯中的源主机报告错误。
ICMP可以实现故障隔离和故障恢复,本实验的目的就是分析ICMP协议的工作原理
了解ICMP的报文格式和ICMP协议提供的诊断报文的类型
1、按照网络拓扑图,实现实验方案架构
2、运行ping命令,并回答相关问题
按照网络拓扑图,实现实验方案架构
运行ping命令
3、主机B、C、D启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)
4、主机Aping主机C
5、主机B、C、D停止捕获数据,查看捕获到的数据,并回答一下问题。
捕获的报文对应的“类型”和“代码”字段分别是什么?
分析报文中的哪些字段保证回显请求报文和回显应答报文的一一对应?
答:
回显请求报文:
类型:
8、代码:
0;
回显应答报文:
0、代码:
0。
类型的值表示差错报告报文的类型,不同的值有代表不同的报文类型,
标识符和序列号两个字段保证了回送请求报文和回送应答报文的一一对应。
A:
[2002-11-2108:
39:
17]10.28.38.2:
查找IP地址...
数据包长度=64时间<
1msTTL=127
19]10.28.38.2:
20]10.28.38.2:
22]10.28.38.2:
23]10.28.38.2:
25]10.28.38.2:
26]10.28.38.2:
28]10.28.38.2:
29]10.28.38.2:
31]10.28.38.2:
33]10.28.38.2:
数据包长度=64时间=3msTTL=127
34]10.28.38.2:
36]10.28.38.2:
37]10.28.38.2:
39]10.28.38.2:
40]10.28.38.2:
42]10.28.38.2:
43]10.28.38.2:
45]10.28.38.2:
47]10.28.38.2:
48]10.28.38.2:
50]10.28.38.2:
51]10.28.38.2:
53]10.28.38.2:
54]10.28.38.2:
数据包长度=64时间=1msTTL=127
56]10.28.38.2:
57]10.28.38.2:
59]10.28.38.2:
B:
通过本实验的操作,我熟悉了ICMP的报文格式和ICMP协议提供的诊断报文的类型以及各个部分的含义等,我也掌握了ICMP协议的工作原理,总之,在本次试验中我学到了关于ICMP的相关知识。
实验四、DHCP协议原理分析
DHCP工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议,本实验的目的是分析DHCP协议的工作原理
了解DHCP的工作流程和报文格式
1、配置DHCP服务器
2、启动协议分析器,进行数据获取
3、结合捕获到的数据包,分析DHCP的工作过程。
在每组中选定主机A、B配置成DHCP服务器(为实验方便,建议设定IP地址租赁期限为5分钟左右),主机C、D选定动态获取IP地址方式。
使用命令提示符查看主机C、D捕获到的地址。
A:
设置为DHCP服务器
D:
1、主机A、B、C、D启动协议分析器,打开捕获窗口进行数据获取并设置过滤条件(提取DHCP协议)开始捕获数据
2、主机C、D命令提示符下输入ipconfig–release命令,释放原IP配置信息
3、主机C、D命令提示符下数据ipconfig–renew命令重新获取IP配置信息
4、通过主机A、B、C、D捕获数据(10分钟左右),查看捕获到的数据包,结合DHCPDISCOVERY,DHCPOFFER,DHCPREQUEST,DHCPACK四种数据包分析DHCP的工作过程。
分析:
1DHCPDISCOVERY:
客户机向DHCP服务器发送广播报文,以便服务器知道客户机想要获得的各种参数。
2DHCPOFFER:
所有DHCPD都响应DHCPDISCOVERY报文,同时服务器保存IP地址的记录。
3DHCPREQUEST:
客户机发送DHCPREQUEST广播报文,以响应他使用哪个DHCP服务器。
4DHCPACK:
DHCP服务器收到DHCPREQUEST后判断服务器中的地址是否与自己的地址池匹配,若不匹配则不做任何处理,若匹配则向客户机发送DHCPACK报文,并在选项字段增加IP地址使用租约期。
5客户机收到DHCPACK报文使用DHCP服务器提供的IP地址。
通过本次的实验,我了解了DHCP使用客户端/服务器模式去工作,其最重要的功能就是动态分配,除了IP地址,DHCP分组还为客户端提供其他的配置信息,比如子网掩码等,这使得客户端无需用户动手就能自动配置连接网络,并在实验的具体操作中明白了DHCP的工作流程及其具体的实施步骤等等,总之,在本次实验中我基本熟悉了DHCP的工作原理等。
实验五、TCP协议原理分析
TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输,实验的目的是了解TCP协议的原理和工作连接方式
了解TCP的报头结构和相关工作原理
1、利用TCPServe和rTCPClient工具发送和接受数据
2、结合捕获的数据分析TCP的建立连接和释放连接的过程
本练习将主机A、B作为一组,主机C、D作为一组,分别作为两个独立小组进行实验,现仅以A、B为例说明实验步骤。
1、主机A、B启动协议分析软件,并设置过滤条件(提取TCP协议),开始捕获数据。
2、主机A打开实验材料中的TCPServer,并点击“开始监听”按钮,主机B打开实验材料中的TCPClient,填入主机A的“IP地址”,端口默认为“8000”。
3、主机B的TCPClient工具下,输入发送信息,点击发送。
4、查看主机A、B捕获的数据,填写下表。
字段名称
报文1
报文2
报文3
报文4
报文5
报文6
SequenceNumber
3417315020
0660361391
3417315021
3417315024
0660361392
AcknowledgeNumber
0000000000
3417315025
ACK
1
SYN
Fin
5、结合所填写的表,分析TCP的建立连接和释放连接的过程。
1)建立连接过程(三次握手):
由客户端发送连接请求SNY=1
服务器响应客户端的请求将SNY=1、ACK=1
客户端确认与服务器连接ACK=1
2)发送数据包
3)释放连接(3次握手):
一方发出断开连接的请求,等待对方的确认,ACK=1
对方收到断开连接请求,发送确认报文,ACK=1,FIN=1
对方发送完数据,发送断开请求,ACK=1
通过本次实验,我掌握了TCP的报头结构和相关工作原理,以及工作方式:
TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据。
在本次实验中我又学到了许多。
实验六、HTTP网页访问应用分析
了解HTTP协议,以及协议的工作原理和工作方式。
掌握HTTP协议的报文格式,在此基础上分析HTTP访问的具体流程。
HTTP是一种用于从Web服务器端传送超文本标记语言(HTML-HyperTextMarkupLanguage)文件到客户端浏览器的传送协议,它是Internet上最常见的协议之一。
1、通过科来网络分析系统对上面访问的操作的HTTP请求报文跟踪
2、Web服务器在收到HTTP请求后,会向HTTP客户端发送一个应答响应。
对科来网络分析
系统对上面访问的操作的HTTP响应报文跟踪
3、通过上面对访问的报文进行跟踪分析,请总结HTTP的工作流程。
1.分析HTTP访问的具体流程
使用科来网络分析系统5.0捕获并分析一个HTTP通讯过程,客户端主机名为“10.18.39.149”,客户端浏览器是IE6.0,请求的域名是“”。
在客户端上打开科来网络分析系统5.0。
为避免数据干扰,可以设定一个过滤器,只捕获本机的数据通讯。
设定好后开始数据捕获,同时在本机的浏览器中输入,待网页全部打开后,停止捕获。
注意:
此文里提到的HTTP访问均指标准80端口的通信,对于非80端口的HTTP访问,用户可在“工程->
高级分析模块->
HTTP分析模块->
常规设置->
端口”处进行更改,系统默认为80,当HTTP服务有多个端口时,多个端口之间用分号分隔,如80;
8080。
1)HTTP请求
通过科来网络分析系统对上面访问的操作的HTTP请求报文跟踪,截获图片,并分析过程。
(图 HTTPGET请求操作)
对照图中的数据包列表分析,上述操作中HTTP请求的过程:
2)HTTP响应
Web服务器在收到HTTP请求后,会向HTTP客户端发送一个应答响应。
对科来网络分析系统对上面访问的操作的HTTP响应报文跟踪截图并分析。
(图 HTTP响应)
对Web服务器返回给客户端的HTTP响应数据包,详细查看其解码,并分析过程:
1)HTTP响应:
“HTTP/1.1”表示的是URI(UniformResourceIdentifier,统一资源标识符)及其版本,“200OK”是HTTP响应的状态码,表示客户端请示的页面存在,且状态正常。
2)Date:
“Mon,05Dec201100:
18:
53GMT”。
3)Server:
Apache/2.2.3(CentOS)。
4)X-Powered-By:
X-Powered-ByisoneoftheHTTPresponseheader.
Xindicatesthattheheaderisanextendedheader,i.e.,doesnotconformtotheHTTPstandard.,Powered-By:
telltheHTTPclientwhichenginetherequest/responseisprocessedby.
5)Set-Cookie:
setcookie()函数向客户端发送一个HTTPcookie。
cookie是由服务器发送到浏览器的变量。
cookie通常是服务器嵌入到用户计算机中的小文本文件。
每当计算机通过浏览器请求一个页面,就会发送这个cookie。
cookie的名称指定为相同名称的变量。
例如,如果被发送的cookie名为"
name"
,会自动创建名为$user的变量,包含cookie的值。
必须在任何其他输出发送前对cookie进行赋值。
如果成功,则该函数返回true,否则返回false
6)Keep-Alive:
是指在同一个连接中发出和接收多次HTTP请求。
7)Connection:
显示此HTTP连接的类