




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、重庆交通大学信息科学与工程学院课程设计报告姓 名: 廖微 学 号 631206040326班 级: 通信工程专业 2012级 3 班 课程设计项目名称: 网络协议分析综合课程实验 课程设计项目性质: 设计性 实验室(中心): 软件实验中心 指 导 教 师 : 王 勇 课程设计完成时间: 2015 年 1 月 10 日第 16 页 共 16 页教师评阅:实验目的明确;操作步骤正确;设计文稿(表格、程序、数据库、网页)符合要求;保存路径正确; 实验结果符合要求 实验分析总结全面;实验报告规范; 签名: 年 月 日实验成绩:一、实验目的一、课程设计目的1、了解wireshark软件,学会运用wire
2、shark软件抓包。2、通过wireshark抓包了解各种协议,可以和帧格式对应去理解3、明白在网络中信息在主机和客户端是如何进行交互的。二、相关知识计算机网络的分层:(1)OSI七层结构 物理层(Physical Layer):为两个相邻节点提供一个物理连接,将信息以比特流方式在通信线路上传送。数据链路层(Data Link Layer,DL):在两个相邻节点间的线路上,无差错地传送以帧为单位的数据。网络层(Network Layer):在计算机网络中两台主机之间传送以分组或包为单位的数据。传输层(Transport Layer):在计算机网络中两个端系统之间传送以报文为单位的数据。会话层(
3、Session Layer):在两个互相通信的应用进程之间建立、组织和协调其交互。表示层(Presentation Layer):用户信息的语法表示。应用层(Application Layer):用户的各种应用程序。(2) TCP/IP体系结构 (3) 五层协议结构 三、课程设计主要内容及原理1、首先,浏览器分析URL,因为是以字母(cn)而非数字结尾,可得知当前使用的是域名,必须首先解析其对应的IP地址2、在DNS缓存中查找项,命中则执行下面第X步,否则就发起DNS请求,请求解析域名3、浏览器构建DNS包,递交给传输层实体同时告知该包为DNS包。4、传输层实体构建UDP包,源端口按主机当前情
4、况选择,目的端口为53(53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析),然后将包递交网络层。5、网络层实体以源IP为,目的IP为DNS服务器的即3等字段封装UDP包以构建IP包。同时,网络层实体通过子网掩码运算得知目的主机不在本子网,则应发给网关。在ARP缓存中查找项,如果命中则执行第7步,否则6、进行ARP广播,找到的网关,找到的同时并更新ARP缓存。 7、此时在ARP缓存中查找到了则直接发送到该网段的网关,网关然后再将IP帧的封装包传送到数
5、据链路层。数据链路层将IP帧的封装包加上头部和尾部组装成帧,发送到物理层。 8、传输到物理层,物理层确保原始的数据可在各种物理媒体上传输。物理层是比特流的传送,因此不需要在加控制信息。9、先传输到本机的数据链路层,数据链路层要检测所接收到的帧是否有差错,数据链路层就简单地丢弃这个出差错的帧,如果需要改正数据在数据链路层时出现的差错,此时采用可靠传输协议来纠正差错。然后利用逆ARP协议将MAC解析为IP地址,此时可以直接在ARP缓存找到网关,并将数据包直接发送到该路由器10、在网络层,根据控制信息进行必要的操作,然后剥离帧的控制信息将帧还原成为IP数据包。就根据首部中的
6、目的地址查找路由器中的路由表,找出转发分组接口。然后往传输层进行发送11、在传输层中,会对IP包进行解析,去掉头部,此时的称其为用户数据包UDP。然后将UDP发送给应用层12、应用层经过对控制信息的处理,此时就只剩下数据项,就将数据项直接发送给服务器。服务器收到数据后,给解析出来的IP地址直接发送到主机,此时的发送过程和前几步是一样的 这样主机和DNS服务器就完成了一次DNS包的传输和,如果要进行数据的传输,还需要和web服务器进行一次三次握手,这样双方就能通信了三、课程设计过程简述先利用ipconfig/flushdns将本地的DNS服务器缓存清除,然后打开wireshark,选正确自己所选
7、用的网卡。然后将学校主页的地址写入网页的地址栏,在打开网页之前,先运行wireshark,然后开始抓包,对于这次抓的包进行分析。首先通过客户端到服务器端,先将五层协议的通路走通。主机要发送信息首先要经过应用层,这一层是应用进程间通信和交互原则,常用的有HTTP协议,在这层,首先将数据包打包。然后将数据包发送到运输层,运输层主要有TCP和UDP协议,按照相应的信息,把数据包打包成UDP包或者TCP包,只要给数据包加上头部即可。然后将UDP包(TCP包)发送到下一层,网络层。网络层要做的事情也是封装,将上层传送下来的包进行IP封装。封装好了之后将数据传送到数据链路层,将IP数据包组装成帧,组装成帧
8、需要将IP数据包加上头部和尾部。之后就传送到物理层,通过物理层的传输,传输到服务器端的数据链路层,在服务器端,就等于是对封装包的一层一层的剥离,等于是客户端封装的逆过程。这就是数据的一次传输,之后的数据传输还是按照这个过程来的。应用进程的数据在各层之间传递所经过的变化描述如下:(为简单起见,假定两个主机是直接相连的。)假定主机1的应用进程AP1向主机2的应用进程AP2传送数据。AP1先将其数据交给本主机的第5层应用层。第五层加上必要的控制信息H5就变成了下一层的数据单元。第4层运输层收到这个数据单元后,加上本层的控制信息H4再交给第3层网络层,成为第3层的数据单元。以此类推,不过到了第2层数据
9、链路层后,控制信息分成两部分,分别加到数据单元的首部和尾部,而第1层物理层由于是比特流的传送所以不再加上控制信息。四、课程设计结果及分析(1)DNS协议的分析。获取输入URL的域名地址,例如域名到IP地址的解析过程如下:当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报的形式发给本地域名服务器。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信。基本知识:DNS的报文格式是: 其中12个字节的为头部部分,其次是查询问题,回答,授权和额外信
10、息,所有的请求报文都有查询问题,后面3个都是DNS服务器返回的应答报文所填充的。标识(2字节)可以看作是DNS的标志。标志也是两字节,是十分重要的部分。抓包截图如下:这部分我们可以对照wireshark的截图来观察DNS协议的标志:QR(1比特):查询/响应的标志位,1为响应,0为查询。0就表示该DNS协议为查询报文。opcode(4比特):定义查询或响应的类型(若为0则表示是标准的,若为1则是反向的,若为2则是服务器状态请求)。这个查询的类型是标准的。AA: 授权应答(Authoritative Answer) - 这个比特位在应答的时候才有意义,指出给出应答的服务器是查询域名的授权解析服务
11、器。注意因为别名的存在,应答可能存在多个主域名,这个AA位对应请求名,或者应答中的第一个主域名。TC(1比特):截断标志位。1表示响应已超过512字节并已被截断。0表示响应没有被截断。RD(1比特):该位为1表示客户端希望得到递归回答。zero(3比特):为0,保留位。在接下来我们还可以看见四个选项Questions 1 表明问题数为1回答数Answer RRs: 0 权威数Authority RRs: 0 附加数Additional RRs: 0我们可以看到问题是询问的域名解析。下面的图描述DNS服务器对域名进行解析:我们可以从answer中看出,目的IP解析出来是
12、。(2)浏览器将DNS包递给传输层3、传输层构建UDP包,递交网络层传输层构建的UDP包使用了UDP的传输协议,将这个包递交给了网络层,从wireshark抓包分析中我们可以看到,源端口用的是53358端口,目的端口是53端口,长度为46字节。UDP传输协议(4)网络层将UDP包封装为IP包IP数据报的格式为:通过这个IP帧格式,我们就可以将IP封装包进行解读。版本:IPv4。首部长度:20字节。区分服务:只有在使用区分服务时,该字段才起作用,一般情况下都不起作用。总长度:指首部和数据之和的长度为59字节。标识:IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,此时计数器的值是
13、7565。标志:占三位,但是目前只有前两位有意义。第一个是最低标记位MF=0,表示这是若干数据报片中的最后一个。中间标记为DF=0,表示不能分片。片偏移:因为没有分片,所以片偏移为零。生存时间:TTL(Time to live)表示跳数,一共有64跳,表明在因特网中该数据报最多可经过64个路由器。因为是问题发送端,所以还没有经过路由器。协议:由图可知,运用了UDP传输协议。首部校验和:只检验数据包的首部,检验出来的结果是correct。源IP地址:本机地址目的IP地址:3 学校的DNS服务器IP地址。(4)进行ARP广播,找到网关硬件类 型协 议类
14、型 12op 发送端以太网地址发送端IP地址目的端以太网地址目的IP地址在wireshark中,我们可以看到类型是一个Broadcast,在询问谁3网关。ARP包的外部还有以太网帧,增加了一个头部和尾部。在ARP协议中,我们可以看到:硬件类型:1。以太网的硬件类型协议类型:是IP协议中的一个。1(硬件地址长度):MAC地址长度,为6个字节。2(协议地址长度):因为使用的IPv4,所以协议长度4个字节。op操作符:1,该包为一个请求包。发送端MAC地址:00:1a:a9:7e:50:a8发送端IP地址:目的端MAC地址:00:00:00:00:00:00目的I
15、P地址:3然后将IP数据包发送到数据链路层。(5)数据链路层将IP数据报封装为帧Ethernet II结构为 6字节 6字节 2字节 46-1500字节 4字节目标MAC地址源MAC地址类型数据FCS可以与图片相对应的进行解读:目的MAC地址:00:1a:a9:7e:50:a8源MAC地址:9c:2a:70:50:e2:d3类型:IP表示上层用的IP数据包。FCS:Frame Check Sequence,用于纠错,含有一个4位的冗余校验码。 (6)在数据链路层中加上头部和尾部,然后发送到物理层,交给物理层之后发送给外部线路。(7)服务器的物理层接收到数据,并把数据发送给上层
16、的数据链路层,数据链路层先要检查MAC地址,并对所收到的帧进行纠错和检错。没有错误后,去掉以太帧的首部和尾部之后,将IP包发送给网络层,网络层去掉IP头部之后,把UDP包发回给传输层,最后传输层将DNS包发送给服务器端。(8)DNS服务器将发送过来的DNS中域名进行解析,解析出IP地址后按照上述所说的过程将IP地址发送给主机。在这个包里面,可以看到,返回来了的IP地址。(9)浏览器构建了HTTP包,请求传输数据,并且发送给了传输层。HTTP有两类报文:(1)请求报文从客户想服务器发送请求报文(2)响应报文从服务器到客户端的回答 在wireshark的截图中,我们可以看
17、到该HTTP显示是一个请求报文。在上面我们可以看到请求的方法,请求的版本等。Host头域指定请求资源的Intenet主机和端口号,上面包含了url的原始服务器()。connection告诉服务器一直保持链接。user-agent表明用户代理使用的浏览器。Accept-language表示了用户希望优先得到中文网页。(10)建立链接需要用TCP协议,因为网页的传输是需要可靠的服务的,因此使用传输控制协议TCP TCP协议的格式我们可以对照TCP的帧结构来解读TCP的帧结构源端口:2字节,50280代理服务器列表目的端口:2字节,80端口,开放了HTTP协议。序号:4字节,为1。TCP是面向字节流
18、的。在一个TCP连接中传送的字节流中的每一个自己都按顺序编号。保留:占6位,目前是全部置为0。紧急URG:当URG=1时,表明紧急指针字段有效。此时就告诉系统这个数据的优先级比较高,要优先传送。在该图中,URG=0,只说明这是个普通的数据。确认ACK:ACT=0时,确认号无效,这说明了连接还没有建立,因为TCP规定,连接建立后所有传送的报文段都必须把ACK置1,图中,ACK=1。推送PSH:当两个应用进程进行交互式通信时,有时在一端的应用进程希望在键入一个命令后立即能够收到对方的响应。此时PSH置为1.复位RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后重新建立运输连接
19、。还可以用来拒绝一个非法的报文段或拒接打开一个连接。此时RST=0,表明TCP连接没有出现错误,也不用拒绝打开连接。同步SYN:在连接建立是用来同步的序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。当同时置1时,表示连接接收报文。当前的TCP协议正好是一个连接接受的报文段。终止FIN:用来释放一个连接。此时FIN=0,表示数据还没有发送完,不用中止连接。窗口:占两字节。窗口指的是发送本报文段的一方的接收窗口。窗口值告诉告诉对方:从本报文段首部的确认信号算起,接收方目前允许对方发送的数据量。此时的窗口值为16425。最后剩下的了校验和和选项,选项的长度是可变的。(11) 连接建立
20、即此时主机向服务器发送请求报文段,完成3次握手第一次握手TCP规定同部位SYN=1,SYN报文段不带数据,序号为0,我与服务器第一次握手SYN=1,报文段的数据为0。第二次握手 服务器发回确认包, 标志位为 SYN,ACK. 将确认序号设置为客户的序号加1,即0+1=1。第三次握手TCP客户收到服务器确认报文段后,再向服务器发出确认报文段ACK=1,TCP规定若无数据则消耗序号。此时序号还为1,则传输的信号无序号。TCP建立连接的三次握手如图:(12) 数据传送 完成三次握手后,客户端和服务器端就可以传送数据了。比如网页的图片声音等数据,但是在传输数据的时候,还是需要通过5层协议来传输,传输的
21、方法和上述的相同。(13) 连接释放 当双方都不需要数据的时候就会释放连接,双方任一一方都可先释放。TCP规定,请求释放方A先提出释放连接则FIN=1,且要消耗序号。B接到释放请求后会发出确认及ACK=1,这时请求释放方无数据发送给B了,但B可再发数据给A,若B也无数据发送了,因此也要发送释放连接报段;B也无数据发送了也发送了释放连接报段,这时FIN也应为1,无数据,有序号A收到释放报文后也要发出后确认,则释放连接全部结束,双方都不会放送数据,也不会收到对方的数据。此过程为四次握手。 五、心得体会本次实验主要结合了计算机网络这门课程的基础知识,在课本知识的基础上使用Wireshark软件进行抓
22、包并且对网络体系结构进行分析,本次实验的主要内容是主要分析了应用层的DNS协议,运输层的UDP用户数据报协议,网络层的IP协议,解决IP地址与MAC地址映射问题的ARP协议,数据链路层中的硬件地址等。主机要发送信息首先要经过应用层,这一层是应用进程间通信和交互原则,常用的有HTTP协议,在这层,首先将数据包打包。然后将数据包发送到运输层,运输层主要有TCP和UDP协议,按照相应的信息,把数据包打包成UDP包或者TCP包,只要给数据包加上头部即可。然后将UDP包(TCP包)发送到下一层,网络层。网络层要做的事情也是封装,将上层传送下来的包进行IP封装。封装好了之后将数据传送到数据链路层,将IP数据包组装成帧,组装成帧需要将IP数据包加上头部和尾部。之后就传送到物理层,通过物理层的传输,传输到服务器端的数据链路层,在服务器端,就等于是对封装包的一层一层的剥离,等于是客户端封装的逆过程。这就是数据的一次传输,之后的数据传输还是按照这个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿科护理培训汇报
- 幼儿美术海底世界
- 大学语文劝学课件
- 工程造价行业答辩
- 数学-河南省天一大联考2025届高三月联考暨高三下学期第二次模拟考试(安阳、鹤壁、焦作、濮阳高三第二次模拟考试)
- 锂电池基础知识
- 海军总医院虚拟化项目方案
- 四川省自贡市2025年中考历史一模考前卷(含答案)
- 第 3 单元评估检测题(A卷)(单元测试)(无答案)2024-2025学年二年级下册数学人教版
- 五六年级女生教育
- 【太阳能干燥箱设计15000字(论文)】
- 12D401-3 爆炸危险环境电气线路和电气设备安装
- DL∕ T 1129-2009 直流换流站二次电气设备交接试验规程
- 2024江苏无锡市滨湖区招聘专职网格员禁毒社工28人笔试历年典型考题及考点剖析附答案带详解
- JGJ120-2012 建筑基坑支护技术规程
- DL-T+5220-2021-10kV及以下架空配电线路设计规范
- 第二单元 梨园风采-儿行千里母担忧 教案 2023-2024学年人教版初中音乐八年级下册教案1000字
- 天然气长输管道HSE管理措施
- 2023年6月上海高考英语卷试题真题答案解析(含作文范文+听力原文)
- 2024国家保安员资格考试题库含完整答案(名校卷)
- 复工复产安全检查记录(总表)
评论
0/150
提交评论