DNS实验报告
北京邮电大学
计算机网络课程设计
实验报告
课程设计题目:DNS中继服务器实验报告
班级:2009211315班
小组人员:李根09211541
曾若峰09211544
宫志明09211545
一、系统概述
1)运行环境:windows XP
2)编译:Microsoft visual C++ 6.0
3)使用方法:
a)使用ipconfig/all,记下当前DNS服务器,例如为10.3.9.3
b)使用下页的配置界面,将DNS设置为127.0.0.1(本地主机)
c)运行你的dnsrelay程序(在你的程序中把外部dns服务器设为前面记下的
10.3.9.3)
d)正常使用ping,ftp,IE等,名字解析工作正常
二、系统的功能设计
设计一个DNS服务器程序,读入“域名-IP地址”对照表,当客户端查询域名对应的IP 地址时,用域名检索该对照表,三种检索结果:
1)检索结果为ip地址0.0.0.0,则向客户端返回“域名不存在”的报错消息(不良网
站拦截功能)
2)检索结果为普通IP地址,则向客户返回这个地址(服务器功能)
3)表中未检到该域名,则向因特网DNS服务器发出查询,并将结果返给客户端(中
继功能)
考虑多个计算机上的客户端会同时查询,需要进行消息ID的转换
三、模块划分
DNS服务器主模块包含三个子模块,分别如下:
1)命令行参数处理模块:该模块用来处理通过命令行提示符来启动这个DNS服务器
时所输入的命令行参数,管理员通过设置不同的参数可以使DNS服务器显示不同
程度的提示和调试信息。所以这模块主要是依照输入的参数设置标志数据,以控制
最后的各种信息的输出。
2)本地解析模块:本模块是在本DNS服务器本地保存的曾经解析过的或者需要屏蔽
额域名和其对应IP信息文件中查找从应用程序来的请求解析的域名,在这个文件
中查到需要的域名后取出对应的IP地址,并构造DNS应答数据包返回给发送此DNS
域名解析请求的应用程序。
3)外部DNS服务器解析模块:当本地解析失败时,本DNS服务器会调用外部DNS服
务器解析模块。此模块将应用程序发送的DNS请求报文转发给外部DNS服务器,
然后接收外部服务器返回的应答信息,并根据这个信息给予应用程序相应的DNS
应答。
三个模块与主模块的关系图如下,主模块调用这三个并列的模块,而本地解析模块调用文件查找子模块:
四、软件流程图
开始
创建套接字
初始化接收缓冲
命令行参数处理
初始化设置UDP连
接和套接字信息
套接字绑定
是否退出程序
否
接收UDP\DNS数据包
获取DNS包头
参数
DNS包类型
域名格式转换
找到对应IP?
本地文件解析
设置DNS包头
设置应答结果发送DNS应答结
果
设置外部DNS
请求数据包
向指定外部
DNS转发请求
转换DNS数据包头ID
设置外部DNS
应答数据包
向应用程序发送DNS
响应数据包
还原DNS数据包头ID
清除socket
关闭套接字
结束
请求包应答包
是否是
五、主要数据结构
int GetTable(char *tablePath) //函数:获取域名解析表
void GetUrl(char *recvbuf, int recvnum) //函数:获取DNS请求中的域名
int IsFind(char* url, int num) //函数:判断是否在表中找到DNS请求中的域名
unsigned short RegisterNewID (unsigned short oID, SOCKADDR_IN temp, BOOL ifdone)
//函数:将请求ID转换为新的ID,并将信息写入ID转换表中
void DisplayInfo(unsigned short newID, int find)
//函数:打印时间newID 功能域名IP
六、测试用例以及运行结果
a)测试本地解析功能
请求一个本地DNS对照表中已有的某一记录,如https://www.360docs.net/doc/e8382577.html,:
在本地DNS对照表中找到记录,将相应的IP地址返回给用户:
程序上:
b)测试中继功能:
请求一个本地DNS对照表中没有的记录,如https://www.360docs.net/doc/e8382577.html,。本地DNS没有找到相应记录,向外部web服务器转发请求,并接收相应的应答报文并转发给用户:
‘
程序上:
测试ipv6功能:
程序:
c)测试拦截功能:
请求一个不良网站,如https://www.360docs.net/doc/e8382577.html,:
被拦截。
程序上:
七、调试中遇到并解决的问题
1)使用socket连接的时候,刚开始只用了一个socket作为所有发送和接收的接口。
在实际调试的过程中发现一个不能满足软件需求的实现,所以用一个socket负责发
送数据报,另一个socket负责接收数据报。
2)回应报文中域名是使用偏移指针的方式实现的,这是由于在域名段写入需要请求的
域名时会与问题报文中的域名字段重复从而造成不必要的浪费,用偏移指针的方式
既可以防止重复,也可以节省空间。
3)使用sendto函数时,一开始使用的是sizeof(sendbuf)来确定发送的数据报大小,
但是实际操作中发现发送消息时只需要发送有用的部分,如果使用原来的方法会造
成发送数据的冗余,需要精确确定发送数据的有效位数。
4)在编程过程中,对于指针的掌握不当造成了多次错误,例如在对于不同的标志位要
转换成不同长度的指针进行赋值。
5)对于请求包的域名还原问题,需要注意数组下标与实际位数的区别。
6)本机会自动在其尾部追加“https://www.360docs.net/doc/e8382577.html,”来形成新的域名,导致在本地解析工作中
无法找到该域名对应的记录,从而转发给外部web服务器,这与本地解析工作是
相违背的。所以后来每当在接收到写有“https://www.360docs.net/doc/e8382577.html,”域名的时候,会逐层剥离此
域名,从而达到域名解析的目的。
八、我们的心得体会
本次大作业为实现一个DNS中继服务器。通过完成本地域名解析、中继功能以及不良网站拦截等基本的三个功能,来实现用户访问外部服务器的需求。这次大作业的完成,需要我们阅读并了解RFC 1035文档。一开始的时候对RFC完全没有一个清晰地概念,只知道这是一个规格说明,而且初读其中的内容也觉得一头雾水。但后来在老师的提点下抓住了重点,然后一遍一遍反复的阅读,不懂的地方借助网络和图书资料,渐渐发现对DNS的原理和实现方法有了更加全面和深刻的理解,这对后期的程序编写起到了非常大的帮助作用。
通过本次网络实验,对小型网络应用程序的实现有了一定程度的理解,同时更加熟悉了winsock函数库。通过抓包分析UDP数据报文、DNS数据报文,对传输层和应用层的数据包发送和接收等工作原理也有了更深的理解。
在本次大作业中,让我感触最深的就是这三年来编程实力的反映。在编程的过程中就不断的被一些低级错误影响了软件实现的进度,而且对在大一大二学到的知识点,例如文件的读取,不同进制数的转换等掌握不牢,导致需要花额外的时间去弥补以前遗忘的知识。在最终验收的阶段,通过比较其他组同学的程序就可以很明显的看出,自己程序的功能上比较单一,实现的方法也没有他们来的精妙。继而通过老师质疑的几个问题,也可以发现我们的程序还存在许多不足,例如思考的方面不够全面,思考的角度不够多向。细节反应一个程序的健壮性,而我们没有尽可能的考虑每一个可能的情况,导致仍存在许多漏洞。所以这次的大作业告诉了我们,在以后的学习与实践中,要时刻注意“细节”的重要性。这个不仅要在软件分析的时候要注意,在编程的时候要注意,在调试测试的时候要注意,在最后维护阶段也不能放松。这次的收获想必对未来从事的网络工作很有益处。
无论程序好还是坏,最重要就是亲手实践。借鉴别人的好代码永远只是模范,只有自己动手才会实现突破与创新。我们会在以后的学习与实践中不断提高自己的编程能力,日臻完善。
网络协议分析实验报告
实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解ARP 、ICMP 、IP 、TCP 、UDP 协议的结构。 二、实验环境 1.虚拟机(VMWare 或Microsoft Virtual PC )、Windows 2003 Server 。 2.实验室局域网,WindowsXP 三、实验学时 2学时,必做实验。 四、实验内容 注意:若是实验环境1,则配置客户机A 的IP 地址:192.168.11.X/24,X 为学生座号;另一台客户机B 的IP 地址:192.168.11.(X+100)。在客户机A 上安装EtherPeek (或者sniffer pro )协议分析软件。若是实验环境2则根据当前主机A 的地址,找一台当前在线主机B 完成。 1、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析ARP 协议; 2、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析icmp 协议和ip 协议; 3、客户机A 上访问 https://www.360docs.net/doc/e8382577.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A
2、分析icmp协议和ip协议,分别填写下表 表一:ICMP报文分析
3、分析TCP和UDP 协议,分别填写下表
《网络协议分析》实验报告
网络协议分析 ——计算机+自动化0902班易珊珊学号:200926100427 1 实验目的 ?掌握如何利用协议分析工具分析IP数据报报文格式,体会数据报发送,转发的过程。 ?通过分析截获TCP报文首部信息,理解首部中的序号,确认号等字段是TCP可靠连接的基础.通过分析TCP连接的三次握手建立和释放过程,理解TCP连接建立和释放机制。 2 实验内容 ?(1)IP协议分析 ?IP协议分析 (图一)IP数据报的格式
(图二)捕获的IP数据报 version:4,版本,占四位。 Header length:20 bytes,IP数据报首部为20字节,等于固定部分长度,说明没有可选字段。 Differentiated services field:ox00,所有服务类型都为0,说明这是一种缺省情况,IP数据报的发送者没有规定IP数据报的服务类型。 Total length:52,IP数据报总长度为52字节。 Identification:oxa47b,标识,占16位。 Flags: 标志,占3位。DF=1,MF=0, Fragment offset:0,说明该数据报没有分片。 Time to live:128,生存时间是128,每过一个路由器它就减1。 Protocol:TCP(ox06)此IP 数据报携带的数据使用TCP协议,协议字段
值为6。 Header checksum:oxdf8a,首部校验和,占16位。Source:192.168.2.10 源地址,占32位。Destination:202.102.233.164 目的地址,占32位。 ?(2)TCP协议分析: (图三)TCP报文段的首部格式
IP协议分析实验报告
计算机网络 实 验 报 告 实验名称: IP协议分析 实验分组号: 实验人:郑微微 班级: 12计算机科学系本四B班学号: 实验指导教师:阮锦新 实验场地:网络实验室706 实验时间: 2014年11月 17号 成绩:
一、实验目的 1、掌握IP协议分析的方法 2、掌握TCP/IP体系结构 3、加深网络层协议的理解 4、学会使用网络分析工具 二、实验要求 1、实验前下载安装Ethereal/Wireshark/Sniffer中的一款网络分析工具软件 2、了解网络分析工具软件的常见功能与常见操作 3、每位学生必须独立完成所有实验环节 三、实验环境 1、操作系统:Windows XP/Windows 7/Windows 2008 2、已安装网络分析工具软件 3、PC机能访问互联网 四、实验内容及原理 1、实验内容 (1)IP头的结构 (2)IP报文分析 2、实验原理 网络之间互连的协议(Internet Protocol,IP)就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。 IP报文由报头和数据两部分组成,如图1所示:
图1 IP报文格式 五、需求分析 IP协议是TCP/IP体系中两个主要的协议之一,而IP地址位于IP数据报的首部,在网络层及以上使用的是IP地址,因此在数据链路层是看不见数据报的IP地址,另外首部的前一部分是固定长度,共20字节。在TCP/IP的标准中,各种数据格式常以32位为单位来描述,通过分析IP数据报的格式就能够知道IP协议都具有哪些功能。 六、实验步骤 1、打开网络分析工具软件 2、抓取浏览器数据包 (1)启动网络分析工具软件,设置抓包过滤条件。 (2)启动浏览器,在地址栏输入要访问的IP地址。 (3)关闭浏览器,停止抓包。 (4)存储所捕获的数据包。 (5)分析数据包。 七、实验分析 1.启动网络分析工具软件,设置抓包过滤条件为“==”
网络协议分析实验报告样本
网络协议分析实验报告样本 网络协议分析实验报告本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 实验报告99实验名称网络协议分析姓名学号班级313计本班实验目的掌握常用的抓包软件,了解EtherV 2、ARP、P IP协议的结构。 实验内容 11、分析2EtherV2协议 22、分析P ARP协议 33、分析P IP协议实验步骤 11、在S DOS状态下,运行ipconfig,记录本机的IP地址和硬件地址,网关的IP地址。 如下图11所示::本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图 12、分析数据链路层协议( (1)、在:PC1的“运行”对话框中输入命令“Ping192.168.191.1,单击“Enter”按钮;图如下图2所示:图图2( (2)、在本机上运行wireshark截获报文,为了只截获和实验内容有关的报文,将Ethereal的的Captrue Filter设置为“No
Broadcastand noMulticast”;如下图3所示:本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图3 (33)停止截获报文::将结果保存为MAC--学号,并对截获的报文进行分析:11)列出截获的报文中的协议类型,观察这些协议之间的关系。 答::a a、UDP:用户数据包协议,它和P TCP一样位于传输层,和P IP协议配合使用,。 在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。 b b、WSP:是无线局域网领域推出的新协议,用来方便安全地建立无线连接。 c c、ARP:地址解析协议,实现通过P IP地址得知其物理地址。 在P TCP/IP网络环境下,每个主机都分配了一个232位的P IP 地址,这种互联网地址是在网际范围标本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 识主机的一种逻辑地址。 为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。 这样就存在把P IP地址变换成物理地址的地址转换问题。
协议分析综合实验报告
协议分析综合实验报告 专业:电子信息科学与技术(1)班 组员: 学号: 时间:2014-12-01 一、实验目的:利用wireshark 抓包工具,结合课本,分析分层的网络结构协议体系: 二、基本步骤: 一、利用任意一台能够访问互联网的主机,安装wireshark抓包工具。 二、关闭所有应用层程序。如qq,ie浏览器,pptv等。 三、打开抓包工具,开始抓包。 四、打开IE浏览器,输入新浪WEB服务器的域名:https://www.360docs.net/doc/e8382577.html,,回车。 五、访问新浪主页成功后,立即停止抓包。 六、分析所抓的数据包,找出主机跟新浪WEB服务器之间通信的数据包,按应用层、运输 层、网络层、数据链路层这四个层次,分析其具体工作过程,分别各层用到了哪些协议。 (新浪WEB服务器的IP地址是58.67.149.250) 三、实验分析过程 下图是用Wireshark软件进行抓包数据分析的截图,下面将选取1906号帧来进行相应的层次与过程分析:
1.数据链路层分析 PPPoE会话阶段以太网帧的协议填充为Ox8864.代码填充Ox00,整个会话的过程就是PPP的会话过程,但在PPPOE数据内的PPP数据帧是冲协议域开始的。此过程所用到的协议是IP协议。 2.网络层分析 该层所涉及的协议是IP协议,源地址是121.14.1.190,目的地址是119.124.31.253,区分服务字段为Ox00(DSCP:Ox00:Default;ECN:Ox00),默认的DSCP的值是0,相当于尽力传送。IP包的总长度为64,标志字段为Ox91d5,标记字段为Ox00,没有分片,其偏移量为0,生存时间为57,当减少为0时,该数据包将被丢弃以保证数据包不会无限制的循环,因为 wireshark不自动做TCP校验和的检验,所以显示为validation disabled
实验1:网络数据包的捕获与协议分析
实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10
实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping https://www.360docs.net/doc/e8382577.html,,观察执行后的结果并记录。
此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结
协议分析实验报告doc
协议分析实验报告 篇一:实验七、UDP 协议分析实验报告 实验七、UDP 协议分析实验报告 序号:姓名:学号:成绩 1.实验目的: 分析UDP协议报文格式. 2.实验环境: 局域网环境,或者是联网的单机。 3.实验步骤: (1)启动ethereal软件,开始报文捕获。 (2)捕获UDP的数据包 (3)停止捕获报文。 4.实验分析,回答下列问题 (1)请说明你是如何获得UDP的捕获文件,并附上捕获的截图。 答:①启动Etherel协议分析软件,并开始抓包。 ②启动某个基于udp的应用程序,例如连接某个FTP站点,或通过浏览器访问某个网页。③等出现浏览的网页后停止数据包的捕获。 ④出现协议分析界面,将filter 一栏填入udp,则只显示udP协议信息信息。 (2)通过捕获的数据包分析UDP的报文结构,将UDP
协议树中各名字字段,字段长度, (3)通过和实验六的结果比较,UDP报文和TCP报文结构有何区别? 答:UDP报文由源端口号、目的端口号、长度、检验和、应用数据报文五个部分组成。而TCP报文结构除此之外还有 1)32比特的序号字段 (2)32比特的确认号字段 (3)16比特的接收窗口字段,用于流量控制 (4)4比特的首部长度字段 (5)可选与变长字段,用于发送方与接收方协商最大报文段长度 (6)比特的标志字段,用于对已被成功接收报文段的确认。 (4)通过实验六和实验七,分析TCP协议和UDP协议的不同之处。 答:TCP协议是可靠的传输协议,具有流控制和拥塞控制,能够防止数据的丢失,还有确认重发机制保证数据的到达,应用于不允许数据丢失但对带宽无严格要求的服务。 UDP协议是不可靠的传输协议,无流控制和拥塞控制,是尽力服务机制,可最大程度的利用带宽,传输速率较快,应用于对带宽有严格要求但可以容忍数据丢失的服务。 篇二:实验三 IP协议分析实验
网络协议分析实验报告
课程设计 课程设计题目网络协议分析实验报告学生姓名: 学号: 专业: 2014年 6 月 29日
实验1 基于ICMP的MTU测量方法 实验目的 1)掌握ICMP协议 2)掌握PING程序基本原理 3)掌握socket编程技术 4)掌握MTU测量算法 实验任务 编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能: 1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU; 2)输出到目标主机经过网络的MTU。 实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。 实验步骤 1.首先仔细研读ping.c例程,熟悉linux下socket原始套接字编程模式,为实验做好准备; 2.生成最大数据量的IP数据报(64K),数据部分为ICMP格式,ICMP报文为回送请求报 文,IP首部DF位置为1;由发送线程发送; 3.如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。 至此,MTU测量完毕。
ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。[1] 它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol 8bit)的值=1.
ICMP原理 ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。 我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.是IP层的一个协议。但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP协议来发送。ICMP数据报的数据发送前需要两级封装:首先添加ICMP 报头形成ICMP报文,再添加IP报头形成IP数据报 通信术语最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 实验2 基于UDP的traceroute程序 实验目的 1)掌握UDP协议 2)掌握UDP客户机/服务器编程模式 3)掌握socket编程技术 4)掌握traceroute算法
传输层协议分析实验报告
2. 传输层协议分析 2.A 数据包捕获分析部分 2.1 实验目的 理解TCP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输中编号与确认的作用。 2.2 实验内容 应用TCP应用程序传输文件,截取TCP报文,分析TCP报文首部信息,TCP连接的建立过程,TCP数据的编号和确认机制。 2.3 实验原理 TCP协议是传输控制协议的简称,工作在网络层协议之上,是面向连接的,可靠的,端到端的传输层协议。 1) TCP的报文格式 TCP报文段分为头部和数据两部分,如图1: 图1 TCP报文段的总体结构 TCP报文段首部又分为固定部分和选项部分,固定部分为20B,如图2所示,这些字段的组合实现了TCP的所有功能。 图2 TCP报文段的首部
0 15 31 连接释放三个阶段。 2) TCP连接的建立 TCP连接建立采用“3次握手”方式。 首先,主机A的TCP向主机B的TCP发出连接请求报文段,其首部中的同步位SYN 应置1,同时选择一个序号X,表明在后面传送数据时的第一个数据字节的序号是X+1,如图3所示:
然后,主机B的TCP收到连接请求报文段后,若同意,则发回确认。在确认报文段中应将SYN和ACK都置1,确认号应为X+1,同时也为自己选择一个序号Y。 最后,主机A的TCP收到B的确认后,要向B发回确认,其ACK置1,确认号为Y+1,而自己的序号为X+1。TCP的标准规定,SYN置1的报文段都要消耗掉一个序号。同时,运行客户进程的主机A的TCP通知上层应用进程,连接已经建立。当主机A向B发送第一个数据报文段时,其序号仍为X+1,因为前一个确认报文段并不消耗序号。 当运行服务器进程的主机B的TCP收到主机A的确认后,也通知其上层应用进程,连接已经建立。 另外,在TCP连接建立的过程中,还利用TCP报文段首部的选项字段进行双方最大报文段长度MSS协商,确定报文段的数据字段的最大长度。双方都将自己能够支持的MSS写入选项字段,比较之后,取较小的值赋给MSS,并应用于数据传送阶段。 3) TCP数据的传送 为了保证TCP传输的可靠性,TCP采用面向字节的方式,将报文段的数据部分进行编号,每个字节对应一个序号。并在连接建立时,双方商定初始序号。在报文段首部中,序号字段和数据部分长度可以确定发送方传送数据的每一个字节的序号,确认号字段则表示接收方希望下次收到的数据的第一个字节的序号,即表示这个序号之前的数据字节均已收到。这样既做到了可靠传输,又做到了全双工通信。 当然,数据传送阶段有许多复杂的问题和情况,如流量控制、拥塞控制、重传机制等,本次实验不探究。
IP协议分析实验报告
广东第二师范学院计算机科学系实验报告 计算机网络 实 验 报 告 实验名称: IP协议分析 实验分组号: 实验人:郑微微 班级: 12计算机科学系本四B班 学号: 12551102019 实验指导教师:阮锦新 实验场地:网络实验室706 实验时间: 2014年11月 17号 成绩:
一、实验目的 1、掌握IP协议分析的方法 2、掌握TCP/IP体系结构 3、加深网络层协议的理解 4、学会使用网络分析工具 二、实验要求 1、实验前下载安装Ethereal/Wireshark/Sniffer中的一款网络分析工具软件 2、了解网络分析工具软件的常见功能与常见操作 3、每位学生必须独立完成所有实验环节 三、实验环境 1、操作系统:Windows XP/Windows 7/Windows 2008 2、已安装网络分析工具软件 3、PC机能访问互联网 四、实验内容及原理 1、实验内容 (1)IP头的结构 (2)IP报文分析 2、实验原理 网络之间互连的协议(Internet Protocol,IP)就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。 IP报文由报头和数据两部分组成,如图1所示: 图1 IP报文格式 五、需求分析 IP协议是TCP/IP体系中两个主要的协议之一,而IP地址位于IP数据报的首部,在网络层及以上使用的是IP地址,因此在数据链路层是看不见数据报的IP地址,另外首部的前一部分是固定长度,共20字节。在TCP/IP的标准中,各种数据格式常以32位为单位来描述,通过分析IP数据报的格式就能够知道IP协议都具有哪些功能。 六、实验步骤 1、打开网络分析工具软件
云南大学软件学院计算机网络原理实验六TCP 协议分析实验报告
实验六、TCP 协议分析实验报告1.实验目的: 理解TCP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输过程中编号与确认的过程。 2.实验环境: 连网环境,可以是局域网,也可以是连入Internet的单机。 3.实验步骤: (1)启动Etherel协议分析软件,并开始抓包。 (2)启动某个基于TCP的应用程序,例如连接某个FTP站点,或通过浏览器访问某个网页。 (3)等出现浏览的网页后停止数据包的捕获。 (4)出现协议分析界面,将filter 一栏填入tcp,则只显示TCP协议信息,通过此信息,可以看到TCP连接的三次握手过程和协商的初始的序列号,数据传输过程以及拆除连接的相应信息。 4.实验分析,回答下列问题 打开捕获文件tcp-ethereal-trace-1,通过捕获的数据包分析TCP建立连接的三次握手的过程,并将TCP建立连接过程中的三个报文填写下来。 字段名称第一条报文第二条报文第三条报文 报文序号123 Sequence Number001 无11 Acknowedgement Numbber ACK011 SYN110 (1)TCP建立连接时的三个报文,其报文首部与其他TCP报文有什么不同? 答:其报文首部比别的报文多了OPTION的字段。 (2)报文首部的OPTION字段的作用是什么?值为多少? 答:至少一字节的可变长字段,表示选项是否有效。若没有选项,则字节长度为0,说明选项结束。字节为1,表示无需再有这个操作。
值为至少一字节的的可变长字段的长度。 (3)分析TCP数据传输阶段的前8个报文,将报文信息填入到表中 报文序号报文种类 (发送/ 确认)序号字段确认号字 段 数据长度被确认报 文序号 4发送115653 5发送566114604 6确认156605 7发送2026114606 8发送3486114607 9确认1202608 10发送4946114609 11发送64061146010 数据传送阶段第一个报文的序号字段值是否等于连接建立时第三个报文的序号? 答:是相等的 数值均为1. (4)捕获一个拆除TCP连接的数据包,附上捕获截图,主要要包含拆除连接的数据包部分,分析TCP释放连接的过程,选择TCP释放连接过程当中的四个报文,将报文信息填在下表。 字段名称第一条报文第二条报文第三条报 文第四条报文 报文序号135136137138 Sequence Number 21344214 Acknowedgement Numbber 42142145
计算机网络网络协议分析实验报告
红河学院工学院计算机实验中心实验报告单 专业:计算机科学与技术学号:姓名: 实验日期:2012-10-16 成绩: 课程名称:《计算机网络实验》 实验名称:网络协议分析-以太网及ARP协议 一、实验目的 1、了解以太网协议。 2、了解arp协议的原理。 3、使用Ethereal软件观察以太帧的结构。 4、使用Ethereal软件观察arp地址解析过程。 二、实验内容 1、在Ethereal来观察ping命令中产生的以太数据帧结构。 2、在Ethereal观察arp协议中地址解析过程。 三、实验设备、环境及拓扑图 实验环境: 1、硬件环境:CPU p4 2.0,内存1G,硬盘64G以上; 2、软件环境:VMware虚拟机7.0.1;Windows Server 2003 Enterprise Edition, Ethereal10.10.12. 四、实验步骤 1、主机地址配置 (1)配置主机IP地址及子网掩码。
2、启动Ethereal,设置过滤器,开始捕捉。 (1)在客户机上运行Ethereal。 (2)选择Ethereal菜单“Capture”——“Interface”,选择“本地连接”所在接口。 (3)设置包捕捉过滤器。在捕捉选项设置窗口中,设置过滤器为“host 192.168.34.150”,其余选项不变。
(4)点击“Start”按钮开始捕获数据包。
3、在客户机上用ping命令访问服务器在客户机的命令窗口下输入: Ping 192.168.34.150
4、停止数据包捕捉 点击Ethereal的捕捉窗口中的“Stop”按钮停止数据包捕捉。 5、查看捕获的数据包 (1) 在Ethereal中查看所有的窗口显示内容。 (2)查看以太帧中的目的地址和源地址。 (3)查看捕获的以太帧中“类型”字段有哪些。 (4)保存捕获结果。
OSPF路由重分布及路由汇总分析实验《协议分析》实验报告模板
《网络协议分析》实验报告
在如上图所示的拓朴中,先为各路由器配置接口 IP ,然后在各路由器上配置 RIPv2路由协议, 使得PC1、PC2相互之间可以连通。并在 R3与R4之间的串口配置 RIPv2认证。同时验证认证 配置起了 作用。 在对R1进行配置之前,在 R3的S0/0端口和R4的S0/0端口上抓包: Dyn age n=>capture R3 S0/0 ripl.pcap hdlc Dyn age n=>capture R4 S0/0 rip2.pcap hdlc 1、 对于各串行链路,女口 R3,配置接口如下: R3#conf t R3(co nfig)#i nt s0/0 R3(config-if)#ip add R3(co nfig-if)#clock rate 252000 R3(co nfig-if)# no sh R3(co nfig-if)#e nd 对于各快速以太网接口,如 R1,配置接口 IP 地址如下: R1#conft R1(co nfig)#i nt f1/0 R1(c on fig-if)# no switchport R1(config-if)#ip add R1(co nfig-if)# no sh R1(co nfig-if)#e nd 2、 配置RIP 路由协议: 在R1上配置RIP 路由协议如下: ■i ) E3/1LOQ5 D.l 也驻 SOrti: 10.0 152^30* HC 6.2^0- ^0;t0.2.2S.b3O- M22:E/24 RT T 帧 172 1f :305 Qf : 皿 ■F^O 177 ti? 4 1/24 SO/1 172.16 24 IB 如 102^.^04- pw 102.^ t PG& 1 Jw 10 O 刃 I PE 5】匚QV l ? PCH* E3/D:iaO5.1XM-^/ EVO 1C £61^4 利 W I iJ/l 10 2.2.1^ ^4 :J2 16 4 = / SO^t ? 2.2■&胡 EMM 城 g 30/0: li ] :3 23O , SO/O it 045 W E3/0 10.1 1 1/24.' PC1 + 10.1 ;却曲 G UJ : D.l l.lp ■ '超就L E3/0 1 口 1 J.1/24-J 区域弘E (y Cw 173.16.^ L.' a
实验报告:使用软件Wireshark分析网络协议
中小型网络组建实验报告实验名称:使用软件Wireshark 分析网络协议 班级:通信 姓名: 学号: '、实验目的 1、熟悉并掌握wireshark的基本使用; 2、了解网络协议实体间进行交互以及报文交换的情况; 3、具体分析ICMP网络协议。
】、实验设备 四台PC机,双绞线四条,宽带路由器一台 与因特网连接的计算机,操作系统为Windows ,安装有Wireshark、IE等软件。 三、实验原理 ICMP 全称In ter net Con trol Message Protocol ,中文名为因 特网控制报文协议。它工作在OSI的网络层,向数据通讯中的源主机报告错误。ICMP可以实现故障隔离和故障恢复。网络本身是不可 靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。网络层的IP协议是一个无连接的协议,它不会处理网络层传输中的故障,而位于网络层的ICMP协议却恰好弥补了IP的缺限,它使用IP 协议进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息反馈。 ICMP的报头长8字节,结构如图所示。 比特0 (图 类型:标识生成的错误报文,它是ICMP报文中的第一个字段; 代码:进一步地限定生成ICMP报文。该字段用来查找产生错误的原因; 校验和:存储了ICMP所使用的校验和值。
未使用:保留字段,供将来使用,起值设为0 数据:包含了所有接受到的数据报的IP报头。还包含IP数据报中前8个字节的数据;
四、实验容和分析 1、ICMP 协议分析 步骤1:在PC1运行 Wireshark ,开始截获报文,为了只截获 和实验容有关的报文,将 Wireshark 的Captrue Filter 设置为“No Broadcast and no Multicast ” ; 步骤2 :在PC1上,在命令行窗口执行 Ping 命令,要求ping 通10次; 将命令行窗口进行截图: Packets* Sent - 10* Received - 10, Lost * 0 <0>: loss Approximate round trip tines in nilli-seconds : Mininun = 19msJlaKinum - 20ns, Average = 19ms 步骤3:停止截获报文,分析截获的结果。 1) 将抓包结果进行截图 ■ 1024X4P - WirFTjhflik £i le- fdit Viffiw C^cture Ana e 空1朋圧 tiu Tack Help 卑軌牌ei 存 亠宙蔦爭上 ; f J. g .「a 已 卡代割H K hirer 即 Eiprei TCP/IP协议分析及应用实验报告 学号:姓名:班级: 实验项目编号:B03862704 实验项目名称:传输控制协议TCP 一、实验目的: 1. 掌握TCP协议的报文格式。 2. 掌握TCP连接的建立和释放过程。 3. 掌握TCP数据传输中编号与确认的过程。 4. 掌握TCP协议校验和的计算方法。 5. 理解TCP重传机制。 二、实验环境: Win dows server 2003 TCP/IP协议分析及应用教学实验平台 三、实验原理(或要求) TCP报文格式 16位源端口号16位目的端口号 32位序号 32位确认序号 选项 数据 TCP连接的建立 TCP是面向连接的协议。在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq和来自对方成功传输确认的应答号ack(指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN应答信号写为ACK 整个同步的过程称为三次握手,如图: S¥X:soq^X+i Ani;ack^Y+l TCP 连接的释放 对于一个已经建立的连接, TCP 使用四次握手来结束通话(使用一个带有 FIN 附加标记的 报文段)。如图 应用程序关闭连腰 通知自包的应用程序* ■对方墓求关闭连按 -应用稈序关闭连接」 ACK:ack=YH TCP 重传机制 TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到 期,但还没有收 到确认,就要重传这一报文段。 四、实验步骤: 练习一:察看TCP 连接的建立和释放 主机B 、C 、D 启动协议分析器进行数据捕获,并设置过滤条件(提取TCP 协议) 主机A 启动仿真编辑器,进入TCP 连接视图。在“服务器信息/IP 地址”中填入 主机C 的IP 地址;使用“端口扫描”获取主机 C 的TCP 端口列表,在“服务器 信息/端口”中填入主机C 的一个TCP 端口(大于1024);点击“连接”按钮进行 连接。 察看主机B 、C D 捕获的数据,填写下表。 字段名称 报文1 报文2 报文3 Seque nee Number Ack no wledgeme nt Number ACK SYN TCP 连接建立时,前两个报文的首部都有一个“ maximum segment size ”字段, 它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分 析此数据是怎样得出的。 SVX :soq=¥ ACK:ack=X+l p[N :seq=X ACKzackM FIN r seQ-Y P ACK: ack=X+l 1 深圳大学实验报告 实验课程名称:计算机网络 实验项目名称:使用wireshark进行协议分析 学院:计算机与软件学院专业:计算机科学与技术 报告人:邓清津学号:2011150146 班级:2班同组人:无 指导教师:杜文峰 实验时间:2013/6/10 实验报告提交时间:2013/6/10 教务处制 一、实验目的与要求 学习使用网络数据抓包软件.学习使用网络数据抓包软件wireshark,并对一些协议进行分析。 二、实验仪器与材料 Wireshark抓包软件 三、实验内容 使用wireshark分析各层网络协议 1.HTTP协议 2.ARP协议,ICMP协议 3.IP协议 4.EthernetII层数据帧 为了分析这些协议,可以使用一些常见的网络命令。例如,ping等。 四、实验步骤 1、安装Wireshark,简单描述安装步骤: 2、打开wireshark,选择接口选项列表。或单击“Capture”,配置“option” 选项。 3.点击start后,进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。 4. 开始分组捕获后,会出现如图所示的分组捕获统计窗口。该窗口统计显示各类已捕获分组的数量。在该窗口中有一个“stop”按钮,可以停止分组的捕获。 一、分析HTTP协议 1.在浏览器地址栏中输入某网页的URL,如:https://www.360docs.net/doc/e8382577.html,。为显示该网页,浏览器需要连接https://www.360docs.net/doc/e8382577.html,的服务器,并与之交换HTTP消息,以下载该网页。包含这些HTTP消息的以太网帧(Frame)将被WireShark捕获。 2. 在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示HTTP消息。 3.点击其中一个http协议包 协议分析与实现实验报告 篇一:IP协议分析实验报告 广东第二师范学院计算机科学系实验报告计算机网络 实 验 报 告 实验名称: IP协议分析 实验分组号: 实验人:郑微微 班级:12计算机科学系本四B班 学号: 12551102019 实验指导教师:阮锦新 实验场地:网络实验室706 实验时间:20XX年11月 17号 成绩: 一、实验目的 1、掌握IP协议分析的方法 2、掌握TCP/IP体系结构 3、加深网络层协议的理解 4、学会使用网络分析工具 二、实验要求 1、实验前下载安装Ethereal/Wireshark/Sniffer中的一款网络分析工具软件 2、了解网络分析工具软件的常见功能与常见操作 3、每位学生必须独立完成所有实验环节 三、实验环境 1、操作系统:Windows XP/Windows 7/Windows 20XX 2、已安装网络分析工具软件 3、PC机能访问互联网 四、实验内容及原理 1、实验内容 IP头的结构 IP报文分析 2、实验原理 网络之间互连的协议(Internet Protocol,IP)就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。 IP报文由报头和数据两部分组成,如图1所示: 图1 IP报文格式 五、需求分析 IP协议是TCP/IP体系中两个主要的协议之一,而IP地址位于IP数据报的首部,在网络层及以上使用的是IP地址,因此在数据链路层是看不见数据报的IP地址,另外首部的前一部分是固定长度,共20字节。在TCP/IP的标准中,各种数据格式常以32位为单位来描述,通过分析IP数据报的格式就能够知道IP协议都具有哪些功能。 六、实验步骤 1、打开网络分析工具软件 2、抓取浏览器数据包 启动网络分析工具软件,设置抓包过滤条件。 启动浏览器,在地址栏输入要访问的IP地址。 关闭浏览器,停止抓包。 存储所捕获的数据包。 分析数据包。 七、实验分析 1.启动网络分析工具软件,设置抓包过滤条件为“==” 2.启动浏览器,访问网易邮箱,在命令运行窗口ping 它的网址“” 在网络分析工具软件中输入要访问的IP地址“” 3.选取一段报文,报文信息截图如下: 计算机网络实验报告 一、实验目的: 1. 掌握ARP协议的报文格式 2. 掌握ARP协议的工作原理 3. 理解ARP高速缓存的作用 4. 掌握ARP请求和应答的实现方法 5. 掌握ARP缓存表的维护过程 二、实验步骤: … 一,完成网络环境的配置,并进行拓扑验证。 预期问题:拓扑验证出现错误。必须严格按照附录中的拓扑图进行网络环境的配置,如有错误不能向下进行实验。因为在错误的网络配置环境下做的实验结果也是无意义的。 二,完成采集网络传输数据前的准备工作。 【 网关的设定;开通静态路由;主机 A ping 主机 E 成功;清空 ARP 高速缓存;设置协议分析器的过 滤条件; 预期问题:网关设定错误,没有在主机 B 开启静态路由都会造成主机 A Ping 主机 E 不成功。 三,开始实验,启动协议分析器,开始捕获数据。 预期问题:必须先开启数据捕获,再执行主机 A ping 主机 E 操作,否则获取不到数据。 ! 四,查看采集到的 ARP 报文,对实验结果进行截图、记录。五,关闭实验平台,将实验系统恢复原状,完成实验。 配置完毕,进行拓扑验证: % 拓扑验证完毕,各角色的地址如下表所示: 2.实验结果及现象: 图示为A角色捕获到的ARP-request 图示说明:方向:(主机 A)→子网内的所有主机 内容:ARP‐request 协议解析树: Ethernet 目的 MAC 地址= FFFFFF‐FFFFFF :向子网内所有主机发送 源 MAC 地址=6C626D‐707DCE:主机 A 的 MAC 地址 ` 协议类型或数据长度=0806(ARP 协议):ARP 协议ARP(地址解析议)硬件类型=1 协议类型=0800 硬件地址长度=6 协议地址长度=4TCPIP协议分析实验报告
(完整)使用wireshark进行协议分析实验报告
协议分析与实现实验报告
计算机网络ARP地址协议解析实验报告