网络协议分析及仿真课程设计报告书
郵電大學网络协议分析与仿真课程设计报告书院系名称:计算机学院实验容:网络流量分析学生姓名:专业名称:网络工程班级:学号:时间:2012年12月15日网络协议分析与仿真课程设计报告网络流量分析一、课程设计目的加深对IP、DSN 、TCP、UDP、HTTP等协议的理解;掌握流量分析工具的使用,学习基本的流量分析法。
二、课程设计容流量分析➢工具:Wireshark(Windows或Linux),tcpdump(Linux)➢要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。
➢容:Web流量分析清除本机DNS缓存,访问某一主页,捕获访问过程中的所有分组,分析并回答下列问题(以下除1、3、8、11外,要求配合截图回答):(1)简述访问web页面的过程。
(2)找出DNS解析请求、应答相关分组,传输层使用了种协议,端口号是多少?所请求域名的IP地址是什么?(3)统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现)(4)找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
(5)针对(4)中的TCP连接,该TCP连接的四元组是什么?双协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?(6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。
(7)针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值?(8)在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。
根据课本200页5.6.2节容,给每一个数据报文段估算超时时间RTO。
(提示:用脚本编程实现)(9)分别找出一个HTTP请求和响应分组,分析其报文格式。
参照课本243页图6-12,在截图中标明各个字段。
(10)访问同一的不同网页,本次访问中的TCP连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。
)(11)请描述HTTP协议的持续连接的两种工作式。
访问这些页面(同一的不同页面)的过程中,采用了哪种式?(参考课本241页)三、设计与实现过程(1)简述访问web页面的过程。
1)解析Web页面的URL,得到Web服务器的域名2)通过DNS服务器获得Web服务器的IP地址3)与Web服务器建立TCP连接4)与Web服务器建立HTTP连接5)从Web服务器获得URL指定的文档6)浏览器解释页面文档,并显示在屏幕(2)、找出DNS解析请求、应答相关分组,传输层使用了种协议,端口号是多少?所请求域名的IP地址是什么?DNS解析请求,应答分组:请求:(本机端口:59257;DNS服务器端口:53)应答:(DNS服务器端口:53;本机端口:59257)传输层协议:udp协议。
所请求域名ip是:123.125.160.40(3)、统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现)请求分组:(ip.src eq 172.16.1.234 or ip.dst eq 172.16.1.234) and( ip.src eq 123.125.160.40 or ip.dst eq 123.125.160.40)脚本Package_count.sh#!/bin/bash#by sky version 1.0#20121205function checkip {dot=`echo $1 | awk -F '.' '{print NF-1}'`if [ $dot -ne 3 ]; thenreturn 1ifcount=0for var in `echo $1 | awk -F. '{print $1, $2, $3, $4}'`doecho $var | grep "^[0-9]*$" >/dev/nullif [ $? -ne 0 ]; thenreturn 1fiif [ $var -ge 0 -a $var -le 255 ] ; then((count=count+1))continueelsereturn 1fidoneif [ $count -eq 4 ]; thenreturn 0elsereturn 1fi}if [ $# -eq 0 -o $# -ne 2 ]thenecho "Usage: shellname filename ipaddress"echo "just like: package_count.sh http 172.16.1.234"exit 1fiif [ ! -f $1 ]thenecho "The $1 is no exist"exit 2fi#echo $2 | grep '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}' >> /dev/null checkip ${2}if [ $? -ne 0 ]thenecho "Please input effective IP"exit 3finumber=`grep "Src: $2 " $1 2> /dev/null | wc -l `if [ $number -eq 0 ]thenecho "Please input an IP than include the $1"exit 4fiecho "The $2 as source has $number packages"(4) 找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
与tcp建立连接的三次握手的分组: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状态,完成三次握手。
实现过程如下:第一次:(序号:0,SYN:1)第二次:(序号:0,确认号:1,SYN:1,ACK:1)第三次:(序号:1,确认号:1,SYN:0,ACK:1)(5)针对(4)中的TCP连接,该TCP连接的四元组是什么?双协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?四元组:源地址---172.16.1.234;目的地址---123.125.160.40;源端口---49382 目的端口---80协商的起始序号:0;第三次握手未携带数据。
消耗一个序号。
(6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。
TCP释放过程:A、服务器向本机请求释放:B、本机响应服务器的请求释放:(半关闭)C、本机向服务器请求释放连接:D、服务器响应本机的请求释放:TCP的释放过程流程图:(7):针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN 报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值?释放请求由服务器发起。
FIN报文段未携带数据。
消耗了一个序号:实现过程如下:FIN报文段的序号是436(8)、在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。
根据课本200页5.6.2节容,给每一个数据报文段估算超时时间RTO。
脚本#!/bin/bash#by sky version 1.0#20121207if [ $# -ne 1 ]thenecho "Usage: shellname filename"echo "Just like: rtt_count.sh http"exit 1fiif [ ! -f $1 ]thenecho "Please input an effective file"exit 2figrep RTT $1 |awk 'BEGIN{s1=0.125; s2=0.875; d1=0.25; d2=0.75} {RTT[NR]=$9; line_num=NR}END{for( i=1; i<=line_num; i++ ){RTTS[i]=s2*RTT[i-1]+s1*RTT[i];RTTD[i]=d2*RTTD[i-1]+d1*(RTTS[i]>RTT[i]?RTTS[i]-RTT[i]:RTT[i]-RTTS[i ]);printf("The number is %d\t\tRTTS->%0.8f\tRTTD->%0.8f\tRTTS->%0.8f\n",i,RTTS[i],RTTD[i],RT TS[i]+4*RTTD[i])}}'(9)、分别找出一个HTTP请求和响应分组,分析其报文格式。
参照课本243页图6-12,在截图中标明各个字段。
请求报文:响应报文:10)、访问同一的不同网页,本次访问中的TCP连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。
)访问同一的另一网页本次访问中的TCP连接是与上次访问不相同(11)、请描述HTTP协议的持续连接的两种工作式。
访问这些页面(同一的不同页面)的过程中,采用了哪种式?(参考课本241页)http协议的持续连接的两种工作式:a.非流水线式:客户在收到前一个响应后才能发出下一个请求,在TCP连接已建好后,客户每次访问一次对象都要用去一个往返时间RTT。
b.流水线式:客户在收到HTTP的响应报文之前就能够接着发送新的请求报文,客户访问所有的对象只需花费一个RTT时间。
网络协议分析课程设计范文
网络协议分析课程设计网络协议分析课程设计范文网络协议分析课程设计范文课程名称:网络协议工程设计题目:网络构建与协议分析院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书课程设计(大作业)报告网络构建及分析一、题目分析1. 在S2126与S3750B上划分VLAN,并把PC机与服务器加入到相应的VLAN中。
2. 配置S2126与S3750A之间的两条交换机间链路,以及S3750A与S3750B之间的交换机间链路。
3. 在S2126与S3750A之间的冗余链路中使用STP技术防止桥接环路的产生,并通过手工配置使S3750A成为STP的根。
4. 为S3750A的VLAN接口和R1762的接口配置IP地址。
5. 在S3750A上使用具有三层特性的物理端口实现与R1762的互联。
二、总体设计三、实验器材1、网络环境根据具体协议构建合适的网络环境2、操作系统WindowsXP,如果需要,安装相应的服务(如FTP,SSH,TELNET,HTTP等)3、协议分析工具Windows环境下常用的工具有:Sniffer Pro、Ethereal、Iris以及Packet Tracer 等。
实验中可具体选择一种协议分析工具,本实验选择Ethereal。
四、制作步骤1、分析实验设计要求,进行初步的规划;2、按照要求的网络拓扑图在思科模拟器上进行对网络拓扑图的.连接,此处要特别注意对设备和连接线的选择;连线时要特别注意选用的线的种类:同种设备之间互联使用交叉线,不同种设备互联使用直通线。
3、按照实验的要求,对模拟好的拓扑图进行内部的配置和设置4、进行设置和配置的检测,对实验的结果进行分析五、分析网络中可能用到的网络协议可能用到的网络协议有:应用层DNS, FTP,HTTP, RIP, DHCP传输层TCP, UDP网络层IP,ICMP,IGMP数据链路层 ARP,RARP物理层以太网,RS-232.路由协议(RIP):路由协议主要运行于路由器上,路由协议是用来确定到达路径的,它包括RIP,IGRP,EIGRP,OSPF。
网络协议分析与仿真课程设计预习报告
编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载网络协议分析与仿真课程设计预习报告甲方:___________________乙方:___________________日期:___________________(计算机学院)网络协议分析与仿真课程设计预习报告专业名称:__________ 网络工程_________________班级:_______________________________________学生姓名:____________________________________学号(8位): ________________________________指导教师:____________________________________设计起止时间:2013年12月2日一2013年12月13日题目一网络流量分析一、课程设计目的里加深对IP、DNS、TCR UDP、HTTP等协议的理解;里掌握流量分析工具的使用,学习基本的流量分析方法。
二、课程设计地点及时间二号实验楼442网络实验室,12月2日至12月6日,每天8: 00-14: 00三、课程设计实验条件工具:Wireshark (Windows 或Linux), tcpdump (Linux)要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。
内容:Web流量分析四、课程设计原理1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号与目的端口号(源端口号为大于1023随机,目的端口号为UDP5狒口)及应用层服务(这里因该是请求DN硒询服务吧)。
传输层封装数据产生数据段传给网络层,在网络层标识源IP地址及目的IP地址(源IP地址为客户端IP ,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MACM址及目的MA砸址(源MACM址为客户端网卡MA弛址,目的MAC%址为DNS服务器MACM址),这里应该查询MA或存。
主要协议分析实验报告(3篇)
第1篇一、实验背景随着计算机网络技术的飞速发展,网络协议作为计算机网络通信的基础,扮演着至关重要的角色。
为了更好地理解网络协议的工作原理和功能,我们开展了主要协议分析实验。
本实验旨在通过分析常用网络协议的报文格式和工作机制,加深对网络协议的理解。
二、实验目的1. 熟悉常用网络协议的报文格式和工作机制。
2. 掌握网络协议分析工具的使用方法。
3. 培养网络故障排查和问题解决能力。
三、实验环境1. 实验设备:PC机、网线、Wireshark软件。
2. 实验网络:局域网环境,包括路由器、交换机、PC等设备。
四、实验内容本实验主要分析以下协议:1. IP协议2. TCP协议3. UDP协议4. HTTP协议5. FTP协议五、实验步骤1. IP协议分析(1)启动Wireshark软件,选择合适的抓包接口。
(2)观察并分析IP数据报的报文格式,包括版本、头部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议、头部校验和、源IP地址、目的IP地址等字段。
(3)分析IP分片和重组过程,观察TTL值的变化。
2. TCP协议分析(1)观察TCP数据报的报文格式,包括源端口号、目的端口号、序号、确认号、数据偏移、标志、窗口、校验和、紧急指针等字段。
(2)分析TCP连接建立、数据传输、连接终止的过程。
(3)观察TCP的重传机制和流量控制机制。
3. UDP协议分析(1)观察UDP数据报的报文格式,包括源端口号、目的端口号、长度、校验和等字段。
(2)分析UDP的无连接特性,观察UDP报文的传输过程。
4. HTTP协议分析(1)观察HTTP请求报文和响应报文的格式,包括请求行、头部字段、实体等。
(2)分析HTTP协议的请求方法、状态码、缓存控制等特性。
(3)观察HTTPS协议的加密传输过程。
5. FTP协议分析(1)观察FTP数据报的报文格式,包括命令、响应等。
(2)分析FTP的文件传输过程,包括数据传输模式和端口映射。
协议分析网络编程课程设计
协议分析网络编程课程设计一、课程目标知识目标:1. 理解网络编程中协议的基本概念和作用;2. 掌握常用的网络协议及其特点,如TCP/IP、HTTP、FTP等;3. 学会分析网络协议的报文结构和通信过程;4. 了解网络编程中的异常处理和安全性问题。
技能目标:1. 能够运用所学知识编写简单的网络应用程序;2. 培养实际操作中分析、解决问题的能力;3. 提高团队协作和沟通能力,通过分组讨论、展示等形式,分享学习心得和经验。
情感态度价值观目标:1. 培养学生对网络编程的兴趣,激发学习积极性;2. 培养学生的探究精神和创新意识,敢于尝试和挑战;3. 增强学生的网络安全意识,了解网络协议在实际应用中的道德和法律规范。
课程性质分析:本课程为计算机网络编程相关课程,旨在帮助学生掌握网络编程的基本知识和技能,提高解决实际问题的能力。
学生特点分析:本课程面向高中年级学生,他们在之前的学习中已经具备了一定的编程基础和网络知识,具有较强的学习能力和探究欲望。
教学要求:1. 结合实际案例,以问题为导向,引导学生主动学习和思考;2. 注重理论与实践相结合,提高学生的实际操作能力;3. 创设良好的学习氛围,鼓励学生积极参与讨论,分享学习成果;4. 注重培养学生的创新精神和团队合作能力,提高综合素质。
二、教学内容1. 协议基础理论- 网络协议的概念与作用- 协议分层模型(OSI七层模型与TCP/IP四层模型)- 常见网络协议及其特点2. 网络协议分析- TCP/IP协议族分析- IP协议报文结构- TCP协议工作原理及报文结构- UDP协议特点及应用场景- 应用层协议分析- HTTP协议请求与响应过程- FTP协议命令与数据传输- 其他常用应用层协议介绍3. 网络编程实践- 基于TCP/UDP协议的编程实践- 网络应用程序设计步骤与实例分析- 异常处理与网络编程安全性4. 教学案例分析- 分析实际网络应用程序中的协议应用- 案例讨论与分组报告5. 教学进度安排- 第一周:协议基础理论- 第二周:网络协议分析- 第三周:网络编程实践- 第四周:教学案例分析及总结教学内容依据课程目标,结合教材相关章节,确保科学性和系统性。
网络通信协议分析课程设计源代码和实验报告+帧封装、IP数据包解析和发送TCP数据包
网络协议分析课程设计之协议编程实验一帧封装实验目的:•编写程序,根据给出的原始数据,组装一个IEEE 802.3格式的帧(题目)默认的输入文件为二进制原始数据(文件名分别为input1和input2))。
•要求程序为命令行程序。
比如,可执行文件名为framer.exe,则命令行形式如下:framer inputfile outputfile,其中,inputfile为原始数据文件,outputfile为输出结果。
•输出:对应input1和input2得结果分别为output1和output2。
试验要求:•编写程序,根据给出的原始数据,组装一个IEEE 802.3格式的帧(题目)默认的输入文件为二进制原始数据(文件名分别为input1和input2))。
•要求程序为命令行程序。
比如,可执行文件名为framer.exe,则命令行形式如下:framer inputfile outputfile,其中,inputfile为原始数据文件,outputfile为输出结果。
输出:对应input1和input2得结果分别为output1和output2验设计相关知识:帧:来源于串行线路上的通信。
其中,发送者在发送数据的前后各添加特殊的字符,使它们成为一个帧。
Ethernet从某种程度上可以被看作是机器之间的数据链路层连接。
按802.3标准的帧结构如下表所示(802.3标准的Ethernet帧结构由7部分组成)802.3标准的帧结构其中,帧数据字段的最小长度为46B 。
如果帧的LLC 数据少于46B ,则应将数据字段填充至46B 。
填充字符是任意的,不计入长度字段值中。
在校验字段中,使用的是CRC 校验。
校验的范围包括目的地址字段、源地址字段、长度字段、LLC 数据字段。
循环冗余编码(CRC)是一种重要的线性分组码、编码和解码方法,具有简单、检错和纠错能力强等特点,在通信领域广泛地用于实现差错控制。
CRC 校验码的检错能力很强,不仅能检查出离散错误,还能检查出突发错误。
计算机网络实验 课程实验报告 RIP协议原理及配置
西安电子科技大学计算机网络实验课程实验报告实验名称 RIP协议原理及配置通信工程学院班Array姓名学号同作者实验日期 2020 年 4 月 5 日一、实验目的1.1掌握动态路由协议的作用及分类1.2掌握距离矢量路由协议的简单工作原理1.3掌握RIP协议的基本特征1.4熟悉RIP的基本工作过程二、实验所用仪器(或实验环境)实验所使用软件为 Cisco Packet Tracer。
三、实验基本原理及步骤(或方案设计及理论计算)3.1动态路由协议概述路由协议是运行在路由器上的软件进程,与其他路由器上相同路由协议之间交换路由信息,学习非直连网络的路由信息,加入路由表。
并且在网络拓扑结构变化时自动调整,维护正确的路由信息。
图一动态路由协议前面提到,路由器之间的路由信息交换是基于路由协议实现的。
交换路由信息的最终目的在于形成路由转发表,进而通过此表找到一条数据交换的“最佳”路径。
每一种路由算法都有其衡量“最佳”的一套原则。
大多数算法使用一个量化的参数来衡量路径的优劣,一般说来,参数值越小,路径越好。
该参数可以通过路径的某一特性进行计算,也可以在综合多个特性的基础上进行计算,几个比较常用的特征是:n 路径所包含的路由器结点数(hop count)n 网络传输费用(cost)n 带宽(bandwidth)n 延迟(delay)n 负载(load)n 可靠性(reliability)n 最大传输单元MTU(maximum transmission unit)依据路由器间交换路由信息的内容及路由算法,将路由协议分为:距离-矢量路由协议和链路状态路由协议。
距离-矢量路由协议 ( 如RIP )定期广播整个路由信息易形成路由环路收敛慢链路状态路由协议(如OSPF)收集网络拓扑信息,运行协议算法计算最佳路由根本解决路由环路问题收敛快图二距离-矢量路由协议图二链路状态路由协议3.2RIP协议概述RIP(Routing Information Protocol)路由信息协议最早的动态路由协议,基于距离矢量算法实现使用UDP报文来交换路由信息以跳数多少选择最优路由RIPv1协议报文不携带掩码信息3.3路由回路及解决办法定义最大跳数水平分割(Split Horizon)毒性逆转(Poisoned Reverse)触发更新(Triggered Update)Hold-Down 定时器3.4RIP的配置关于RIP的配置步骤如下:开启RIP路由功能(路由进程):Router(config)#router rip宣告相关网段:Router(config-router)# network network wildmask 请注意:掩码是用反码的形式。
IP协议深入分析课程设计
TCP/IP协议深入分析课程设计一、课程简介TCP/IP协议是计算机网络中最为重要的网络协议之一。
本课程旨在帮助学员深入了解TCP/IP协议的工作原理和实现机制,掌握网络编程中常用的Socket编程模型,并通过课程设计与实验等形式,帮助学员更好地掌握TCP/IP协议的应用。
二、课程大纲1.TCP/IP协议基础–TCP/IP协议体系结构–IP地址与子网掩码–网络层协议(如ICMP、ARP)–传输层协议(如TCP、UDP)2.Socket编程基础–Socket编程基础概念–套接字(Socket)编程模型–TCP套接字编程中的客户端和服务端模型–UDP套接字编程中的客户端和服务端模型3.TCP协议详述–TCP协议的概述–三次握手与四次挥手过程–TCP拥塞控制与流量控制–TCP协议的可靠传输机制–TCP协议的重传机制4.UDP协议详述–UDP协议的概述–UDP协议的特点与优点–使用UDP协议时需要注意的问题–实际应用中的UDP协议案例5.课程设计项目–需求分析与设计–实现TCP/IP协议相关的套接字编程–进行测试与性能评估三、课程设计要求1.学员需要采用C/C++语言开发TCP/IP协议相关的套接字编程,并在Linux平台上进行测试和性能评估。
2.课程设计项目重点考察学员对TCP/IP协议的理解能力以及Socket编程能力。
因此,在实现过程中,学员需要注意以下方面:–提高代码的可读性与可维护性;–做好错误处理与边界处理工作;–实现完整的客户端和服务端模型,并在实际应用中进行测试;–根据实际应用的需求,适当优化程序性能。
3.学员需要分成小组进行课程设计,每个小组的成员需要合理分工,完成项目的设计、开发、测试,以及撰写项目报告等任务。
四、参考资料1.计算机网络:自顶向下方法(第七版);2.UNIX网络编程(卷一):套接字联网API(第三版);3.TCP/IP详解(卷一):协议(第二版);4.Beej’s Guide to Network Programming;5.libcurl官方文档;课程设计是为了帮助学员将本课程学到的理论知识应用到实际场景中,提高其实践能力和解决问题的能力。
计算机网络课程设计报告
计算机网络课程设计华中科技大学信息学部软件姓名:专业班级:学号:指导老师:目录一、课程的性质、目的和任务 (3)二、课程内容和基本要求 (3)(一)、协议包的分析,网络协议的组成 (3)1、捕获ARP请求,ARP应答数据包 (3)2、捕获ICMP数据包,对其进行分析研究 (4)3、捕获TCP“三次握手”“2次两次握手”释放连接数据包 (6)4、捕获HTTP,DNS,DHCP数据包,分析其构成 (10)5、通过捕捉smtp协议包捕捉邮箱密码 (15)小结 (15)(二)、编写一个程序自动生成CRC校验码 (15)程序代码: (15)编译运行 (16)(三)、机架实验 (17)小结 (17)(四)、模拟学校校园网 (17)校园网拓扑图 (17)网络测试 (18)小结 (22)一、课程的性质、目的和任务该课程为实践类课程。
通过本课程,(1)学生需要深入理解网络协议的组成,对网络中传输数据的过程有更深入的认识。
(2)学生需要了解计算机网络工程设计的一般任务,明确计算机网络设计与建设的基本原则,熟悉计算机网络需求分析的目标、任务与方法,掌握计算机网络设计的通用方法,并学会撰写规范的计算机网络方案书。
二、课程内容和基本要求(一)、协议包的分析,网络协议的组成1、捕获ARP请求,ARP应答数据包,分析其组成特征。
总结ARP协议运行的基本过程。
本机(192.168.84.69)ping目的主机(192.168.84.39):抓包截图:本机192.168.84.69 源MAC地址 c8:9c:dc:59:39:30目的主机 192.168.84.39 目的MAC地址 c8:9c:dc:5a:2b:57ARP协议运行过程:ARP进程在本局域网上发送ARP请求,目的主机在ARP 请求分组里看到自己的IP,就发送一个响应分组,写入自己的硬件地址。
2、捕获ICMP数据包,对其进行分析研究。
(icmp请求数据包,icmp应答数据包)Ping 进行ICMP数据包截获ICMP请求数据包:TYPE:8CODE:0 CHECKSUM :0X225CICMP应答数据包:TYPE:0CODE:0CHECKSUM :0X2A5CICMP协议数据包对IP分组在传送时出现的异常情况进行报告,对IP报文传输时出现的差错、拥塞、路由改变、以及路由器或主机信息的获取等情况,向源端主机提交报告,由源主机采取相应措施,改进传输质量。
网络协议仿真课程设计总结
网络协议仿真课程设计总结一、课程目标知识目标:1. 让学生理解网络协议的基本概念、功能和分类,掌握常见网络协议的工作原理。
2. 使学生掌握网络协议仿真的基本方法,学会运用仿真软件进行网络协议的分析与设计。
3. 帮助学生了解网络协议在实际应用中的优势和局限性,认识网络协议的发展趋势。
技能目标:1. 培养学生运用网络协议仿真软件进行实验操作的能力,提高学生的实践操作技能。
2. 培养学生分析和解决网络协议相关问题的能力,提升学生的逻辑思维和创新能力。
3. 培养学生团队协作和沟通表达的能力,学会与他人共同完成网络协议仿真项目。
情感态度价值观目标:1. 激发学生对网络协议的兴趣,培养学生热爱网络技术、主动探索新知识的情感。
2. 培养学生严谨的科学态度,养成良好的实验习惯,增强学生的责任心。
3. 通过团队合作,培养学生的集体荣誉感,提高学生的团队协作精神和沟通能力。
课程性质:本课程为计算机网络相关课程的实践环节,侧重于网络协议仿真技术的应用与实践。
学生特点:学生已具备一定的计算机网络基础知识,具有较强的学习能力和实践操作欲望。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力和创新能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 网络协议基本概念:介绍网络协议的定义、组成要素和功能,结合教材相关章节,让学生掌握网络协议的基本知识。
2. 网络协议分类与工作原理:分析各类网络协议(如TCP/IP、HTTP、FTP 等)的工作原理,通过实例讲解,使学生了解不同网络协议的特点和应用场景。
3. 网络协议仿真技术:讲解网络协议仿真的基本方法,介绍仿真软件(如Wireshark、NS3等)的使用,让学生学会运用仿真工具分析网络协议性能。
4. 实践操作与案例分析:组织学生进行实际操作,通过完成具体项目,巩固网络协议仿真的方法和技巧。
《网络编程与协议分析》课程设计报告
武汉科技大学计算机科学与技术学院制表说明:本合同资料适用于约定双方经过谈判、协商而共同承认、共同遵守的责任与义务,同时阐述确定的时间内达成约定的承诺结果。
文档可直接下载或修改,使用时请详细阅读内容。
课程名称:网络编程与协议分析)叔1善科技尤•学Wuhan University of Science & Technology计算机科学与技术学院课程设计报告课程名称:网络编程与协议分析专业:_____________________班级:_____________________学号:_____________________姓名:_____________________指导老师:_____________________《网络编程与协议分析》课程设计报告、课设题目:网络数据包抓取与分析软件、课设要求:1)能抓取本地主机所在局域网子网内的所有数据包2)分析并显示所抓取数据包的IP头部各字段的信息3)分析并显示所抓取数据包的封装在IP数据包内的协议头部字段信息(TCP、UDP、ICMP 等)4)生成日志信息,以文本文档形式保存5)分析并显示所抓取数据包应用层协议头部字段信息(HTTP、FTP、DNS、Telnet、SMTP、POP等各种应用层协议中至少取三种)三、用到的基本概念及原理(1)UDP协议介绍UDP协议的全称是用户数据报协议,在网络中它与TCP协议一样用于姓理数据包;在OSI模型中.在第四层——传辕层,处于IP协议的上一层’ UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的’UDP用来支持那些需要在计算机之间传蜿数据的网络应用;包括阿络视频会议系统在内的众多的客户.眼务器模式的网络应用都需要使用UDP协议=UDP协议从问世至今已经被使用了很寥年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,LT>P仍然不失为一项非常实用和可行的网络传输层协议:(2)TCP协议基本知识TCP是一种面向连凄(连接导向)的、可翥的、基于字节流的运输层通信协议’在OSIRM模型中,它完成第四层传输层所指定的功能,UDP 是同一层内另一个重要的传输协议・首先,TCP建立连接之后,通信祖方都同时可以进行数据的传输.其次,他是全祖工的*在保证可靠性上,采用超时重传和稍待确认机制,在流量控制上,采用滑动窗口协议,协议中规定.对于窗口内未经确认的分组需要重传=在拥塞控制上,采用慢启动算法.(3) Winpcap的组成和结构WinPcap由一个数据包监听设备驱动程序(NPF)、一个底层的动态连接库(packet, dll)和一个高层的不依赖于操作系统的静态库(■口can d匚)共三个部分构成,如图2・5所示=这里,XPF在操作系统的内核级,packet. dlL叩cap. dll 在用户级.(4) Winpcap基本原理数据包过滤器•数据包过滤器决定是否接收进来的数据包并把数据包拷贝给骁听程序:■数据包过波器是一个有布尔输出的函数=循环缱冲区』循环援冲区以队列插入的方式来保存数据包,提高数据的存睹致率■:WinPcap 引用:到 http: winpcap, org devel. htm下载V.'inPcap 4, 0. 2. zip- 后群压,锌压缠就可以看见Include 和lib;在“ProjnctfSettingm*标签栏中选择 "C 在 ^Preprocessor definitions'"的输入框里添加"WPCAP”;再选舞"Link"?在"Object library modules^的输入框里添加lib " ° 然后再设置TO+环境变量:选择Tools->optians->Directories的include里面和入下载的winpcap开发包修压以后的include文件夹@ 选择Tocls->opt ions-) Direct ones的lib里面加入下载的winpcap开发包程玉以后的lib 件夹:■在 stdafs 中加入+tinclLide <pcap. h>(5) NPF在windows系统中的位置、FF是一个协议驱动:从性能方面来看,这不是最好的选择,但是它合理地独立于MAC层并且有权使用原始通信- traffic).可以看出,XPF在NDIS之上,它与TCP IP协议栈的实现在同一层次,因此,应用程序不通过Winsock也可以实现数据的发送和接受。
