计算机网络课程设计赞.docx
《计算机网络课程设计赞.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计赞.docx(14页珍藏版)》请在冰豆网上搜索。
![计算机网络课程设计赞.docx](https://file1.bdocx.com/fileroot1/2023-2/24/caca19d1-4efb-4426-8f1a-0d4b870a6a0f/caca19d1-4efb-4426-8f1a-0d4b870a6a0f1.gif)
计算机网络课程设计赞
目录
一、课程论文(设计)的意义…………………………………… 2
二、课程设计的主要内容………………………………………2
三、设计的主要内容及分析…………………………………… 2
1、安装Ethereal…………………………………………………2
2、捕获APR请求、应答数据包,分析组成特征……………3
3、ICMP数据包的捕获及分析…………………………………5
4、捕获TCP“三次握手”连接与释放数据包及分析…………6
5、捕获HTTP、DNS数据包,分析其构成……………………7
(1)HTTP数据包的捕获与分析………………………………7
(2)捕获DNS数据包及分析…………………………………9
四、实验体会…………………………………………11
五、参考资料、附录……………………………………………11
一、课程论文(设计)的意义
通过计算机网络技术课程的学习,学生基本掌握了计算机网络的基础理论知识,但是学生对于计算机网络的理解不够深入。
设置本课程设计,通过让学生对网络协议数据包的分析,掌握在TCP/IP模型中,各个层次上网络PDU的实际组成,深入理解网络协议的组成,对网络中传送数据的过程有更深入的认识,同时培养学生一定的自学能力和独立分析问题、解决问题的能力。
二、课程论文(设计)的主要内容
1、捕获APR请求、应答数据包,分析其组成特征;
2、捕获ICMP数据包,分析研究之;
3、捕获TCP“三次握手”连接与释放数据包并分析;
4、捕获HTTP、DNS数据包,分析其构成;
三、课程设计步骤及分析
1、安装Ethereal
安装过程略,对Ethereal进行设置,并认识软件的操作。
2、捕获APR请求、应答数据包,分析组成特征
用ARP命令显示当前ARP缓存区内容,然后再清空本机当前ARP缓存区,用本机(10.0.129.23)和目标机器(10.0.146.185)进行ping命令,截图及分析如下:
(图3.2.1)
进行捕获,截图分析:
(图3.2.2)
(图3.2.1)为请求广播数据包:
本主机10.0.129.23向广播发出ARP请求“whohas10.0.146.185?
”,要求找出IP为10.0.146.185的主机的物理地址,告诉本主机(10.0.129.23)。
(图3.2.3)
ARP回复报文截图
IP地址为10.0.146.185的主机向本主机(10.0.129.23)发送一个ARP应答“10.0.146.185isat00:
24:
54:
79:
a3:
61”,告诉本主机,IP号为10.0.146.185的主机对应的物理地址为00:
24:
54:
79:
a3:
61。
从ARP报文截图可知:
目的MAC
源MAC
帧类型
00:
24:
54:
79:
a3:
61
00:
1f:
d0:
d7:
83:
0c
0x0806
ARP报文封装在以太网V2帧中
ARP硬件类型
ARP协议类型
ARP硬件地址长度
ARP协议地址长度
ARP操作类型
0x0001
0x0800
0x06
0x04
ARP请求:
0x0001
ARP应答:
0x0001
ARP源MAC地址
ARP原协议址
ARP目的MAC地址
ARP目的协议地址
00:
1f:
d0:
d7:
83:
0c
10.0.129.23
00:
24:
54:
79:
a3:
61
10.0.146.185
思考:
弄清楚ARP协议的作用,对LAN内、LAN之间,APR是如何工作的?
APR缓冲的内容如何保存与其作用?
请求与应答包的区别,为什么要用IP包传送?
答:
ARP协议的作用是由机器的IP地址查找出对应的物理地址。
当主机A在LAN内向主机B发送IP数据报时,先在其ARP高速缓存内查看有无B的IP地址。
如有,就在其中查出对应的硬件地址,再将硬件地址写入MAC帧发往次硬件地址。
当查不到,
(1)ARP进程在本LAN上广播发送一个ARP请求分组。
(2)本LAN上所有运行ARP进程的主机都收到此分组。
(3)主机B在请求分组中见到自己的IP地址,向A发送ARP响应分组,并写入自己的硬件地址。
其余主机不理会此分组。
(4)主机A收到B的ARP响应分组后,再去ARP高速缓存中写入B的IP地址和硬件地址映射。
当要解析的地址不在本LAN内时,需将与本LAN相连的路由器的IP地址解析为硬件地址,将IP数据报发送给路由,再由路由找出下一跳的路由硬件地址,再由其转发给目的机器,目的机器按相似的方法回答自己的硬件地址。
主机将已经得得到的地址映射写入ARP缓存中,而且在超过生存时间之后将该项目删除,以免地址映射过时而出错。
ARP的缓存可使网络上短时间内重复询问的ARP广播的数量减少,提高网络利用效率。
请求包发送出一个广播的分组,其内容是“我的IP地址是XX,硬件地址是YY,我想知道IP地址为ZZ主机的硬件地址”;而应答包是单播发送的,其内容是“我的IP地址是ZZ,硬件地址是WW”。
使用IP数据包发送的原因是,不同网络上使用的硬件地址是不同类型的,使用IP地址和IP数据包来进行ARP的工作屏蔽了下层复杂的异构网络而使用户面对的是简单的IP系统。
3ICMP协议数据包分析
以“ping”为例,捕获ICMP数据包。
如下图所示:
ping命令的四次探测,本机一连发出4个ICMP会送请求报文,而服务器也发回了4个ICMP回送回答报文。
下面以一次请求和响应为例解释ICMP数据包。
第一次ping命令ICMP请求数据报如图3.3.1所示:
图3.3.1
081631
类型:
08
代码:
00
校验和:
de5b
鉴别号:
0200
序列号:
6d00
第一次ping命令ICMP应答数据报如图3.3.2所示:
图3.3.2
081631
类型:
00
代码:
00
校验和:
e65b
鉴别:
0200
序列号:
6d00
思考:
弄清楚ICMP数据包的分类、作用?
捕捉Ping命令数据包,如何构成ICMP协议包,请示与应答包的区别,怎样传输的?
答:
ICMP数据包分为两类,一类是差错报告报文,一类是询问报文,其作用是允许主机或路由报告差错情况和提供有关异常情况的报告。
请求和应答数据包的区别是在于类型,请求包为Type8而应答包为Type0。
Ping命令发出后,本地主机向目的主机发出装载着ICMP数据报的IP数据包,一共向发出四个IP数据包;目的主机在收到一个请求包后就回送一个应答包,有四个应答包。
4、捕获TCP“三次握手”连接与释放数据包并分析
(本地主机IP:
10.0.129.23,目标主机IP:
210.38.128.37)
以打开网页为例,捕获TCP数据包,分别从数据包中找出“三次握手”连接、“四次握手”释放连接的报文。
图3.4.1
3、下面是有关这次建立连接和释放连接的相关分析
帧号
步骤
源端口
目的端口
类型
方向
主要参数
1077
①
4008
80
syn
H1→H2
Seq=0,MSS=1452,len=0
1078
②
80
4008
Syn,ACK
H1←H2
Seq=0,ACK=1,win=74752,MSS=1460,len=0
1079
③
4008
80
ACK
H1→H2
Seq=1,ACK=1,win=255552,
……
……
双向数据传送阶段,……(略)
1090
Ⅰ
80
4008
Fin,ACK
H1←H2
Seq=698,ACK=487,win=6912
1091
Ⅱ
4008
80
ACK
H1→H2
Seq=487,ACK=699,win=254852
109
Ⅲ
4008
80
Fin,ACK
H1→H2
Seq=487,ACK=699,win=254852
1093
Ⅳ
80
4008
ACK
H1←H2
Seq=699,ACK=488,win=6912
5、捕获HTTP、DNS数据包,分析其构成
⑴HTTP数据包的捕获与分析:
1、HTPP协议请求报文
图3.5.1
2、HTTP响应报文
图3.5.2
3、现以上面的请求报文为例做以下相关参数的分析
应用层
图3.5.3
其中:
方法——GET,请求读取URL处的页面;
版本——HTTP/1.1,使用HTTP协议的版本注明,\r\n——回车换行,表明本行结束。
HTTP请求报文其余部分是对多行“首部字段”,“状态”值的逐行说明,主要的有:
Host:
//主机名为
Accept-Lang:
zh-cn//首选语言为中文
Connection:
Keep-Alive//一直保持连接
4、运输层相关参数
图3.5.4
其中:
Sourceport:
1829(1829)源端口为4710
Destinationport:
http(80)目的端口80
Sequencenumber:
702序号487
Acknowledgementnumber:
1确认号1
Headerlength:
20bytes首部长度为20个字节
Windowssize:
255552窗口大小255552
Checksum:
0x9b56检验和:
0x9b56
5、IP层相关参数:
图
图3.5.5
Version:
4版本号为4
Headerlength:
20bytes首部长度为20个字节
Totallength:
330总长度:
330
Identication:
0xe173(57715)标识:
57715
Timetolive:
64生存时间:
64
Protocol:
tcp(0x06)TCP协议
Headerchecksum:
0x7a7d首部检验和:
0x7a7d
Source:
10.0.129.23源地址:
10.0.129.23
Destination:
210.38.128.37目的地址:
210.38.128.37
⑵捕获DNS数据包及分析:
1、DNS请求报文
图3.6.1
2、DNS响应报文
图3.6.2
3、现以上面的响应报文为例做以下相关参数的分析
DNS网际层分析:
图3.6.3
Version:
4版本号为4
Headerlength:
20bytes首部长度为20个字节
Totallength:
106总长度:
106
Identication:
0x3df1(15857)标识:
15857
Timetolive:
249生存时间:
249
Protocol:
UDP(0x11)UDP协议
Headerchecksum:
0x6dc3首部检验和:
0x6dc3
Source:
202.96.128.86源地址:
202.96.128.86
Destination:
10.0.129.23目的地址:
10.0.129.23
4、用户数据包协议层:
图3.6.4
源端口:
53目的端口:
50644数据长度:
86字节校验和:
0x83ab正确
5、域名系统响应:
图3.6.5
交易ID为0×3d1f,标志为0x8180。
询问数:
1,回应数目:
2。
询问。
类型为A,类型。
回应分析:
名称:
类型:
CNAME等级:
0x0001生存时间:
1分30秒
数据长度:
18字节
私有名称:
IP地址为:
220.181.111.78
四、实验体会
通过本次课程设计,我学会了用Ethereal捕获数据并分析,同时让我对计算机网络所学习的知识进一步得到深刻的了解。
经过跟一些同学的讨论与学习对这些比较抽象的问题有了新的认识,比如TCP连接的3次握手和4次释放等等。
在此感谢老师一直以来的耐心教导。
五、参考文献
1、《计算机网络》(第5版)电子工业出版社谢希仁主编
2、《计算机网络技术实验教程》华南理工大学出版社肖洪生郑苑丹编著
附:
本机IP地址为10.0.129.23