协议仿真实验讲义汇总01Word下载.docx
- 文档编号:17106424
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:63
- 大小:360.70KB
协议仿真实验讲义汇总01Word下载.docx
《协议仿真实验讲义汇总01Word下载.docx》由会员分享,可在线阅读,更多相关《协议仿真实验讲义汇总01Word下载.docx(63页珍藏版)》请在冰豆网上搜索。
/release[adapter]为指定的适配器(或全部适配器)释放IP地址(只适用于DHCP)。
/renew[adapter]为指定的适配器(或全部适配器)更新IP地址(只适用于DHCP)。
/flushdns清理并重设DNS客户解析器缓存的内容。
/registerdns初始化计算机上配置的DNS名称和IP地址的手工动态注册。
/showclassidadapter显示指定适配器的DHCP类别ID。
要查看所有适配器的DHCP类别ID,可以使用星号(*)通配符代替Adapter。
该参数仅在具有配置为自动获取IP地址的网卡的计算机上可用。
/setclassidAdapter[classidtoset]配置特定适配器的DHCP类别ID。
要设置所有适配器的DHCP类别ID,可以使用星号(*)通配符代替Adapter。
如果未指定DHCP类别ID,则会删除当前类别ID。
2、ping命令
ping是一个最常用的网络连通性检查命令。
ping通过发送4个echo_request的ICMP数据包给目的主机,并接收应答信息来确定两台计算机之间的网络是否连通。
当网络运行中出现故障时,采用这个实用程序来预测故障和确定故障源是非常有效的。
如果执行ping不成功,则可以预测故障出现在以下几个方面:
网线是否连通,网络适配器配置是否正确,IP地址是否可用等;
如果执行ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面。
不过如果ICMP数据包因为某些原因(如防火墙的过滤)不能到达目的端或是目的端不能回答或是回应给挡下来了,PING就不能顺利完成,但并非代表网络连通故障。
ping成功只能保证当前主机与目的主机间存在一条连通的物理路径。
使用ping/?
ping[-t][-a][-ncount][-lsize][-f][-iTTL][-vTOS][-rcount][-scount]
[[-jhost-list]|[-khost-list]][-wtimeout]destination-list
参数说明:
-t使当前主机不断地向目的主机发送数据,直到使用Ctrl-C中断;
-a以IP地址格式(不是主机名形式)显示网络地址;
-ncount指定要做多少次ping,其中count为正整数值;
-lsize发送的数据包的大小;
-f设置不会由中间网关分组;
-iTTL指定ping分组时限域,TTL是指在停止到达的地址前应经过多少个网关;
-vTOS服务的类型;
-rcount指出要记录路由的轮数(去和回);
-scount指定当使用-r参数时,用于每一轮路由的时间;
-jhost-list指定希望分组的路由;
-khost-list与-j参数基本相同,只是不能使用额外的主机;
-wtimeout指定超时时间间隔(单位为毫秒),缺省为1000;
3、tracert命令
tracert命令也是我们通常用到的ICMP程序工具,功能是判定数据包到达目的主机所经过的路径、显示数据包经过的中继节点清单和到达时间。
tracert命令对我们判断数据包的路由路线非常有用。
值得注意的是在防火墙的保护下有些ICMP数据包会被拦下来,这样tracert也就不能完整的显示出路由线路了。
使用tracert可显示它的命令格式和参数说明。
tracert[-d][-hmaximum_hops][-jhost-list][-wtimeout]target_name
-d不解析主机名;
-hmaximum_hops指定搜索到目的地址的最大轮数;
-jhost-list沿着主机列表释放源路由;
-wtimeout指定超时时间间隔(单位毫秒)。
例:
图中返回信息的左边一行是跳站(hop)数字,然后是三个roundtriptime,最后是主机的名称和IP地址。
4、arp命令
arp命令主要用来显示及修改特定IP地址的网卡地址。
使用arp/?
可以显示它的命令格式和参数说明。
arp-sinet_addreth_addr[if_addr]
arp-dinet_addr[if_addr]
arp-a[inet_addr][-Nif_addr]
inet_addrIP地址;
eth_addr以太网卡地址;
-a显示ARPCACHE缓存表(不加IP地址,显示所有已激活的IP地址的网卡地址)(使用该参数前应该先ping通某一个IP地址);
-d删除指定IP地址的主机,清空ARPCACHE缓存表;
-s增加主机和与IP地址相对应的以太网卡地址。
5、Netstat命令
这个命令有助于我们了解网络的整体使用情况。
它可以显示当前正在活动的网络连接的详细信息,如采用的协议类型、当前主机与远端相连主机(一个或多个)的IP地址以及它们之间的连接状态等。
使用netstat?
netstat[-a][-e][-n][-s][-pproto][-r][interval]
-a显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。
-e显示以太网发送和接收的字节数、数据包数等。
-n以数字表格形式显示地址和端口。
-s显示每个协议的使用状态(包括TCP、UDP、IP)。
-pproto显示特定的协议的具体使用信息。
-r显示本机路由表的内容(同routeprint命令)。
interval每次显示之间的间隔数(单位秒),按Ctrl+C中止重新显示。
6、Nbtstat命令
这个命令使用NBT(TCP/IP上的NetBIOS)显示协议统计和当前的TCP/IP连接。
使用Nbtstat/?
nbtstat[[-aRemoteName][-AIPaddress][-c][-n][-r][-R][-RR]
[-s][-S][interval]]
-aRemoteName使用远程计算机的名称列出其名称表。
此参数通过远程计算机的NetBIOS名来查看其当前状态。
-AIPaddress使用远程计算机的IP地址列出其名称表。
此参数可查看远程计算机的MAC地址。
-c给定每个名称的IP地址并列出NetBIOS名称缓存的内容。
-n列出本地NetBIOS名称。
-r列出windows网络名称解析的名称解析统计。
-R清除NetBIOS名称缓存中的所有名称后,重新装入Lmhosts文件。
-s显示客户端和服务器会话,只通过IP地址列出远程计算机。
-S显示客户端和服务器会话,将远程计算机IP地址转换成使用主机文件的名称。
二、ARP协议
1、ARP请求或应答的分组格式
硬件类型
协议类型
硬件长度
协议长度
操作
发送方MAC(八位组0-3)
发送方MAC(八位组4-5)
发送方IP地址(八位组0-1)
发送方IP地址(八位组2-3)
目标MAC(八位组0-1)
目标MAC(八位组2-5)
目标IP地址(八位组0-3)
字段说明:
硬件类型:
表示硬件地址类型,例如:
1表示以太网。
协议类型:
表示要映射的协议类型,例如0x0800表示IP地址。
硬件长度:
指明硬件地址长度,单位是字节,MAC是48位,6个字节。
协议长度:
高层协议地址的长度,IP地址是4个字节。
操作字段:
共有两种操作类型,1表示ARP请求,2表示ARP应答。
`【实验步骤】
练习一:
常用网络命令使用
依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。
在命令提示符状态下键入各个命令。
1、IpConfig/all
得到本机计算机名是、MAC地址是、IP地址有个、
分别是和、子网掩码是、默认网关是、DNS服务器是。
1)选择与本机属于同一子网的一主机的主机名或IP地址,作为ping命令的参数;
2)选择与本机属于不同子网的一主机的主机名或IP地址,如192.168.2.2,作为ping命令的参数;
根据结果分析:
最短时间、最长时间、平均时间及丢包率为多少?
TTL字段值是否相同?
为什么?
3、tracert命令
在命令提示符下运行类似以下的命令:
c:
\>
tracertnetedu.edu
tracert
观察运行结果并分析途径路由器的个数是多少?
4、Netstat命令
Netstat/?
得到各个参数后,分别进行测试
Netstat–a
Netstat–s
观察运行结果并分析IP、ICMP、TCP和UDP协议的统计信息。
5、Nbtstat命令
nbtstat–a其它主机计算机名
nbtstat-A其它主机IP地址
nbtstat/?
观察运行结果并分析获得的信息。
注意:
在没有强调在‘监控机’一端操作时,以下操作均是在仿真机上进行的
练习二:
仿真发送ARP请求报文(同一网段)
1、在命令提示符下运行arp–d命令,清空ARP高速缓存,然后用arp–a命令确认。
2、编辑ARP请求帧
(1)打开协议仿真编辑器。
(2)填写该帧ethernet头:
(a)源MAC地址:
可以为本机的MAC地址,也可以是其他主机的MAC地址;
(b)目的MAC地址:
此地址是指接收数据包的主机MAC地址。
请思考:
对于ARP
请求来说,目的MAC地址应该是什么?
(提示:
ARP请求帧要在子网内广播)
(c)类型或长度:
0806(ARP协议类型值)或者选择下拉菜单中的“ARP”协议;
(d)DATA:
不要填写内容。
(3)填写ARP协议头信息:
此时协议树上将显示上层协议类型为“APR”,点击左端的“+”将该层协议展开,会看到ARP协议的各个字段。
单击协议树上的“ARP”协议或者点击单帧编辑器右下方的“下一步”,在单帧编辑器中会出现ARP层各个字段及其默认值
(a)硬件类型:
1(以太网地址)
(b)协议类型:
0800(要映射的协议地址类型为IP地址类型)
(c)硬件地址长度:
6
(d)协议地址长度:
4
(e)操作字段(APR请求为1,ARP应答为2)
(f)发送方MAC地址:
为所选择源主机的MAC地址;
(g)发送方IP地址:
为所选择源主机的IP地址;
(h)目的MAC地址:
全0(表示MAC地址待求)。
此地址是指目的IP地址所在主机的MAC地址。
;
(i)目的IP地址:
为所选择源目的主机的IP地址。
3、协议分析机开始捕获数据。
4、协议编辑机点击工具栏或菜单栏中的“发送”,在弹出菜单上选择“发送”按钮,发送ARP帧;
5、监控端捕获报文并进行分析:
(1)其中是否有ARP请求及应答报文?
(2)ARP应答报文由哪台主机发出?
得到的mac地址是什么?
6、在命令提示符下运行arp–a命令,检查ARP高速缓存中的内容。
有什么变化?
7、记录ARP的会话图。
练习三:
仿真发送ARP请求报文(不同网段)
1、在命令提示符下运行arp–d命令,清空ARP高速缓存
2、在命令提示符下运行arp–a命令,检查ARP高速缓存
3、编辑ARP请求帧:
将目的IP地址改为不同网段的IP地址,其它同练习二。
4、在监控端捕获数据报文并分析:
能否收到ARP应答报文?
5、在命令提示符下运行arp–a命令,检查ARP高速缓存中的内容是否发生变化,分析原因。
6、ping不同网段的IP地址。
7、在监控端捕获数据报文并分析:
得到的mac地址是什么,对应主机IP为多少?
(3)得到的mac地址是你所查询IP地址所对应的MAC地址吗?
8、记录ARP的会话图。
【思考问题】
比较练习二和练习三两实验中得到的ARP报文,有何不同?
分析产生二者区别的原因是什么?
【实验报告要求】
1、记录通过网络命令取得的主要信息。
2、回答提出的问题。
ICMP
1、了解ICMP的格式和响应方式及作用
2、了解常见的网络故障
1、理解和掌握ICMP协议的基本作用。
2、知道ICMP报文的格式。
3、理解ICMP协议与IP协议的封装关系。
4、学会根据各种响应信息进行出错分析的方法。
1、IP数据报格式:
1
16
17
32
4位
版本号
4位首部长度
8位服务类型
TOS
16位总长度(字节数)
客户
recv()
connect()
Socket()
send()
数据(回答)
数据(请求)
建立连接
服务员
数据处理
16位标识
3位标志
13位片偏移
8位生存时间(TTL)
8位协议标识
16位首部校验和
32位源IP地址
32位目的IP地址
IP选项
数据
图2-1IP数据报格式及首部中的各字段
2、ICMP报文的格式:
17
815
1631
8位类型
8位代码
16位校验和
根据类型和代码有不同的格式
3、ICMP报文的主要类型:
类型
代码
描述
差错
查询
回显应答(Ping应答)
•
3
2
5
7
8
9
10
11
12
13
14
15
目的不可达:
网络不可达
主机不可达
协议不可达
端口不可达
需要进行分片,但设置了不分片比特
源站选路失败
目的网络不认识
目的主机不认识
源主机被隔离(作废不用)
目的网络被强制禁止
目的主机被强制禁止
由于服务类型TOS,网络不可达
由于服务类型TOS,主机不可达
由于过滤,通信被强制禁止
主机越权
优先权中止生效
源端口被关闭(基本流控制)
重定向:
对网络重定向
对主机重定向
对服务类型和网络重定向
对服务类型和主机重定向
请求回显(Ping请求)
路由器通告
路由器请求
超时:
传输期间生存时间为0(Traceroute)
在数据报组装期间生存时间为0
参数问题:
坏的IP首部(包括各种差错)
缺少必需的选项
时间戳请求
时间戳应答
信息请求(作废不用)
信息应答(作废不用)
18
地址掩码请求
地址掩码应答
4、ICMP回显请求和应答报文格式
类型=8
代码=0
检验和
标识符
序列号
数据
网络命令ping就是利用ICMP的回显请求报文完成的。
其他原理请参考教材。
【实验步骤】
仿真发送各种ICMP报文
从地址本中选择一台主机,向该主机仿真发送ICMP回显请求报文。
1、打开协议仿真编辑器。
2、填写该帧的以太网协议首部:
①填写“源MAC地址”和“目的MAC地址”字段。
②类型或长度:
0800(即IP协议的类型值)
3、填写IP协议头信息:
a)版本:
4;
b)首部长度:
20;
c)服务类型;
00;
d)总长度:
该值=IP首部的长度+数据部分的长度=数据总长度-ethenet头长度14;
(此字段值等ICMP协议编写好后再填写)
e)标识字段;
可任意值或默认值;
f)标志字段;
可默认值;
g)生存时间;
h)高层协议类型:
1(ICMP);
i)源IP地址;
可以填写本机IP地址,也可以填写其他机器的IP地址。
j)目的IP地址:
从地址本中选择一主机的IP地址并填写;
k)首部检查和:
等上述各字段值均填写完毕后再填写。
4、填写ICMP协议头信息:
(a)类型:
8;
(b)代码:
0;
(c)标识符:
任选;
(d)序列号:
(e)数据字段:
(f)校验和:
首先设置为0,然后在十六进制显示区中选中整个ICMP报文,右击,选择“计算校验和”。
再把算出来的值填写到校验和字段。
5、填写IP协议头的总长度字段及首部检查和。
可以通过两种方法计算IP首部检查和的值:
方法一:
手工计算。
首先把“首部校验和”字段置为0;
然后,对IP协议头中的每个16比特进行反码求和(整个首部看成是由若干个16比特的字组成),然后取反,结果即为该字段的值。
方法二:
利用协议仿真编辑器计算,其步骤如下:
①首先把该字段置为0;
②在十六进制显示区中选中整个IP协议头对应的部分;
③点击鼠标右键,选择弹出菜单中的“计算校验和”;
④将得到的值填入首部检查和字段。
6、发送ICMP报文;
7、在监控机一端截获相应的请求报文及应答报文,并分析各个报文的类型和代码,然后通过ICMP主要类型表查看对应描述是什么?
8、将编辑好的ICMP报文保存到文件:
ICMP.PKT。
9、编辑IP数据包并主动引入一些错误,:
(a)向目标主机发送一个只有IP头的IP数据包(IP高层协议值为0)
(b)向目标主机发送一个数据包,版本号字段填入7;
(c)向目标主机发送一个数据包,填写不正确的IP报头长度;
在监控机一端捕获各报文并分析:
有没有应答报文?
假如有,是什么类型的应答报文?
10、记录ICMP的会话图。
运行ping命令
选择菜单栏中的“工具”,运行下拉菜单中的ping命令
1、ping一台同一子网的主机
2、在监控机端捕获数据并分析:
(a)ping命令共发送多少个数据包?
捕获到多少个响应包?
(b)观察并分析每个响应包的ICMP协议头部分。
3、同时打开多个DOS命令提示符窗口,在每个窗口中运行一个ping程序,然后在监控端捕获数据,分析各程序如何识别属于自己的返回信息?
运行tracert命令
在监控端捕获数据并分析tracert的工作过程。
结合实验过程中的实验结果,回答下列问题:
1、实验室环境所使用操作系统默认的TTL最大值是多少?
2、运行ping127.0.0.1,再运行ping本机名(或本机IP地址)。
在监控机端能否捕获到相应的ICMP回显请求报文?
回答提出的问题。
实验三HTTP与TCP协议
1、掌握TCP协议的工作原理
2、理解TCP协议通信的原理及通信过程,能够分析TCP协议的建立连接、会话和断开连接的全过程
3、掌握HTTP协议的使用
4、了解HTTP协议的实现方式
1、理解TCP首部中各字段的含义及作用
2、理解三次握手的过程
3、了解HTTP协议的通信过程
4、理解HTTP协议的无连接、无状态特性
5、学习HTTP协议的格式
6、理解HTTP协议与TCP协议的关系
1、TCP的首部
TCP数据被封装在一个IP数据报中,如图3-1所示。
图3-1TCP数据在IP数据报中的封装
图3-2显示TCP的数据报格式。
其首部的长度通常是20个字节。
图3-2TCP数据报的格式
URG(紧急指针):
值为1时,表示此报文应尽快传送;
ACK(确认比特):
值为1时,表示此报文的确认序号字段有效;
PSH(急迫比特):
值为1时,表示此报文应立即传送;
RST(复位比特):
值为1时,表示出现严重差错必须释放连接,然后再重建传输连接;
SYN(同步比特):
值为1时,表示此报文在建立连接;
FIN(终止比特):
值为1时,表示此报文已是最后一个,要求释放传输连接。
TCP段包含一个12字节长的伪首部,它是为了计算校验和而设置的。
伪首部包含IP首部一些字段。
2、HTTP报文
共有两种通用类型:
请求报文,响应报文。
(1)请求报文:
包括请求行、首部,以及有时出现的主体。
如图
请求行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 协议 仿真 实验 讲义 汇总 01