网络协议分析实验报告 (2)
《使用wireshark进行网络协议分析》实验报告

《计算机网络与通信原理》课程实验报告Wireshark和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
(2)Wireshark的显示过滤器显示过滤器可以根据1)协议2)是否存在某个域3)域值4)域值之间的比较来查找感兴趣的数据包。
注意:捕获过滤器(Capture Filters)和显示过滤器(Display Filters)的语法规则是不同的。
值比较表达式可以使用下面的操作符来构造:●eq ==,如ip.addr==10.1.10.20●ne !=,如ip.addr!=10.1.10.20●gt >,如frame.pkt_len>10●lt <,如frame.pkt_len<10●ge >=,如frame.pkt_len>=10●le <=,如frame.pkt_len<=10可以使用下面的逻辑操作符将表达式组合起来:●and &&逻辑与,如ip.addr=10.1.10.20 && tcp.flag.fin●or || 逻辑或,如ip.addr=10.1.10.20||ip.addr=10.1.10.21●not ! 逻辑非,如!llc例如:IP 地址是192.168.2.10 的主机,它所接收收或发送的所有的HTTP 报文,那么合适的Filter(过滤器)就是:ip.addr == 192.168.2.10 && http。
提示:Filter的背景显示出表达式的合法与否,绿色为合法,红色为否。
(3)菜单Capture的Options说明Interface:选择采集数据包的网卡IP address:选择的网卡所对应的IP地址Link-layer header type:数据链路层的协议,在以太网中一般是Ethernet IIBuffer size:数据缓存大小设定,默认是1M字节。
TCP IP网络协议分析实验报告

TCP/IP网络协议分析实验一、实验目的1. 通过实验,学习和掌握TCP/IP协议分析的方法及其相关工具的使用;2. 熟练掌握 TCP/IP体系结构;3. 学会使用网络分析工具;4. 网络层、传输层和应用层有关协议分析。
二、实验类型分析类实验三、实验课时2学时四、准备知识1.Windows 2003 server 操作系统2.TCP/IP 协议3.Sniffer工具软件五、实验步骤1.要求掌握网络抓包软件Wireshark。
内容包括:●捕获网络流量进行详细分析●利用专家分析系统诊断问题●实时监控网络活动●收集网络利用率和错误等2.协议分析(一):IP协议,内容包括:●IP头的结构●IP数据报的数据结构分析3.协议分析(二):TCP/UDP协议,内容包括:●TCP协议的工作原理●TCP/UDP数据结构分析六、实验结果1.IP协议分析:(1)工作原理:IP协议数据报有首部和数据两部分组成,首部的前一部分是固定长度,共20字节,是IP数据报必须具有的。
首部分为,版本、首部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议、首部检验和、源地址、目的地址、可选字段和数据部分(2)IPV4数据结构分析:2.TCP协议分析:(1)工作原理:TCP连接是通过三次握手的三条报文来建立的。
第一条报文是没有数据的TCP报文段,并将首部SYN位设置为1。
因此,第一条报文常被称为SYN分组,这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。
连接时不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。
(2)TCP数据结构分析第一次握手:第二次握手:第三次握手:3.UDP协议分析:(1)工作原理:与我们所熟悉的TCP一样,UDP协议直接位于IP的顶层。
根据OSI(开放系统互联)参考模型,UDP和TCP都属于传输层协议。
UDP的主要作用是将网络数据流量压缩成数据报的形式。
网络协议适配实验报告(3篇)

第1篇 一、实验目的 1. 理解网络协议的基本概念和作用。 2. 掌握不同操作系统下网络协议的实现方法。 3. 学习网络编程的基本技能,实现跨平台网络通信。 4. 提高对网络协议适配问题的分析和解决能力。 二、实验环境 1. 操作系统:Windows 10、Ubuntu 18.04 2. 编程语言:C++ 3. 开发工具:Visual Studio、Code::Blocks、g++(Linux) 三、实验内容 1. 网络协议概述 2. TCP协议编程 3. 跨平台网络编程 四、实验步骤 1. 网络协议概述 (1)了解网络协议的概念、作用和分类。 (2)学习常见网络协议,如TCP/IP、HTTP、HTTPS、FTP、SMTP、DHCP和DNS等。 (3)掌握网络协议在数据传输、错误检测与纠正、资源管理、安全性和兼容性等方面的作用。
2. TCP协议编程 (1)创建TCP服务器端程序 在Windows平台上,使用Winsock库创建socket,绑定IP地址和端口,监听连接,接收和发送数据,关闭连接。 ```cpp // Windows平台下的TCP服务器端程序 include pragma comment(lib, "ws2_32.lib") int main() { WSADATA wsaData; SOCKET serverSocket, clientSocket; sockaddr_in serverAddr, clientAddr; int clientAddrLen = sizeof(clientAddr); // 初始化Winsock WSAStartup(MAKEWORD(2, 2), &wsaData); // 创建socket serverSocket = socket(AF_INET, SOCK_STREAM, 0); if (serverSocket == INVALID_SOCKET) { printf("Failed to create socket.\n"); WSACleanup(); return 1; } // 设置服务器地址 memset(&serverAddr, 0, sizeof(serverAddr)); serverAddr.sin_family = AF_INET; serverAddr.sin_addr.s_addr = INADDR_ANY; serverAddr.sin_port = htons(8080); // 绑定socket if (bind(serverSocket, (sockaddr)&serverAddr, sizeof(serverAddr)) == SOCKET_ERROR) {
协议分析实验报告

协议分析实验报告协议分析实验报告一、引言在现代信息社会中,网络通信已经成为人们生活中不可或缺的一部分。
而网络通信的基础是各种协议的运行与应用。
协议分析作为网络安全领域的一个重要研究方向,旨在对网络协议进行深入研究和分析,以发现其中的安全漏洞和潜在威胁。
本实验旨在通过对某一特定协议的分析,探索其安全性,并提出相应的改进措施。
二、实验目的本实验的主要目的是对XXX协议进行深入分析,发现其中可能存在的安全问题,并提出相应的解决方案。
通过实际的协议分析实验,加深对网络安全的认识和理解,提高分析和解决网络安全问题的能力。
三、实验方法1. 收集协议数据包:通过网络抓包工具,获取一定数量的XXX协议数据包,以便后续的分析和研究。
2. 数据包解析:使用专业的协议解析工具,对收集到的数据包进行解析,获取其中的各个字段和信息。
3. 协议分析:对解析得到的数据包进行分析,包括协议的结构、数据传输方式、安全机制等方面的研究,以发现其中的潜在问题。
4. 安全漏洞挖掘:通过对协议的深入分析,结合已知的安全漏洞和攻击手法,尝试发现协议中可能存在的安全漏洞,并进行漏洞挖掘。
5. 解决方案提出:针对发现的安全问题,提出相应的解决方案和改进措施,以提高协议的安全性和可靠性。
四、实验结果与讨论通过对XXX协议的深入分析,我们发现了其中存在的几个安全问题。
首先,协议中的身份验证机制较为薄弱,容易受到中间人攻击。
其次,协议中的数据传输方式存在明文传输的情况,容易被窃取或篡改。
此外,协议的加密算法使用较为简单,无法抵抗高级的密码攻击手法。
针对这些问题,我们提出了以下的解决方案和改进措施。
首先,加强协议中的身份验证机制,采用更安全可靠的身份验证方式,如公钥加密算法和数字证书。
其次,对数据传输进行加密处理,使用强大的加密算法,确保数据的机密性和完整性。
此外,还可以引入数字签名等机制,提高协议的抗攻击能力。
五、实验总结通过本次协议分析实验,我们对XXX协议进行了深入的研究和分析,发现了其中存在的安全问题,并提出了相应的解决方案和改进措施。
网络层协议分析实验报告

1、网络层协议分析1.A 数据包捕获分析部分1.A.1、实验目的1)、了解ICMP 协议报文类型及作用。
2)、理解IP协议报文类型和格式。
3)、分析ARP 协议的报文格式,理解ARP 协议的解析过程。
1.A.2、实验内容介绍1)、ICMP协议分析实验执行ping 和tracert 命令,分别截获报文,分析截获的ICMP 报文类型和ICMP 报文格式,理解ICMP 协议的作用。
2)、IP协议分析实验使用Ping 命令在两台计算机之间发送数据报,用Wireshark 截获数据报,分析IP 数据报的格式,理解IP V4 地址的编址方法,加深对IP 协议的理解。
3)、IP 数据报分片实验我们已经从前边的实验中看到,IP 报文要交给数据链路层封装后才能发送。
理想情况下,每个IP 报文正好能放在同一个物理帧中发送。
但在实际应用中,每种网络技术所支持的最大帧长各不相同。
例如:以太网的帧中最多可容纳1500 字节的数据,这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。
TCP/IP 协议在发送IP 数据报文时,一般选择一个合适的初始长度。
当这个报文要从一个MTU 大的子网发送到一个MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。
每个较小的报文被称为一个分片(Fragment)。
每个分片都有一个IP 报文头,分片后的数据报的IP 报头和原始IP 报头除分片偏移、MF 标志位和校验字段不同外,其他都一样。
重组是分片的逆过程,分片只有到达目的主机时才进行重组。
当目的主机收到IP 报文时,根据其片偏移和标志MF 位判断其是否一个分片。
若MF 为0,片偏移为0,则表明它是一个完整的报文;否则,则表明它是一个分片。
当一个报文的全部分片都到达目的主机时,IP 就根据报头中的标识符和片偏移将它们重新组成一个完整的报文交给上层协议处理。
实验二 应用层协议分析实验报告

实验二应用层协议分析实验报告序号:姓名:谢文清学号: 20111120231 成绩1.实验目的:分析HTTP协议报文的首部格式,理解HTTP协议的工作过程;分析DNS的工作过程。
2.实验环境:(1)连入Internet的主机一台(2)主机安装Ethereal软件3.实验步骤:a.下载一个非常简单的HTML文件(该文件不嵌入任何对象),利用Ethereal软件分析HTTP 协议。
(1)启动Web browser。
清空浏览器的缓存。
(2)启动Ethereal,开始Ethereal分组俘获。
(3)在打开的Web browser窗口中可输入下列地址之一✓/ethereal-labs/HTTP-ethereal-file1.html✓/ethereal-labs/HTTP-ethereal-file2.html✓/ethereal-labs/HTTP-ethereal-file3.html✓/IETF-Standards-Process.html✓/~danr/courses/6761/Fall00/✓/rfc-index.html✓/rfc/rfc959.txt✓/CurrQstats.txt✓/ietf/1bof-procedures.txt浏览器中将显示一个只有一行或多行文字的非常简单的HTML文件。
(4)停止分组俘获。
在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
将捕获结果保存为test1。
(5)根据结果回答下列问题回答实验a的问题。
实验b.下载一个含多个嵌入对象的网页,利用Ethereal软件分析HTTP协议。
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Ethereal分组俘获器。
开始Ethereal分组俘获。
(3)在浏览器的地址栏中输入某个地址,(需要满足该地址下的网页是包含多个内嵌对象即可)。
(4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
TCP/ IP网络协议分析网络协议分析实验报告(简洁)
广东警官学院《计算机网络》
实验报告
课程名称计算机网络原理
实验学期 2011 至 2012 学年第二学期
学生所在系部计算机系
年级 2010 专业班级计算机科学与技术3班
学生姓名陆长鹏学号 201007140315 任课教师
实验成绩
计算机系制
实验报告须知
1、学生上交实验报告时,必须为打印稿(A4纸)。
页面空间不够,可以顺延。
2、学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、
内容、结果及分析等。
3、教师应该填写的内容包括:实验成绩、教师评价等。
4、教师根据本课程的《实验指导》中实验内容的要求,评定学生的综合性实验成
绩;要求在该课程期末考试前将实验报告交给任课教师。
综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。
任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。
5、未尽事宜,请参考该课程的实验大纲和教学大纲。
《计算机网络原理》课程综合性实验报告
开课实验室:网络工程实验室2012 年月日。
重邮网络协议分析实验报告
重邮网络协议分析实验报告篇一:网络协议分析实验报告网络协议分析实验报告学院:班级:姓名:学号:1实验1 基于ICMP的MTU测量方法实验目的1)掌握ICMP协议2)掌握PING程序基本原理3)掌握socket编程技术4)掌握MTU测量算法实验任务编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能:1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU;2)输出到目标主机经过网络的MTU。
实验环境1)Linux系统;2)gcc编译工具,gdb调试工具。
实验步骤1. 首先仔细研读例程,熟悉linux下socket原始套接字编程模式,为实验做好准备;2. 生成最大数据量的IP数据报(64K),数据部分为ICMP格式,ICMP报文为回送请求报文,IP首部DF位置为1;由发送线程发送;3. 如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。
至此,MTU测量完毕。
实验原理ICMP:ICMP是(Internet Control Message Protocol)Internet控制报文协议。
它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
PING程序基本原理:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者。
MTU:是网络最大传输单元(包长度),IP路由器必须对超过MTU的IP报进行分片目2的主机再完成重组处理,所以确定源到目的路径MTU 对提高传输效率是非常必要的。
确定路径MTU的方法是“要求报文分片但又不被允许”的ICMP 报文。
IPV4数据结构分析:34实验截图发送一系列的长度递减的不允许分片的数据报,通过接收返回的ICMP报的分析,可确定路径MTU,如下图所示:MTU值为14305篇二:网络协议分析实验报告课程设计课程设计题目学生姓名:学号:专业:XX年 6 月 29日实验1 基于ICMP的MTU测量方法实验目的1)掌握ICMP协议2)掌握PING程序基本原理3)掌握socket编程技术4)掌握MTU测量算法实验任务编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能:1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU;2)输出到目标主机经过网络的MTU。
协议分析实验报告
协议分析实验报告篇一:实验七、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协议分析实验实验报告班级: 0906401姓名:吴朋发学号:3 6 实验日期:评分:_____________1. 实验名称IP协议分析实验 2. 实验学时2学时 3. 实验类型设计型 4. 实验目的1、分析IP基本IP报头结构,给出每一个字段的值及其含义,加深对IP V4协议理解。
网络协议实验报告讲解
网络协议实验报告讲解引言在计算机网络中,网络协议是指计算机网络中各个实体进行通信、交换数据时所遵循的规则和约定。
网络协议的设计和实现对于网络的性能和稳定性有着重要的影响。
为了更好地理解和掌握网络协议的工作原理和应用,本次实验我们进行了网络协议的实验,并在此基础上撰写了本篇实验报告,旨在通过讲解实验内容和结果,对网络协议的相关知识进行深入的学习和探讨。
实验目的本次实验的主要目的是通过实际操作,对网络协议进行深入研究和探讨。
具体实验目标如下:1. 理解网络协议的基本概念和主要作用;2. 学习使用网络协议进行数据通信和交换;3. 掌握网络协议的实验操作和设计。
实验环境本次实验环境如下:1. 操作系统:Windows 10;2. 软件工具:Wireshark、Ping、Traceroute等。
实验过程本次实验分为三个部分,分别是TCP/IP协议、DNS协议和HTTP 协议。
下面将对每个部分进行详细讲解。
1. TCP/IP协议TCP/IP协议是互联网中最重要的一种网络协议,它采用分层结构,包括了物理层、数据链路层、网络层和传输层。
在本次实验中,我们主要关注传输层的TCP协议和UDP协议。
(略去部分内容)2. DNS协议DNS(Domain Name System)协议是互联网中的一种应用层协议,它的主要作用是将域名解析为IP地址,实现域名和IP地址之间的转换。
本次实验我们使用Wireshark工具进行DNS报文的捕获和分析。
(略去部分内容)3. HTTP协议HTTP(HyperText Transfer Protocol)协议是一种用于传输超文本的应用层协议,它是Web应用中最重要的一种协议。
在本次实验中,我们使用Wireshark工具对HTTP请求和响应进行捕获和分析。
(略去部分内容)实验结果与分析在实验过程中,我们捕获了大量的网络数据包,并使用Wireshark 工具进行了分析。
通过对各个协议的数据包进行解析和比较,我们得出了以下几点实验结果和分析:1. TCP与UDP的区别从实验结果来看,TCP协议和UDP协议在传输方式、可靠性和效率等方面存在明显的差异。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络协议分析实验报告 课 程 设 计
课程设计题目 网络协议分析实验报告 学 生 姓 名 : 学 号: 专 业:
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算法 网络协议分析实验报告 实验任务 1. 熟悉程序udp-client、c与udp-server.c,使用网络嗅探器(如wireshark)分析UDP通讯数据报格式; 2、 编写一个基于UDP协议的网络路径记录程序程序,程序需要完成的功能: 1)使用目标IP地址或域名作为参数,测量本机到目标主机经过的路由器IP地址; 2)输出到目标主机经过网络路由器IP地址。
实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。
实验步骤 1. 首先分别编译程序udp-client.c与udp-server、c,编译命令如下: gcc udp-client.c –o udp-client gcc udp-server、c –o udp-server 启动网络嗅探程序:wireshark。 打开两个终端窗口,进入程序所在目录,分别运行、/udp-client与、/udp-server,查瞧wireshark采集到的UDP通讯数据,截图并结合图对UDP协议格式进行说明; 2. 通过socket编程,发送udp数据报,设置目的端口号为不常用的值,TTL值初始为1,逐步增加,接收超时ICMP报文与ICMP不可达报文;如果接收到ICMP超时报文,则记录发送ICMP超时报文的路由器IP地址,如果收到ICMP不可达报文,则为目的主机到达; 3. 输出记录的所有路由器IP地址。
实验结果 1 网络协议分析实验报告 UDP协议的主要作用就是将网络数据流量压缩成数据报的形式。一个典型的数据报就就是一个二进制数据的传 输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。 UDP报头 UDP报头由4个域组成,其中每个域各占用2个字节,具体如下: 源端口号 目标端口号 数据报长度 校验值 UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP与TCP协议正就是采用这一机制实现对同一时刻内多项应用同时发送与接收数据的支持。数据发送一方(可以就是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围就是从0到65535。一般来说,大于49151的端口号都代表动态端口。 数据报的长度就是指包括报头与数据部分在内的总的字节数。因为报头的长度就是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小, 有时会降低到8192字节。 UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送与接收方的校验计算值将不会相符,由此UDP协议可以检测就是否出错。这与TCP协 议就是不同的,后者要求必须具有校验值。 2网络协议分析实验报告 实验3 TCP协议分析 实验目的 1) 掌握TCP协议 2) 掌握TCP客户机/服务器编程模式
实验任务 熟悉程序tcp-process.c,tcp-client、c与tcp-server、c,使用网络嗅探器(如wireshark)分析TCP协议三次握手过程;
实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。
实验步骤 首先分别编译程序tcp-client、与tcp-server、,编译命令如下: 网络协议分析实验报告 gcc tcp-client、c tcp-process、c –o tcp-client gcc tcp-server、c tcp-process.c –o tcp-server 启动网络嗅探程序:wireshark。 打开两个终端窗口,进入程序所在目录,分别运行、/tcp-client与、/tcp-server,查瞧wireshark采集到的TCP通讯数据,截图并结合图对TCP三次握手协议格式进行说明;
实验结果
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。ﻫ 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等网络协议分析实验报告 待服务器确认; ﻫ第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; ﻫ第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端与服务器进入ESTABLISHED状态,完成三次握手。 ﻫ完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:ﻫﻫ未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。 Backlog参数:表示未连接队列的最大容纳数目。ﻫ SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。 ﻫ半连接存活时间:就是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值就是所有重传请求包的最长等待时间总与。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。