网络协议分析与仿真课程设计报告书
网络协议实践课程实验报告

一、实验目的:通过实验了解系统漏洞,学会发现系统漏洞。
二、实验内容:搭建一个实验环境,使用namp工具对可能存在漏洞的开放端口进行扫描,将结果保存在namp.cap文件里。
三、实验原理:缓冲区溢出攻击者必须非常熟悉服务器端运行的程序的特点。
他们必须知道服务器程序会分配多少空间用于接收到来的请求,并准确知道将要插人的代码写到人何处。
攻击者可以很容易地获得服务器应用程序的代码拷贝,并对其进行研究和攻击练习。
他们常常是对最流行的服务器软件包的默认设置进行研究,因为大部分计算机都是在这些设置下运行的。
通常编写的恶意代码都会向其他有漏洞的主机进行打一散。
例如,利用缓冲区溢出漏洞进人系统的恶意代码会对其他主机执行同样的攻击。
恶意代码也可能在计算机上搜索电子邮件地址,并且把它自己的拷贝作为电子邮件的附件发送出去。
在本实验中,我们将对一个用于探测网络中另一个系统的开放端口或漏洞的网络应用程序的跟踪结果进行观察分析。
我们也将对一个感染了冲击波蠕虫病毒的计算机的跟踪结果进行分析。
我们会看到它是如何通过试图在Windows分布式组件对象模型(DCOM)和远程过程调用(RPC)接口中发掘漏洞来传播自己的。
四、实验器材、环境配置操作及实验数据的产生:本实验的跟踪记录可在两个配置中捕获。
在第一个配置图中,一个在防火墙后运行DHCP的PC机,用于扫描防火墙下开放的端口。
在第二个配置图中,我们在校园网环境中选择了一台感染冲击波蠕虫病毒的PC机进行网络行为跟踪。
配置图一配置图二在第一个实验中,我们使用nmap工具来对另一台主机192. 168. 0. 1的开放端口或可能的漏洞进行扫描。
我们识别到一个开放端口,HTTP端口,将跟踪结果保存在nmap. cap文件中。
像nmap这样的端口扫描程序通过向许多常用端口发送SYN分组以检测开放端口(或漏洞)。
在本例中,SYN分组一共发送给了1658个端口。
如果服务器软件在这些端口上监听,它就会返回一个SYNACK分组作为回应。
网络通信协议分析课程设计源代码和实验报告+帧封装、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 校验码的检错能力很强,不仅能检查出离散错误,还能检查出突发错误。
网络层协议实验报告(3篇)

第1篇一、实验目的1. 理解网络层协议的基本概念和作用;2. 掌握IP协议、ARP协议和RIP协议的基本原理和配置方法;3. 通过实验验证网络层协议在实际网络中的应用。
二、实验环境1. 实验设备:一台安装有Cisco Packet Tracer软件的PC机;2. 实验软件:Cisco Packet Tracer 7.3.1模拟器;3. 实验拓扑:实验拓扑结构如图1所示,包括三台路由器(R1、R2、R3)和三台主机(H1、H2、H3)。
图1 实验拓扑结构图三、实验内容1. IP协议分析实验(1)实验目的:了解IP协议的基本原理和配置方法。
(2)实验步骤:① 在R1、R2、R3上配置IP地址、子网掩码和默认网关;② 在H1、H2、H3上配置IP地址、子网掩码和默认网关;③ 使用Ping命令测试H1与H2、H3之间的连通性;④ 分析实验结果,验证IP协议在网络层的作用。
(3)实验结果与分析:通过实验,验证了IP协议在网络层中实现数据包的传输和路由功能。
当H1与H2、H3之间进行通信时,数据包会按照IP地址进行路由,最终到达目标主机。
2. ARP协议分析实验(1)实验目的:了解ARP协议的基本原理和配置方法。
(2)实验步骤:① 在R1、R2、R3上配置IP地址、子网掩码和默认网关;② 在H1、H2、H3上配置IP地址、子网掩码和默认网关;③ 在H1上配置MAC地址与IP地址的静态映射;④ 使用Ping命令测试H1与H2、H3之间的连通性;⑤ 分析实验结果,验证ARP协议在网络层的作用。
(3)实验结果与分析:通过实验,验证了ARP协议在网络层中实现IP地址与MAC地址的映射功能。
当H1与H2、H3之间进行通信时,数据包会通过ARP协议获取目标主机的MAC地址,从而实现数据包的传输。
3. RIP协议分析实验(1)实验目的:了解RIP协议的基本原理和配置方法。
(2)实验步骤:① 在R1、R2、R3上配置IP地址、子网掩码和默认网关;② 在R1、R2、R3上配置RIP协议,使其相互通告路由信息;③ 在H1、H2、H3上配置IP地址、子网掩码和默认网关;④ 使用Ping命令测试H1与H2、H3之间的连通性;⑤ 分析实验结果,验证RIP协议在网络层的作用。
网络协议分析与仿真

课程安排
• 时间
– 15、16周(12月2日—12月13日) – 8:00—14:00
• 地点
– 2号楼425、427、442
(详细内容见附件《课程设计—网络协议分析与模拟》)
考核
• 依据
– 演示+答辩(两个实验内容分开检查,每周五), 占50% – 实验报告,占30% – 出勤,占20%
• 成绩
– 按优、良、中、及格、不及格5级评定
实验报告
• 按报告模板书写
• 每两人一组,合作完成,要求两部分内容 都参与
• 每个实验内容一个报告(每个内容每组交 一份)
课程设计— 网络协议分析与模拟
网络1201—1203班
目的
• 加深对典型网络协议(TCP、DNS、HTTP、 FTP等)的理解
• 掌握流量分析工具的使用,学习基本的流 量分析方法 • 掌握网络模拟工具NS2的使用,学习基本的 网络模拟方法
课程内容
• 网络流量分析
– HTTP协议
ห้องสมุดไป่ตู้
• 网络协议模拟
– NS2网络模拟基本流程
TCPIP协议分析课程设计报告书要点

《TCP/IP协议分析》课程设计题目:用协议分析工具分析 DNS以及以下各层协议的工作机制院系:计算机学院班级: 2012级网络工程班姓名: ****学号: *********组别:第四组组长:*****组员:****** **** **** *** **** ***2015年1月8日目录一、课程设计目的 (3)二、课程设计的要求 (3)三、实验环境 (3)四、实验内容及过程 (3)五、总结 (17)一、课程设计目的1、用协议分析工具分析 DNS以及以下各层协议的工作机制;2、掌握DNS协议的请求与应答过程二、课程设计的要求1、分析网络拓扑图的结构与组成,观察网络设备在拓扑图中的表示方法,学习根据拓扑图进行网络构建的基本步骤,了解网络组建的过程。
分析网络中可能用到的网络协议,说明其应用目的和实现机理。
2、掌握协议分析工具的安装、配置和基本操作。
利用协议分析工具分析现实中某种网络应用的协议工作过程,通过分析工具捕获网络数据的具体传输,分析该应用在协议栈个层次中数据包的具体内容,从而理解各层协议的作用与协同工作的过程,达到能更加深入掌握网络协议原理的目的。
三、实验环境1、网络环境机房环境、Packet Tracer虚拟环境2、操作系统Windows 7 (服务器端安装DNS服务器及web服务器)3、协议分析工具Wireshark、Packet Tracer四、实验内容及过程1、DNS基本知识及原理DNS(Domain Name System)及域名服务系统,它的作用就是域名到IP地址的转换过程。
IP地址是网络上标识web站点的数字地址,为了简单好记,采用域名代替IP地址来标识站点地址。
而实现域名到IP地址的转换就必须具有DNS服务器。
2、DNS解析过程第一步:客户端提出域名解析请求,并将该请求发送给本地的域名服务器第二步:当本地的DNS服务器收到请求后,就先查询本地的缓存,如果有该项记录,则本地的DNS服务器就直接把查询结果返回;第三步:如果本地的缓存记录中没有该记录就直接把该请求发给根服务器,然后根域名服务器再返回本地域名服务器一个所查询域的主域名服务器地址;第四步:本地服务器再向上一步返回的域名服务器发出请求,然后接收请求的服务器查询自己的缓存记录,如果有该条记录则将结果返回;第五步:若没有则重复该过程,直到找到正确记录;第六步:本地域名服务器把返回的结果保存到本地缓存以备下次使用,同时将结果返回给发出请求的客户机;3、网络拓扑结构设计图4.3.1图4.3.1中①pc1---pc4为客户机,由客户机向服务器发出DNS解析请求,IP地址分别配置为192.168.8.1—192.168.8.4 子网掩码均为255.255.255.0,DNS服务器地址为192.168.8.6;②pc5 即图中的Server-pt Http server 作为web服务器,IP地址配置为192.168.8.5,子网掩码为255.255.255.0,DNS服务器地址为192.168.8.6;③pc6 即图中的Server-pt DNS serve就是负责域名解析的本地DNS服务器、IP地址配置为192.168.8.6。
网络协议实验报告

网络协议实验报告摘要:本实验报告旨在研究和分析网络协议的重要性以及如何使用它们来实现安全和高效的数据传输。
通过实验,我们深入了解了几种常见的网络协议,并通过实际操作了解了它们的工作原理和应用场景。
实验结果表明,在合适的环境下,网络协议能够确保数据的可靠传输,并提供一定程度的安全性保障。
1. 引言网络协议是计算机网络中实现数据传输的基础。
它们定义了数据如何在计算机网络中传递和交换,确保数据的可靠性、安全性和高效性。
在本次实验中,我们将重点研究以下几种网络协议:1.1. TCP/IP协议TCP/IP协议是互联网中最常用的网络协议之一。
它分为四层:网络接口层、网络层、传输层和应用层。
每一层都有特定的功能和任务。
网络协议的实现和使用牵涉到各个层次的相关技术和配置。
1.2. HTTP协议HTTP协议是用于在Web浏览器和Web服务器之间传输超文本的协议。
它基于TCP/IP协议,并通过可靠的连接进行数据传输。
通过HTTP协议,我们可以实现网页的请求和响应,以及其他与Web相关的操作。
HTTP协议的实现和使用在今天的互联网中至关重要。
2. 实验目的本次实验的目的是:2.1. 理解和掌握各种网络协议的工作原理和应用场景;2.2. 通过实际操作验证网络协议的功能和效果;2.3. 探索网络协议在实际应用中的安全性和可靠性。
3. 实验过程3.1. 搭建实验环境在实验开始前,我们需要搭建一个适合的实验环境。
确保计算机网络的正常连接,并安装必要的软件和工具。
3.2. 实验一:TCP/IP协议实验在第一个实验中,我们将研究TCP/IP协议的工作原理,并进行一系列的实际操作。
首先,我们需要了解和配置网络接口层的相关参数。
接下来,我们将实现网络层和传输层的功能,包括IP地址的分配和路由的配置。
最后,我们将使用应用层协议进行数据传输,并验证其可靠性和效果。
3.3. 实验二:HTTP协议实验在第二个实验中,我们将以HTTP协议为例,研究应用层协议的工作流程和功能。
网络协议分析实验报告

网络协议分析实验报告一、实验目的本次实验旨在通过网络协议分析,深入了解常见的网络协议的工作原理和通信过程,加深对于网络通信的理解。
二、实验环境本次实验使用了Wireshark网络协议分析工具,实验环境为Windows 系统。
三、实验步骤1. 安装Wireshark2.抓包启动Wireshark,选择需要抓包的网络接口,开始进行抓包。
在抓包过程中,可以选择过滤器,只捕获特定协议或特定IP地址的数据包。
3.分析数据包通过Wireshark显示的数据包列表,可以查看抓取的所有数据包,每个数据包都包含了详细的协议信息。
可以通过点击数据包,查看每个数据包的详细信息,包括源IP地址、目标IP地址、协议类型等。
四、实验结果通过抓包和分析数据包,我们发现了一些有趣的结果。
1.ARP协议ARP(Address Resolution Protocol)是用于将IP地址解析为MAC地址的协议。
在数据包中,可以看到ARP请求(ARP Request)和ARP响应(ARP Reply)的过程。
当发送方需要向目标发送数据包时,会发送ARP请求来获取目标的MAC地址,然后通过ARP响应获取到目标的MAC地址,从而进行通信。
2.HTTP协议HTTP(Hypertext Transfer Protocol)是Web开发中常用的协议。
在数据包中,可以看到HTTP请求(HTTP Request)和HTTP响应(HTTP Response)的过程。
通过分析HTTP的请求和响应,我们可以看到客户端发送了HTTP请求报文,包括请求的URL、请求的方法(GET、POST等)、请求头部和请求体等信息。
服务器收到请求后,发送HTTP响应,包括响应的状态码、响应头部和响应体等信息。
3.DNS协议DNS(Domain Name System)是用于将域名解析为IP地址的协议。
在数据包中,可以看到DNS请求(DNS Query)和DNS响应(DNS Response)的过程。
计算机网络协议仿真实验指导书

计算机网络协议仿真实验指导书计算机网络协议仿真实验指导书实验目的:通过计算机网络协议仿真实验,让学生了解网络协议的实际应用,掌握各种网络协议的工作原理以及应用场景,并培养学生的分析和解决问题的能力。
实验原理:计算机网络协议是计算机网络中的重要组成部分,它是网络通信的核心内容。
计算机网络协议是一种标准化的协议,可以让不同类型、不同品牌的计算机在网络中进行通信。
网络协议通过传输层、网络层、数据链路层和物理层来完成传输数据的功能。
在计算机网络协议仿真实验中,我们主要采用 Packet Tracer 网络仿真工具,该工具可以创建和配置网络设备、创建网络拓扑、使用不同网络协议等,以便帮助学生更好地了解计算机网络协议的实际应用。
实验环境:硬件环境:计算机、路由器、交换机、网线等。
软件环境:Packet Tracer 网络仿真工具、Wireshark 数据包分析工具等。
实验内容:本次实验主要分为五个模块,分别是常用网络协议、路由协议、交换机协议、网络安全协议和网络故障排除。
模块一:常用网络协议1.1 建立简单网络拓扑,包括计算机、服务器、交换机等,并使用 ICMP 和 Ping 命令进行测试。
1.2 使用电子邮件发送和接收电子邮件,并介绍 SMTP、POP3 和 IMAP 等协议。
1.3 使用 FTP 协议上传和下载文件,介绍 FTP 协议的工作原理和应用场景。
模块二:路由协议2.1 了解 OSPF 和 RIP 等路由协议的工作原理和应用场景,并模拟 OSPF 和 RIP 路由器之间的互联。
2.2 使用 Wireshark 工具对 OSPF 和 RIP 数据包进行分析,检查路由器之间的通信是否正常。
模块三:交换机协议3.1 了解 STP 和 VLAN 等交换机协议的工作原理和应用场景,并创建 STP 和VLAN 交换机。
3.2 使用 Wireshark 工具对 STP 和 VLAN 数据包进行分析,检查交换机之间的通信是否正常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安郵電大學网络协议分析与仿真课程设计报告书
院系名称:计算机学院实验内容:网络流量分析学生姓名:专业名称:网络工程
班级:学号:时间: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.srceq172.16.1.234orip.dsteq172.16.1.234)and(ip.srceq123.125.160.40orip.dsteq123.125.160.40)脚本Package_count.sh#!/bin/bash#byskyversion1.0#20121205functioncheckip{dot=`echo$1|awk-F'.''{printNF-1}'`if[$dot-ne3];thenreturn1ifcount=0forvarin`echo$1|awk-F.'{print$1,$2,$3,$4}'`doecho$var|grep"^[0-9]*$">/dev/nullif[$?-ne0];thenreturn1fiif[$var-ge0-a$var-le255];then((count=count+1))continueelsereturn1fidoneif[$count-eq4];thenreturn0elsereturn1fi}if[$#-eq0-o$#-ne2]thenecho"Usage:shellnamefilenameipaddress"echo"justlike:package_count.shhttp172.16.1.234"exit1fiif[!-f$1]thenecho"The$1isnoexist"exit2fi#echo$2|grep'\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}'>>/dev/nullcheckip${2}
if[$?-ne0]thenecho"PleaseinputeffectiveIP"exit3finumber=`grep"Src:$2"$12>/dev/null|wc-l`if[$number-eq0]thenecho"PleaseinputanIPthanincludethe$1"exit4fiecho"The$2assourcehas$numberpackages"
(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#byskyversion1.0#20121207
if[$#-ne1]thenecho"Usage:shellnamefilename"echo"Justlike:rtt_count.shhttp"exit1fi
if[!-f$1]thenecho"Pleaseinputaneffectivefile"exit2fi
grepRTT$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]);