网络协议分析及仿真课程设计报告书
- 格式:doc
- 大小:1.26 MB
- 文档页数:17
网络协议分析课程设计网络协议分析课程设计范文网络协议分析课程设计范文课程名称:网络协议工程设计题目:网络构建与协议分析院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书课程设计(大作业)报告网络构建及分析一、题目分析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或存。
第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. 教学进度安排- 第一周:协议基础理论- 第二周:网络协议分析- 第三周:网络编程实践- 第四周:教学案例分析及总结教学内容依据课程目标,结合教材相关章节,确保科学性和系统性。
网络协议分析课程设计之协议编程实验一帧封装实验目的:•编写程序,根据给出的原始数据,组装一个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协议原理及配置通信工程学院班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 请注意:掩码是用反码的形式。
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也可以实现数据的发送和接受。
网络协议分析课程设计心得一、课程目标知识目标:1. 让学生理解网络协议的基本概念,掌握常见的网络协议及其工作原理;2. 使学生掌握网络协议分析的方法和技巧,能够分析网络数据包,解读协议内容;3. 引导学生了解网络协议在网络安全中的作用,提高网络安全意识。
技能目标:1. 培养学生运用网络抓包工具进行数据包捕获和分析的能力;2. 培养学生运用网络协议分析技术解决实际问题的能力;3. 提高学生网络协议配置和调试的技能。
情感态度价值观目标:1. 培养学生对网络协议的兴趣,激发他们探索网络世界的热情;2. 培养学生严谨、细致的学习态度,提高他们分析问题和解决问题的能力;3. 增强学生的团队合作意识,培养他们在合作中学习、共同进步的精神。
课程性质:本课程为计算机网络技术相关专业的基础课程,旨在帮助学生建立网络协议知识体系,提高网络协议分析能力。
学生特点:学生已具备一定的计算机网络基础知识,对网络协议有一定了解,但分析能力和实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,以案例分析为主线,引导学生掌握网络协议分析方法,提高实践能力。
在教学过程中,关注学生的学习进度和反馈,及时调整教学策略,确保课程目标的达成。
将课程目标分解为具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 网络协议基本概念:介绍网络协议的定义、作用和分类,分析各类协议的特点及应用场景。
教材章节:第一章 网络协议概述2. 常见网络协议及其工作原理:详细讲解TCP/IP协议族、HTTP、FTP、SMTP等常见协议的工作原理。
教材章节:第二章 TCP/IP协议族,第三章 应用层协议3. 网络协议分析方法和技巧:介绍Wireshark等网络抓包工具的使用方法,教授如何捕获和分析网络数据包。
教材章节:第四章 网络协议分析4. 网络安全与协议分析:探讨网络协议在网络安全中的作用,分析常见网络攻击手段及防御策略。
教材章节:第五章 网络安全与协议分析5. 实践操作与案例分析:组织学生进行实际操作,通过案例分析加深对网络协议分析的理解。
郵電大學网络协议分析与仿真课程设计报告书院系名称:计算机学院实验容:网络流量分析学生XX :专业名称:网络工程班级:学号:时间:2012年12月15日网络协议分析与仿真课程设计报告网络流量分析一、课程设计目的加深对IP、DSN 、TCP、UDP、等协议的理解;掌握流量分析工具的使用,学习根本的流量分析法。
二、课程设计容流量分析➢工具: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。
课程设计课程设计题目网络协议分析实验报告学生姓名:学号:专业: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协议工作得过程。
杭州电子科技大学网络模拟和协议仿真课程设计课程题目:基于NS-2的SDRAD路由协议的实现人员:*****2012/9/16摘要在网络路由技术的研究中,实际网络系统的实现往往是代价很高或不现实的。
利用网络仿真器NS2 对相关网络路由协议进行仿真是一种既有效又经济的研究方法,但目前的NS2 还不能支持所有网络路由协议的仿真。
本文根据拓展仿真的原理和方法,对在NS2 中添加路由协议进行了研究,添加了SDRAD 路由协议。
关键词:NS2;拓展仿真;路由协议;SDRAD引言在真实的网络中,设计和调试网络协议是一件困难且复杂的事情,仿真成了最佳可供选择的测试、评估和验证手段之一。
网络仿真是用计算机程序对通信网络进行模型化,通过程序的运行模仿通信网络的运行过程。
这是一种进行网络技术研究的基本手段,不仅适用于网络模型的构造和设计、协议性能的评价与分析,还适用于网络协议的开发与研究以及真实网络的故障诊断。
网络模拟器NS2(Network Simulator v2)是一种免费、源代码公开的模拟软件平台,其协议代码与真实网络应用代码很相似,仿真结果具有可靠性。
NS2 是一个面向对象的离散事件驱动网络模拟器,支持多种流行的网络协议如TCP、UDP 和路由调度、拥塞控制算法等。
相对于一般的离散型模拟器,NS2 的优势在于它有非常丰富的构件库,而且这些对象易于组合,易于拓展,但是对用户的编程能力,实际网络协议的理解能力要求较高。
本文利用NS2 已有的对象,组合所要研究的网络系统模型,在NS2 中添加了一个SDRAD[1]路由协议进行网络仿真。
由于无线传感器网络的众多优势,如可迅速大规模部署、可进行各种环境下的长期监测、可减少人为干涉等,使得它逐步应用到各种军事和民用领域,包括环境监测、智能交通等。
数据收集是无线传感器网络路由中的一种特殊情况,主要任务是通过单跳或多跳的方式将网络中传感器节点收集的数据传送给基站。
在环境监测应用中。
网络协议模拟分析精品管理制度、管理方案、合同、协议、一起学习进步西安邮电大学(计算机学院)课程设计报告题目:网络协议模拟与分析专业名称:班级:学生姓名:学号(8位):指导教师:设计起止时间:2014年12月15日—2014年12月26日网络协议分析与仿真课程设计报告网络模拟一、 课程设计目的掌握网络模拟工具NS2的使用,学习基本的网络模拟方法。
二、 课程设计内容协议模拟➢ 工具:NS2,awk ,shell ,perl 等;➢ 要求:掌握NS2网络模拟的基本流程;➢ 内容:NS2网络模拟基本流程编写TCL 脚本,搭建如下图所示的一个网络,共6个节点,其中2、3节点用做ftp 服务器和客户端,4、5节点用做cbr 流量的源和目的,而0、1节点用做转发设备。
各节点间的链路属性见图。
012453ftpcbr null packet size = 1kbytes,rate=1Mbps 2mbps, 20ms1.5mbps, 10ms1.5mbps, 10ms1.5mbps, 10ms 1.5mbps, 10ms模拟时间设为13秒钟,在0.1秒开始产生cbr 流量,在1.0秒开发发送发ftp 流量;8.0秒ftp 流量结束,12.0秒cbr 流量结束。
编写脚本(可用shell ,awk ,或perl 等)分析模拟日志文件,统计每0.5s 内0、1节点间链路通过的分组数以及字节数。
三、 设计与实现过程1.仿真脚本代码与详细注解#Create a simulator object /创建模拟器对象set ns [new Simulator] /模拟器对象赋值给变量ns#Define different colors for data flows (for NAM)$ns color 1 Red$ns color 2 Yellow /给NAM定义不同的数据流,颜色的选择比较随意,只要易于区分就可以#Open the NAM trace fileset nf [open out.nam w] /打开out.nam文件,一般都是在执行程序的时候自动生成的$ns namtrace-all $nf#Open the Trace fileset tf [open out.tr w] /打开out.tr文件,也是自动生成的$ns trace-all $tf/两个文件主要都是用来记录封包传输过程的#Define a 'finish' procedure /定义finish程序,在后面执行的时候会用到proc finish {} {global ns nf tf$ns flush-traceclose $nf /关闭nam文件close $tf /关闭trace 文件 (在后面调用的时候,是在程序结束的时候,所以前面生成的两个文件必须要关闭)exec nam out.nam & #以后台方式执行namexit 0}#Create six nodes /创建六个节点 ,从n0到n5set n0 [$ns node]set n1 [$ns node]set n2 [$ns node]set n3 [$ns node]set n4 [$ns node]set n5 [$ns node]#Create links between the nodes /创建结点之间的链路,而链路的创建都是基于题目要求的基础之上$ns duplex-link $n0 $n2 1.5Mb 10ms DropTail$ns duplex-link $n0 $n4 1.5Mb 10ms DropTail$ns duplex-link $n1 $n3 1.5Mb 10ms DropTail$ns duplex-link $n1 $n5 1.5Mb 10ms DropTail$ns duplex-link $n1 $n0 2Mb 20ms DropTail#Give node position (for NAM) /根据题目图示要求,给NAM创建的节点位置如下$ns duplex-link-op $n2 $n0 orient right-down$ns duplex-link-op $n4 $n0 orient right-up$ns duplex-link-op $n0 $n1 orient right$ns duplex-link-op $n0 $n1 orient right$ns duplex-link-op $n1 $n3 orient right-up$ns duplex-link-op $n1 $n5 orient right-down#Set Queue Size of link (n0-n1) to 10 /设置n0到n1之间的列长度$ns queue-limit $n1 $n0 10#Setup a TCP connection /建立TCP连接set tcp [new Agent/TCP]$tcp set class_ 2$ns attach-agent $n2 $tcpset sink [new Agent/TCPSink]$ns attach-agent $n3 $sink$ns connect $tcp $sink$tcp set fid_ 1 /NAM中,TCP的连接用红色的数据流表示#Setup a UDP connection /建立UDP连接set udp [new Agent/UDP]$ns attach-agent $n4 $udpset null [new Agent/Null]$ns attach-agent $n3 $nullset null [new Agent/Null]$ns attach-agent $n5 $null$ns connect $udp $null$udp set fid_ 2 /NAM中,UDP的连接用黄色的数据流表示//TCP与UDP的建立中,agent是一个代理,用来作为网络层的传输与接收#Setup a FTP over TCP connection /在TCP连接上建立FTPset ftp [new Application/FTP]$ftp attach-agent $tcp$ftp set type_ FTP#Setup a CBR over UDP connection /在UDP连接上建立CBRset cbr [new Application/Traffic/CBR]$cbr attach-agent $udp$cbr set type_ CBR$cbr set packet_size_ 1000$cbr set rate_ 1mb$cbr set random_ false /设置了cbr流量的包类型,字节大小,以及传输速率#Schedule events for the CBR and FTP agents /设置FTP和CBR起止时间$ns at 0.1 "$cbr start" /0.1秒产生cbr流量$ns at 1.0 "$ftp start" /1.0秒发送ftp流量$ns at 8.0 "$ftp stop" /8.0秒ftp流量结束$ns at 12.0 "$cbr stop" /12.0秒cbr流量结束#Call the finish procedure after 13 seconds of simulation time /13秒后调用前面写出的finish程序$ns at 13.0 "finish"#Run the simulation /执行模拟器程序$ns run2.仿真过程示意(动画截图1个)3.日志分析脚本设计(设计思路与代码、注解)设计思路:首先取出每行的时间(第二字段)、分组大小(第六字段);若时间大于当前的时间段,变量加1,开始统计下一时间段信息;数组count1记录分组的数目数组count2记录每个时间段通过的分组的总字节数#!/usr/bin/perl#count the number of packets between node0 and node1 ,the interval is 0.5 seconds.$i=0; /定义变量i@info; /定义三个数组@count1;@count2;while(<>){ /读out.tr文件的内容@info = split(/ +/,$_); /以空格为分字符读取每一行的内容$reason = $info[0]; /封包事件发生原因 (r代表封包被接收,+ 表示进入队列,- 表示离开队列)$time = $info[1]; /时间,表示流量传输的开始时间$src = $info[2]; /封包的起始节点$dst = $info[3]; /封包的终止节点$length = $info[5]; /包的字节长度#if($reason==’r’ && ($src==0 && $dst==1) || ($src==1 && $dst==0)){ if($reason==’r’ && ($src==0 && $dst==1) || ($src==1 && $dst==0)){/包被某个节点所接受,而且链路传输是在从0到1的链路上,判断语句if($time > $i*0.5){ /时间段超过0.5秒,执行下一行内容$i++;}$count1[$i]++; /这个数组用于统计包的个数$count2[$i]+=$length; /这个数组用于统计字节数}}printf("intervals(s)\t\tpackets\t\tbytes\n"); /显示语句,显示内容为:时间间隔,包,还有字节数$i=1.0;while($count1[$i]){ /打印出来统计的信息printf("%4.1f~%4.1f\t\t$count1[$i]\t\t$count2[$i]\n",($i-1)*0.5,$i*0.5,);$i++;} /显示统计出来的每个时间段的信息4.分析结果展示(通过自绘图来说明)Packers:Bytes:四、设计技巧及体会1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。
实验报告项目名称:网络协议分析仪的应用课程名称:计算机网络B班级:科04-2姓名:成文溪学号: 041504教师:张晓明信息工程学院计算机系实验一网络协议分析仪的应用1.实验目的z了解协议分析仪的使用方法和基本特点,掌握使用协议分析仪分析协议的方法。
z了解Ping命令的工作过程;z了解FTP协议的工作过程。
2.实验前的准备z熟悉Ping命令,FTP协议;z了解协议分析仪的功能和工作原理;z了解Ethereal分析仪的使用方法;z阅读本实验的阅读文献;3.实验内容z学习捕获选项的设置和使用。
z使用Ethereal分析仪捕获一段Ping命令的数据流,并分析其工作过程。
z登录ftp://,并下载三个大小不同的文件(小于1KB、1KB—1MB、1MB以上),使用Ethereal分析仪分析其工作过程。
z设置显示过滤器,以显示所选部分的捕获数据。
z保存捕获的数据,分别是TEXT文件和XML文件。
4.实验要求z完成上述实验内容;z记录捕获的关键数据,并分析协议工作过程。
z上交实验报告和保存的实验数据。
5.阅读文献z Ethereal分析仪网站. z张基温. 计算机网络实验与实践教程. 北京:清华大学出版社,2005.11.z福禄克公司关于协议分析(测试)仪的网站. /z Kenneth D. Reed 著,孙坦等译. 协议分析[M]. 北京:电子工业出版社,2002.z谢鲲,张大方. 共享网段网络协议分析系统设计与实现[J]. 计算机工程与科学,2002.24(2).1.ping命令在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,ping命令用于确定能否与其他主机交换数据包,通过返回信息判断tcp/ip参数是否设置正确以及能否正常运行。
郵電大學网络协议分析与仿真课程设计报告书院系名称:计算机学院实验容:网络流量分析学生姓名:专业名称:网络工程班级:学号:时间: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时间。