监控IP包流量课程设计报告
- 格式:doc
- 大小:120.50 KB
- 文档页数:13
ip抓包课程设计一、课程目标知识目标:1. 学生能理解IP抓包的基本概念,掌握抓包工具的使用方法。
2. 学生能分析网络数据包的结构,识别各类协议及其特点。
3. 学生能了解网络通信过程中数据包的传输过程,理解网络延迟、丢包等现象的产生原因。
技能目标:1. 学生能运用抓包工具捕获并分析实时网络数据包,具备网络问题排查能力。
2. 学生能通过抓包数据,分析网络攻击手段,提高网络安全意识。
3. 学生能独立完成网络数据包分析任务,具备一定的网络故障处理能力。
情感态度价值观目标:1. 培养学生积极探索网络知识的兴趣,提高学习主动性和积极性。
2. 增强学生对网络安全的重视,树立正确的网络道德观念。
3. 培养学生团队协作精神,提高沟通与表达能力。
本课程针对高中年级学生,结合计算机网络知识,设计IP抓包课程。
课程性质为实践性、探究性,旨在让学生在实际操作中掌握网络知识,提高网络技能。
根据学生特点,课程注重培养学生的学习兴趣和动手能力,强调理论知识与实践操作相结合。
教学要求明确,注重培养学生的网络安全意识和团队协作精神,为后续学习及实际应用打下坚实基础。
通过本课程的学习,学生将具备一定的网络问题排查和解决能力,为我国培养高素质的网络技术人才做好准备。
二、教学内容1. 理论知识:- 计算机网络基础:网络分层模型、IP地址、端口等基本概念。
- 抓包工具介绍:Wireshark等抓包工具的安装与使用方法。
- 网络协议分析:TCP/IP协议族、HTTP、HTTPS、FTP等常用协议的特点及抓包分析技巧。
2. 实践操作:- 抓包工具操作演示:教师现场演示抓包过程,分析数据包结构。
- 学生动手实践:分组进行抓包实验,分析特定协议数据包,识别网络攻击行为。
- 网络问题排查:利用抓包工具进行网络故障排查,分析并解决实际问题。
3. 教学大纲:- 第一课时:计算机网络基础及抓包工具介绍。
- 第二课时:网络协议分析及抓包操作演示。
- 第三课时:学生动手实践,分组进行抓包实验。
课程设计书学院计算机学院专业计算机科学与技术班级题目监控IP数据包流量教师学生课程设计小组成员及分工本小组成员:xxx yyy zzz分工:xxx 做本课程设计的目的,本课程设计的要求及本课程设计的一些内容yyy 做本课程设计的一些基础知识,本课程设计的分析,本课程设计的结果,本课程设计的总结zzz 做本课程设计的代码,本课程设计的框架设计,本课程设计的结果验证,本课程设计的逻辑分析。
目录一、课程设计目的和要求 (1)1.课程设计目的: (1)2.课程设计要求: (1)二、课程设计的内容 (2)三、课程设计核心知识 (4)四、课程设计框架 (6)五、课程设计详细分析 (8)六、实验源代码 (16)七、课程设计总结 (31)一、课程设计目的和要求1.课程设计目的:随着internet技术的发展,基于IP协议的网络应用成为网络技术研究与软件开发的一个重要基础,因此学习网络层的基本概念,了解IP协议的基本内容,对于掌握TCP/IP协议的主要内容和学习网络课程是十分重要的。
通过本次课程设计,有助于熟悉IP包格式和加深对IP协议的理解。
2.课程设计要求:编制程序,监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出在该时间段内发出的IP包的个数,将其写入日志文件中并用图形表示出来。
程序的具体要求如下:1.在图形窗口界面下,根据用户输入的捕获时间和选择的网卡输出该段时间内的IP数据包流量分析2.能够将捕获的信息写入日志文件二、课程设计的内容1.课程设计的内容:1)使用Winpcap,Winpcap的主要功能在于独立于主机协议(如TCP/IP)发送和接受原始数据包;2)列出网卡列表,让用户选择可用的网卡;3)使用过滤器捕获IP包,别的包都过滤掉;4)捕获IP包并按包的源地址进行统计(用链表结构进行实现)。
5)将统计结果输出到图形窗口界面或输出到日志文件程序流程如图8-1所示。
2.一些必要的基础知识1.熟悉IP首部格式2.使用Winpcap工具WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库.WinPcap产生的目的,就是为Win32应用程序提供这种访问方式;WinPcap提供了以下功能a)捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的b)在数据包发送给某应用程序前,根据用户指定的规则过滤数据包c)将原始数据包通过网络发送出去d)收集并统计网络流量信息使用Winpcap工具主要需要三个步骤:1).安装底层驱动:在Winpcap官网()下载并安装Winpcap.exe即可2).导入库文件:下载wpdpack开发包,并在开发环境(VC)中导入Lib和Include 文件夹路径。
数据通信与网络课程设计实践报告--解析IP数据包HUBEI NORMAL UNIVERSITY 专业课程论文Course’s Thesis课程名称数据通信与网络作业题目数据通信与网络课程设计报告学生姓名贺兵学号2008115020307指导教师彭旭富所在院系计算机科学与技术学院专业名称通信工程完成时间2012-01-10数据通信与网络课程设计报告摘要:互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP 数据包格式,以消除个通信子网中的差异,从而为信息发送方和接收方提供了透明的传输通道。
本程序使用套接字socket编程,将网受流经网卡的所有类型的数据包。
首先,初始化套接字,然后监听数据包,解析数据包。
关键字:TCP/IP协议,数据包,套接字,解析一设计内容及任务利用C/C++/VC/VB/JAVA语言,根据所学知识,设计程序,功能为捕获网络中的IP数据包,接续数据包的内容,将结果显示在标准输出上,并同时写入日志文件。
具体:1.以命令行形式运行,ipparse logfile,其中ipparse是程序命,而logfile则代表记录记过的日志文件。
2.在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。
3.当程序接收到键盘输入Ctrl+C时推出。
二设计思想IP数据报的格式说明IP协议都具有什么功能。
其首部,版本目前广泛使用的版本号为4;首部长度站4bit;服务类型占8bit,其中服务类型TOS子域占4位,优先级子域占3位,另一位为保留位;总长度字段为2B,IP数据包的最大长度是65535B;标识占16bit,它是一个计数器,用来产生数据报的标识;标志占3bit,其中最低为为MF,MF=1时为后面“还有分片”,MF=0表示这是数据报片中的最后一个,DF=0时,表示允许分片;片偏移以8个字节为偏移单位;生存时间字段记为TTL,单位为秒;协议段占8bit,用于指出次数据是使用何种协议,典型的协议号有6:TCP,17:UDP,1:ICMP。
交换机数据流量监控实验报告一、引言在计算机网络中,数据流量监控是一项非常重要的任务。
交换机作为网络中的核心设备,负责转发和处理网络数据包。
因此,对交换机的数据流量进行监控与分析,有助于了解网络的运行状况,及时发现并解决网络故障和瓶颈问题。
本实验旨在通过设置监控目标和采集数据,实现对交换机数据流量的监控。
二、实验步骤1. 硬件准备本次实验所需的硬件设备包括一台交换机、多台计算机和必要的连接线。
2. 实验网络拓扑搭建搭建一个包含交换机和多台计算机的局域网拓扑结构。
将交换机与计算机通过合适的连接线相连,确保网络正常连接。
3. 配置流量监控工具选择合适的流量监控工具,如Wireshark或nTop等,并在本地计算机上安装和配置。
确保监控工具能够捕获和分析从交换机经过的网络数据包。
4. 设置监控目标根据实验需求,设置需要监控的交换机端口或特定IP地址,以捕获这些目标的数据流量。
5. 开始监控启动流量监控工具,开始捕获数据包。
监控过程中,可以设置过滤器以对数据进行筛选和分析,也可以实时查看各个端口的数据流量情况。
6. 数据分析与报告根据捕获到的数据包,进行数据分析,分析交换机的流量状况、流量峰值、流量分布等。
根据分析结果生成实验报告,包括数据流量图表、相关统计数据和分析结论。
三、实验结果与分析通过实验,我们成功地进行了交换机数据流量监控,并获取了实时的流量数据。
下面是我们分析的实验结果和结论:1. 流量统计通过流量监控工具,我们对交换机各个端口的数据流量进行了统计。
结果显示,不同端口的流量存在明显差异,一些端口的流量高峰较为突出。
2. 流量分布我们还通过数据分析,了解了交换机数据流量的分布情况。
结果显示,一些IP地址的数据流量占据了绝大部分,而其他IP地址的流量较小。
3. 流量峰值在监控过程中,我们发现了交换机的流量峰值。
这些流量峰值出现的时间较为集中,可能与网络使用情况有关。
四、结论与建议通过本次实验,我们对交换机数据流量监控有了初步了解,并获取了实验结果和分析报告。
ip课程设计实验报告一、教学目标本章节的教学目标包括以下三个方面:1.知识目标:通过本章节的学习,学生需要掌握IP地址的基本概念、分类和作用,了解子网划分和IP地址分配的原理和方法。
2.技能目标:学生能够运用所学的知识,进行IP地址的配置和管理,掌握子网划分和IP地址分配的实践操作。
3.情感态度价值观目标:通过本章节的学习,学生能够培养对网络技术的兴趣和好奇心,增强信息时代下的责任感,认识到网络技术在现代社会中的重要性和应用价值。
在制定教学目标时,充分考虑了课程性质、学生特点和教学要求,将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容本章节的教学内容主要包括以下几个方面:1.IP地址的基本概念:IP地址的定义、IP地址的格式和分类。
2.子网划分:子网划分的原理和方法,子网掩码的概念和计算。
3.IP地址分配:IP地址分配的原则和方法,私有IP地址和公有IP地址的区分。
4.IP地址的配置和管理:Windows系统下IP地址的配置方法,Linux系统下IP地址的配置方法。
5.实践操作:学生动手进行子网划分和IP地址分配的实践操作。
教学内容的选择和确保了科学性和系统性,详细的教学大纲明确了教学内容的安排和进度,教材的章节和内容列举清晰。
三、教学方法为了激发学生的学习兴趣和主动性,本章节将采用以下几种教学方法:1.讲授法:通过讲解IP地址的基本概念、子网划分和IP地址分配的原理和方法,使学生掌握理论知识。
2.讨论法:学生进行小组讨论,分享子网划分和IP地址分配的实践经验,促进学生之间的交流和合作。
3.案例分析法:分析实际案例,让学生了解子网划分和IP地址分配在实际应用中的重要性。
4.实验法:安排实践操作环节,让学生亲自动手进行子网划分和IP地址分配,巩固所学知识。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,将选择和准备以下教学资源:1.教材:选用权威、实用的IP地址教材,为学生提供理论知识的学习依据。
计算机网络 课程设计报告课 题: 监控IP 包的流量 专 业 班 级: 计科10101班姓名(学号): 张鸣宇(201017010103): 李 玮(201017010143)指 导 教 师: 梅晓勇目 录评阅意见: 评定成绩: 指导老师签名: 年 月 日一目的和意义从社会角度来说,随着人们对Internet的依赖性越来越高,网络传输的业务类型变得缤纷多彩,在此背景下,需要对网络状况,网络性能进行准确的检测和评估,而这次课程设计正是对流量工程内容研究.从学习的角度来说,此次课程设计将我们带入网络编程领域,进一步网络知识的应用,监控IP包的流量课程设计让我们进一步了解IP协议的基本内容,对于掌握TCP/IP协议的主要内容和学习网络课程是十分重要的,此外,也加深了对Winpcap的理解和运用能力,同时也增长了知识,开阔了视野,对于以后的学习有很大的帮助。
二基本原理2.1概述1。
IP协议IP是TCP/IP模型中的网络层协议,又称为互联网协议,是支持网间互连的数据报协议,它与TCP协议一起构成了TCP/IP协议族的核心。
它提供网间连接的完善功能,包括IP数据报规定互联网范围内的IP地址格式[2].在因特网中IP 协议是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。
任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。
IP地址具有唯一性,根据用户性质的不同,可以分为不同的类别。
IP协议的特点如下:(1)IP协议是一种不可靠、无连接的数据报传送协议。
(2)IP协议是点对点的网络层通信协议.(3)IP协议向通信层隐藏了物理网络的差异。
(4)IP协议以一种数据报的形式传输数据,每个数据报独立传输,可能通过不同路径传输,因此可能不按顺序到达目的地,或者出现重复。
2. 关于Winpcap库Winpcap(windows packet capture)是windows平台下一个买费的、公共的基于windows的网络接口API库.主要为win32应用程序提供访问网络底层的能力。
目录一、课程设计目的 (2)二、课程设计要求 (2)三、课程设计分析 (2)四、运行结果: (5)五、心得体会: (5)参考文献 (7)源代码: ............................................................ 错误!未定义书签。
一、课程设计目的随着Internet技术的发展,基于IP协议的应用成为网络技术研究与软件开发的一个重要基础,因此学习网络层以基本概念,了解IP协议的基本内容,对于掌握TCP/IP协议的主要内容和学习网络课程是十分重要的,通过本次课程设计,有助于熟悉IP包格式和加深对IP协议的理解。
二、课程设计要求编制程序,监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP包的个数,将其写入日志文件中或用图形表示出来(建议用图形表示出统计结果)。
程序的具体要求如下:用命令行运行:IPStatistic time logfile其中,IPStatistic是程序名;time是设定的统计时间间隔(单位为分钟,比如,2表示2分钟);logfile表示统计结果写入的日志文件名(若用图形表示统计结果则可以不选这个参数)。
相关知识:IP是ICP/IP协议体系中的网络层协议,TCP、UDP、ICMP和IGMP等其他协议都是以IP 协议为基础的。
IP的特点如下:(1) IP协议是一种不可靠、无连接的数据报传送协议。
(2) IP协议是点对点的网络层通信协议。
(3) IP协议向通信层隐藏了物理网络的差异。
三、课程设计分析1.课程设计中的重点及难点(1)程序中会用到Winpcap, Winpcap是Windows packet capture的缩写,这是UNIX下的lipbcap移植到Windows下的产物,是Win32环境下数据包捕获的开放代码函数库。
Winpcap由内核级的数据包过滤器,底层动态链接库(packet.dll)和一个高层的独立于系统的库(wpcap.dll)组成。
计算机网络课程设计IP数据包解析(共5篇)第一篇:计算机网络课程设计 IP数据包解析课设名称:IP数据包解析班级:学号:姓名:指导老师:日期: 2012.6.15计算机网络课程设计报告目录1.课程设计目的 (1)2.课程设计要求 (1)3.程序设计分析 (1)3.1 网卡设置 (1)3.2 使用套接字 (2)3.2.2 接收数据包 (2)3.3 定义IP头部的数据结构 (3)3.4 IP包的解析 (3)3.5 协议的定义 (4)3.6捕获处理 (4)4.运行结果 (5)5.总结 (5)6.源程序代码 (6)Ip数据包解析1.课程设计目的本课程设计的目的就是设计一个捕获并解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对IP 层的工作原理有更好的理解和认识。
2.课程设计要求本设计的目标是捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。
程序的具体要求如下:1)以命令行形式运行:ipparse logfile,其中ipparse是程序名, 而logfile则代表记录结果的日志文件。
2)在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。
3)当程序接收到键盘输入Ctrl+C时退出3.程序设计分析3.1 网卡设置为了获取网络中的IP数据包,必须对网卡进行编程,在这里使用套接字(socket)进行编程。
但是,在通常情况下,网络通信的套接字程序只能响应与自己硬件地址相匹配的数据包或是以广播形式发出的数据包。
对于其他形式的数据包,如已到达网络接口,但却不是发送到此地址的数据包,网络接口在骓投递地Ip数据包解析址并非自身地址之后将不引起响应,也就是说应用程序无法收取与自己无关的数据包。
我们要想获取网络设备的所有数据包,就是需要将网卡设置为混杂模式。
成绩评定表课程设计任务书目录1 课程设计目的 (1)2 课程设计要求 (2)3 相关知识 (3)4 课程设计分析 (6)5 程序代码 (11)6 运行结果与分析 (18)7 参考文献 (18)1 课程设计目的IP数据包是网络成传输的基本数据单元,熟悉IP数据包结构对于理解网络工作原理具有重要意义。
本课程设计的主要目的是通过接受与解析IP数据包,了解IP数据包的基本结构与IP协议的基本功能。
2 课程设计要求根据后面介绍的IP数据包结构,编写程序接收并解析IP数据包。
1)以命令行形式运行;ParsePacket log_file其中,ParsePacket为程序名,log_file为日志文件名。
2)输出内容:IP数据包的各字段值,包括版本、头部长度、服务类型、总长度、标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等。
3)当程序接收到键盘输入Ctrl+C时退出。
3相关知识互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地位,IP 协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送方和接收方提供了透明的传输通道.编制本程序前,首先要对IP包的格式有一定了解,图1给出了IP 协议的数据包格式.IP数据包的第一个字段是版本字段,其度是4位,表示所使用的IP协议的版本.目前的版本是IPV4,版本字段的值是4,下一代版本是IPV6,版本字段值是6.本程序主要针对版本是IPV4的数据包的解析.报头标长字段为4位,它定义了以4B为一个单位的IP包的报文长度.报头中除了选项字段和填充域字段外,其他各字段是定长的.因此,IP数据包的头长度在20—40B之间,是可变的.0 4 8 16 19 24 31(位)图3.1 IP数据包的格式服务类型字段共8位,用于指示路由器如何处理该数据包.该字段长度由4位服务类型(TOS)子域和3位优先级子域组成,1位为保留位,该字段结构如图2所示.图3.1 服务类型字段结构优先级共有8种,优先级越高表明数据包越重要.表1中列出了各种优先级所代表的意义.表3.2 优先子域的说明在4位服务类型子域中b4,b3,b2,b1分别表示D(延迟),T(吞吐量),R(可靠性)与C(成本).表3.3列出了服务器类型自域的构成.总长度字段为2B,它定义了以字节为单位的数据包的总长度.IP数据包的最大长度为65535B.标识字段的长度为16位,用于识别IP数据包的编号.每批数据都要有一个标识值,用于让目的主机判断新来的数据属于哪个分组.报头中的标志字段如图7-3所示.标志字段共3位,最高位是0.禁止分片标志DF(do not fragment)字段的值若为1,表示不能对数据包分片;若DF值为0,则表明可以分片.分片标志MF( more fragment)的值为1,表示接收到的不是最后一个分片;若MF值为0,表示接收到的是最后一个分片.片偏移字段共13位,说明分片在整个数据包中的相对位置.片偏移值是以8B为单位来记数的,因此选择的分片长度应该是8B的整数倍.生存时间(TTL)字段为8位,用来设置数据包在互联网络的传输过程的寿命,通常是用一个数据包可以经过的最多的路由器跳步数来限定的.协议字段为8位,表示使用此IP数据包的高层协议类型,常用的协议号如表7-3所示.表7.3 典型的协议号头校验和字段为16位,用于存放检查报头错误的校验码。
监控IP数据包课程设计一、课程目标知识目标:1. 让学生理解IP数据包的基本结构和组成,掌握IP地址、子网掩码等基本概念。
2. 使学生掌握监控IP数据包的方法和技巧,了解不同网络设备在数据传输中的作用。
3. 帮助学生了解网络监控的法律法规和道德规范,提高网络安全意识。
技能目标:1. 培养学生运用网络抓包工具(如Wireshark)监控IP数据包的能力。
2. 培养学生分析网络数据包、诊断网络问题的实际操作技能。
3. 提高学生团队协作能力,学会在网络环境中与他人沟通、解决问题。
情感态度价值观目标:1. 培养学生对计算机网络知识的兴趣和求知欲,激发学生的学习热情。
2. 培养学生遵守网络法律法规,尊重网络安全,树立正确的网络道德观。
3. 培养学生面对网络问题时,保持积极的心态,勇于克服困难,追求卓越。
课程性质:本课程为计算机网络技术实践课程,旨在通过实际操作,让学生掌握监控IP数据包的方法和技巧。
学生特点:学生具备一定的计算机网络基础知识,对网络监控有一定的好奇心,动手操作能力强,但可能对法律法规和道德规范了解不足。
教学要求:教师应结合学生特点,注重理论与实践相结合,强调实践操作,引导学生主动探究,激发学生学习兴趣。
同时,注重培养学生的法律法规意识和道德素养,确保网络监控的合规性。
通过分解课程目标为具体学习成果,为教学设计和评估提供明确依据。
二、教学内容1. 计算机网络基础知识回顾:IP地址、子网掩码、路由器、交换机等基本概念。
2. IP数据包结构:学习IP数据包的头部和载荷结构,了解各字段的含义和作用。
3. 网络监控工具:介绍Wireshark等网络抓包工具的使用方法和操作技巧。
4. 实际操作:指导学生使用网络监控工具抓取和分析IP数据包,诊断网络问题。
5. 网络安全与法律法规:学习网络监控相关的法律法规,了解网络安全意识。
6. 案例分析:分析实际网络监控案例,提高学生分析问题和解决问题的能力。
教学内容安排和进度:第1课时:回顾计算机网络基础知识,介绍IP数据包结构。
上是编制程序�监控网络�捕获一段时间内网络上的I P数据包�按I P数据包的本次课程设计主要是通过用V C++编程实现对网络中I P数据包流量的统计�实际1.1课程设计目的助于熟悉I P数据包格式并加深对I P协议的理解。
T C P/I P协议的主要内容和网络课程的学习是十分重要的�通过本次课程设计�有个重要基础�因此学习网络层以基本概念�了解I P协议的基本内容�对于掌握随着I n t e r n e t技术的发展�基于I P协议的应用成为网络技术研究与软件开发的一1引言传输�因此可能不按顺序到达目的地�或者出现重复。
I P协议以一种数据报的形式传输数据�每个数据报独立传输�可能通过不同路径I P协议向通信层隐藏了物理网络的差异。
I P协议是点对点的网络层通信协议。
I P协议是一种不可靠、无连接的数据报传送协议。
I P协议的特点如下�分为不同的类别。
根据流量设计程序的主要功能�相应的算法如下�调函数来显示网络流量了。
卡的数据包�包括不是发给本机的数据包�接下来的任务就是开始主循环调用回捕获网络数据流的某些数据�将网络适配器设置为统计模式就是接受所有经过网等�选择要监听的网络适配器就是要用户选择网卡�编译并设置过滤器是为了只图中取得网络适配器列表主要是得到网卡的相关信息�即网卡的个数、连接情况图1流量统计程序的主要功能根据以上设计原理可以得到流量统计程序的主要功能模块如下图1�}c o u t<<"N ode s c r i p t i o n a v a i l a b l e!"<<'\n';e l s ec o u t<<""<de s c r i p t i o n;i f(d->d e s c r i p t i o n)c o u t<<++i<<":"<n a m e;u_c h a r*p k t_d a t a)v o i d d i s p a t c h e r_h a n d l e r(u_c h a r*s t a t e,c o n s t s t r u c t p c a p_p k t h d r*h e a d e r,c o n s t //对于捕获到的每一个数据包应用此回调函数3.6回调函数的实现p c a p_c l o s e(f p);p c a p_l o o p(f p,0,d i s p a t c h e r_h a n d l e r,(P U C H A R)&s t_t s);进行处理�f p指向打开的网络适配器[4]//s t o r e c u r r e n t t i m e s t a m pp r i n t f("P P S=%I64u\n",P p s.Q u a d P a r t); p r i n t f("B P S=%I64u",B p s.Q u a d P a r t); //P r i n t t h e s a m p l e sp r i n t f("%s",t i m e s t r);//P r i n t t i m e s t a m p点击菜单栏里的工程——设置�选择连接第二步�把w i n p c a p开发包里面的l i b文件添加进去。
南昌航空大学计算机学院课程设计说明书课程名称:计算机网络课程设计设计题目:监控IP包流量专业:网络工程班级: 050621 姓名:吴文强学号: 24评分:指导教师:周之平邓林生2008 年 6 月 29 日一.课程设计目的随着Internet技术的发展,基于IP协议的网络应用成为网络技术研究与软件开发的一个重要基础,因此学习网络层的基本概念,了解IP 协议的基本内容,对于掌握TCP/IP协议的主要内容和学习网络课程是十分重要的。
通过本课程设计,有助于熟悉IP包格式和加深对IP协议的理解。
二.需求分析1.编制程序,监控网络,捕获一段时间内网络上IP数据包,按IP 数据包的源地址统计出该源地址在该时间内发出的IP包个数,将其写入日志文件中或用图形表示出来。
2.设计可视化图形界面,可以进行捕获操作和停止操作,并且捕获完成后有统计结果显示和日志文件生成。
3.程序设计采用C++或者Java(本次设计决定采用C++)。
三.概要设计本次课程设计的主要目的是接收统计IP包,所以主要任务就是设置网卡以及相关的一系列操作,而图形界面的设计要求次之,所以主要介绍下我门对接收统计IP包的一些设计:⑴定义一些用于存储所要记录的源地址和该源地址发出的包的个数的结构体以及链表;⑵主要是查找网卡,设置网卡为混杂模式,编辑过滤器,设置过滤器;⑶捕获IP数据包并按包的源地址进行统计(存入链表中)。
程序流程图如下:图1程序流程图四.详细设计及编码(1)新建一个基于对话框的MFC AppWizard[exe]工程,取名为IPStatistic。
在IDD_IPSTATISTIC_DIALOG中加入界面所需要的控件,所加的控件从上到下依次有静态文本取名为网卡列表,下拉列表框(定义变量为m_comboboxx),静态文本取名为捕获包个数,静态文本(设置ID为IDC_CLOCK,用于显示捕获的包个数),开始捕获按钮,停止按钮,退出按钮,静态文本(设置ID为IDC_STATE,用于表示当前状态),一个组合框(取名为统计结果如下:), 一个清空列表按钮,最后一个是列表控制框(用于显示最后捕获的数据统计),此时的界面如下图:图2 初始化界面(2)向工程里添加C++头文件,命名为IPNodeList(存储结构接点和链表的定义),代码如下:.");算机网络课程设计.机械工业出版社,[2]求是科技谭思亮.监听与隐藏.人民邮电出版社,[3]胡海生李升亮.Visual C++ 编程学习捷径.清华大学出版社,。
计算机网络课程设计实验报告任课教师:班级:学号:姓名:目录实验一ARP封装并发送 (3)课程设计目的: (3)课程设计要求: (3)课程设计分析: (3)程序设计分析: (4)实验结果 (5)源程序 (6)实验二解析IP数据包 (9)课程设计目的: (9)课程设计要求: (9)课程设计分析: (9)程序设计分析 (9)实验结果 (13)源代码 (13)实验三FTP客户机 (17)课程设计目的: (17)课程设计要求: (17)课程设计分析: (17)程序设计原理: (18)实验结果 (23)源代码 (24)实验心得体会 (37)实验一ARP封装并发送课程设计目的:•ARP协议用于完成IP地址与MAC地址之间的转换。
通过封装与发送ARP 数据包,加深对ARP协议的理解,掌握ARP帧结构和工作原理及其对协议栈的贡献。
课程设计要求:•编写程序,根据ARP帧的结构,封装ARP帧。
•要求程序为命令行程序,以命令行的形式运行:SENDARP S-IP S-MAC D-IP D-MAC其中:SENDARP:可执行程序名S-IP:源IP地址S-MAC:源MAC地址D-IP:目的IP地址D-MAC:目的MAC地址课程设计分析:•使用winpcap访问网卡,手动封装•定义ARP的数据结构•填充数据包•发送数据包程序设计分析:ARP 协议及工作原理ARP 协议是“Address Resolution Protocol ”(地址解析协议)的缩写。
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC 地址的。
在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。
但这个目标MAC 地址是如何获得的呢?它就是通过地址解析协议获得的。
所谓“地址解析”就是主机在发送帧前将目标IP 地址转换成目标MAC 地址的过程。
ARP 协议的基本功能就是通过目标设备的IP 地址,查询目标设备的MAC 地址,以保证通信的顺利进行。
第1篇一、实验目的本次实验旨在了解并掌握流量监控工具的基本原理、功能特点和使用方法,通过实际操作验证其性能,为后续网络管理和安全防护提供技术支持。
二、实验环境1. 操作系统:Linux Ubuntu 18.042. 网络设备:交换机、路由器、PC3. 软件工具:sFlow-rt、Tcpdump、NetFlow Analyzer三、实验步骤1. sFlow-rt流量监控工具实验(1)安装sFlow-rt:在Linux终端执行以下命令,下载并安装sFlow-rt。
```wget /sflowrt-3.0.1.tar.gztar -xvzf sflowrt-3.0.1.tar.gzcd sflowrt-3.0.1./configuremakemake install```(2)配置sFlow-rt:在配置文件中设置sFlow-rt的参数,如接口、采集周期等。
```vi /etc/sflowrt/sflowrt.conf```(3)启动sFlow-rt服务:在终端执行以下命令,启动sFlow-rt服务。
```systemctl start sflowrt```(4)测试sFlow-rt:在sFlow-rt Collector端运行以下命令,查看采集到的流量数据。
```sflowrt-collector -l 1000 -o /var/log/sflowrt/sflowrt.log```2. Tcpdump流量监控工具实验(1)安装Tcpdump:在Linux终端执行以下命令,下载并安装Tcpdump。
```sudo apt-get install tcpdump```(2)监控特定端口流量:在终端执行以下命令,监控特定端口的流量。
```tcpdump port 80```(3)将流量保存到文件:在终端执行以下命令,将流量保存到文件。
```tcpdump -w traffic.pcap port 80```(4)使用Winshark分析流量:将保存的流量文件传输到Windows系统,使用Winshark打开并分析流量。
计算机网络课程设计解析ip数据包一、教学目标本节课的教学目标是让学生了解和掌握IP数据包的组成和工作原理,培养学生分析问题和解决问题的能力。
具体分为以下三个部分:1.知识目标:使学生能够描述IP数据包的结构,理解IP地址的概念及其分类,掌握IP数据包的传输过程。
2.技能目标:培养学生运用网络协议分析工具分析IP数据包的能力,能够通过实际案例分析网络故障。
3.情感态度价值观目标:培养学生对计算机网络技术的兴趣,增强其对网络安全的意识,使其认识到计算机网络技术在现代社会中的重要作用。
二、教学内容本节课的教学内容主要包括以下几个部分:1.IP数据包的结构:介绍IP数据包的基本组成,包括头部和数据部分,以及各字段的含义。
2.IP地址:讲解IP地址的概念、分类及其表示方法,让学生了解不同类型的IP地址的使用场景。
3.IP数据包的传输:讲解IP数据包在网络中的传输过程,包括路由选择、分片与重组等。
4.案例分析:分析实际网络故障案例,让学生学会运用IP数据包分析工具进行问题排查。
三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法:1.讲授法:讲解IP数据包的结构、IP地址的分类等基本概念。
2.案例分析法:分析实际网络故障案例,让学生学会运用IP数据包分析工具进行问题排查。
3.实验法:安排课堂实验,让学生亲自动手配置IP地址,分析IP数据包,增强实践操作能力。
4.讨论法:学生分组讨论,分享学习心得,培养团队合作精神。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的计算机网络教材,为学生提供系统的理论知识。
2.参考书:提供相关网络技术参考书籍,方便学生课后拓展学习。
3.多媒体资料:制作精美的PPT课件,直观展示IP数据包的结构和传输过程。
4.实验设备:准备网络实验设备,让学生能够亲自动手实践,提高实际操作能力。
五、教学评估为了全面、客观地评估学生的学习成果,本节课的教学评估将采用多种方式:1.平时表现:关注学生在课堂上的参与程度、提问回答等情况,给予及时的反馈和鼓励。
ip流量统计课程设计一、课程目标知识目标:1. 理解IP流量的基本概念,掌握IP流量的统计方法;2. 学会使用相关软件工具进行IP流量统计,并能分析统计结果;3. 了解IP流量统计在网络安全、网络优化等方面的应用。
技能目标:1. 能够独立操作IP流量统计软件,进行数据收集和分析;2. 培养学生解决实际问题的能力,将理论知识运用到实践中;3. 提高学生的团队协作和沟通能力,通过小组讨论、分享心得,共同提高。
情感态度价值观目标:1. 培养学生对网络技术的兴趣,激发学生主动学习的热情;2. 增强学生的网络安全意识,使他们明白合理使用网络资源的重要性;3. 培养学生严谨的科学态度,注重实际操作与理论相结合。
课程性质:本课程为信息技术课程,旨在帮助学生掌握IP流量统计的基本知识和技能,提高网络素养。
学生特点:学生为初中生,对网络技术有一定的基础,好奇心强,喜欢探索新知识。
教学要求:结合学生特点,注重理论与实践相结合,以操作实践为主,培养学生的动手能力和解决问题的能力。
通过小组合作、讨论分享,提高学生的团队协作和沟通能力。
在教学过程中,关注学生的个体差异,因材施教,使每个学生都能达到课程目标。
最终将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. IP流量基本概念:介绍IP流量的定义、组成及作用,使学生了解IP流量在网络通信中的重要性。
相关教材章节:第一章 网络基础知识2. IP流量统计方法:讲解常见的IP流量统计方法,如SNMP、NetFlow等,并分析各自优缺点。
相关教材章节:第二章 网络监控与流量统计3. IP流量统计工具:介绍并演示常用IP流量统计软件,如Wireshark、PRTG 等,指导学生掌握操作方法。
相关教材章节:第三章 网络监控工具4. 数据分析与处理:教授如何分析IP流量统计结果,识别网络异常,为网络优化和网络安全提供依据。
相关教材章节:第四章 网络数据分析5. 实践操作:安排学生进行实际操作,分组进行IP流量统计,分析统计结果,并撰写分析报告。
校园网监控课程设计一、课程目标知识目标:1. 理解校园网监控的基本概念,掌握网络监控的技术原理;2. 学会使用网络监控软件,了解其功能及操作流程;3. 了解网络安全相关知识,认识到网络监控在校园安全中的重要性。
技能目标:1. 能够独立安装、配置网络监控软件,并进行基本操作;2. 学会分析监控数据,发现并解决网络问题;3. 能够运用所学知识,为校园网络安全提出合理建议。
情感态度价值观目标:1. 培养学生网络安全的意识,增强网络道德观念;2. 激发学生对网络技术学习的兴趣,提高主动探究问题的能力;3. 培养学生团队合作精神,学会在团队中发挥个人作用。
本课程针对中学生设计,结合学生年龄特点和知识水平,注重理论知识与实践操作的相结合。
通过本课程的学习,使学生掌握校园网监控的基本知识,提高网络安全意识,培养实际操作能力,为校园网络安全贡献自己的力量。
同时,课程目标具体、可衡量,便于教学设计和评估,有助于提高教学效果。
二、教学内容1. 校园网监控概述- 理解校园网监控的基本概念、作用和意义;- 了解网络安全的基本知识。
2. 网络监控技术原理- 学习网络监控的技术原理,如数据包捕获、流量分析等;- 掌握常见的网络监控工具及其功能。
3. 网络监控软件安装与配置- 介绍网络监控软件的安装、配置方法;- 学会使用软件进行基本监控操作。
4. 网络监控数据处理与分析- 学习如何分析监控数据,发现网络问题;- 掌握解决问题的方法和技巧。
5. 校园网络安全策略- 了解校园网络安全的重要性;- 学习制定合理的网络安全策略。
教学内容依据课程目标,以课本为基础,注重科学性和系统性。
教学大纲明确教学内容安排和进度,包括以下章节:1. 校园网监控基础知识2. 网络监控技术及其应用3. 网络监控软件操作与维护4. 网络监控数据分析和问题解决5. 校园网络安全与管理教学内容涵盖理论与实践,旨在帮助学生全面掌握校园网监控相关知识,提高实际操作能力。
目录一、课程设计目的 (1)二、课程设计要求 (1)三、课程设计分析 (1)四、运行结果: (4)五、心得体会: (4)参考文献 (6)源代码: (7)一、课程设计目的随着Internet技术的发展,基于IP协议的应用成为网络技术研究与软件开发的一个重要基础,因此学习网络层以基本概念,了解IP协议的基本内容,对于掌握TCP/IP协议的主要内容和学习网络课程是十分重要的,通过本次课程设计,有助于熟悉IP包格式和加深对IP协议的理解。
二、课程设计要求编制程序,监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP包的个数,将其写入日志文件中或用图形表示出来(建议用图形表示出统计结果)。
程序的具体要求如下:用命令行运行:IPStatistic time logfile其中,IPStatistic是程序名;time是设定的统计时间间隔(单位为分钟,比如,2表示2分钟);logfile表示统计结果写入的日志文件名(若用图形表示统计结果则可以不选这个参数)。
相关知识:IP是ICP/IP协议体系中的网络层协议,TCP、UDP、ICMP和IGMP等其他协议都是以IP 协议为基础的。
IP的特点如下:(1) IP协议是一种不可靠、无连接的数据报传送协议。
(2) IP协议是点对点的网络层通信协议。
(3) IP协议向通信层隐藏了物理网络的差异。
三、课程设计分析1.课程设计中的重点及难点(1)程序中会用到Winpcap, Winpcap是Windows packet capture的缩写,这是UNIX下的lipbcap移植到Windows下的产物,是Win32环境下数据包捕获的开放代码函数库。
Winpcap由内核级的数据包过滤器,底层动态链接库(packet.dll)和一个高层的独立于系统的库(wpcap.dll)组成。
Winpcap提供以下功能:1)捕获原始数据报,包括共享网络上各主机发送/接收的数据报以及各主机之间交换的数据报。
2)在数据报发往应用程序之前,按照自定义的规则过滤某些特殊的数据报。
3)将用户构造的数据报发送到网络中。
4)统计网络的流量。
Winpcap的主要功能在于独立于主机协议(如TCP/IP)发送和接收原始数据报。
也就是说,Winpcap不能阻塞、过滤或控制其他应用程序数据报的收发,它只是监听共享网络上传送的数据报。
因此,它不能用于QoS调度程序或个人防火墙。
基于Winpcap的应用程序一般按照下面几个步骤编写:1)获取网络设备列表。
2)选择网卡并打开。
3)当捕获数据包时,可能需要设置过滤器。
4)捕获数据包或者发送数据包。
Packet.dll相关数据结构typedef struct_ADAPTER ADAPTER //描述一个网络适配器typedef struct_PACKET PACKET具 //描述一组网络数据报的结构typedef struct NetType NetType //描述网络类型的数据结构typedef struct npf_if_addr npf_if_addr //描述一个网络适配器的IP地址struct bpf_hdr //数据报头部struct bpf_stat //当前捕获数据报(2)列出网卡列表,让用户选择可用的网卡。
(3)注意过滤器的使用,只需捕获IP所,别的包都需过滤掉。
2.参考算法(1)取得当前网络设备列表(在标准输出上显示,以让用户进行选择)。
(2)将用户选择的Ethernet卡以混杂模式打开,以接收到所有的数据包。
(3)设置过滤器,此处的过滤器“IP”。
(4)捕获IP包并按包的源地址进行统计(用链表结构进行实现)。
程序流程如图1-1所示:图1-1程序流程图四、运行结果:安装好WinPcap软件,在VC++界面上点击工具->选项->目录。
添加Include文件夹下的所有文件和Lib下的所有内容,调试完程序无误后,点击开始—>运行“cmd”进入目标文件夹Debug下运行IPI.EXE文件并加入参数2 bl.txt。
此时程序会检测电脑系统中的网卡数,然后选择程序运行时的网络接口,耐心等待两分钟后就会得到程序的运行结果.图1-2系统中网络接口数图1-3选择第三个网络接口图1-4两分钟之后捕获的ip地址和数据包五、心得体会:通过本次计算机网络课程设计,我更加充分的理解了课本上的知识,并能够加以扩展,从而应用于实践当中,这几天的课程设计令我受益匪浅,我意识到我们所学的东西将来都是要付诸实践的,所以一切要从实际情况出发,理论联系实际,这样才能真正发挥我们所具备的能力。
这次计算机网络课程设计历时一个星期,在整整七天的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。
同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!参考文献[1] 吴功宜胡晓英.计算机网课程设计北京:机械工业出版社,2007.12.[2] 张荛学郭国强.计算机网络与Internet教程(第二版) 北京:清华大学出版社2006.11.[3] 王春晓赵艳标.计算机网络教程北京:机械工业出版社,2005.08.[4] 张仁何云.计算机网络课程设计指导北京:清华大学出版社 2006.05.源代码:IP包头部结构:Struct ip_header{Unsigned char ver_ihl;//版本号(4位)+头部长度(4位) Unsigned char tos;//服务类型Unsigned short tlen;//总长度Unsigned short identification;//标识Unsigned short flags_fo;//标志+片偏移Unsigned char ttl;//生存时间Unsigned char proto;//协议Unsigned short crc;//校验和DWORD saddr;//源地址DWORD daddr;//目的地址Unsigned int op_pad //选项+填充;};1)选择网卡。
//选择一个Ethrtnet卡For(d=alldevs;d;d=d->next){If(d->addresses!=NULL){i++;if(head==NULL)head=d;}}2)给出网卡列表,让用户选择。
For(d=alldevs;d;d=d->next);//列出网卡列表,让用户进行选择{Cout<<++j<<”:”<< d->name;If(d->description)Cout<<””<<d->description<<end1;}3)以混杂模式打开网卡.If((fp=pcap_open_live(head->name,1000,1,1000,errbuf))==NULL) {Cout<<”\nunable to open the adapter.”<<end1;Pcap_freealldevs(alldevs) ;return;}4)编译过滤器并设置过滤器.If(pcap-compile(fp,&fcode,packet-filter,1,netmask)<0){Cout<<”\nunable to compile the packet filter.check the syntax.\n” ;Pcap-freealldevs(alldevs) ;return;}//设置过滤器If(pcap-setfilter(fp,&fcode),0){Cout<<”\nError setting the filter.\n” ;Pcap_freealldevs(alldevs) ;Return;}5)在给定的时间内循环捕获IP数据包,并将该IP包的源地址加入链表. While((res=pcap_next_ex(fp,&header,&pkt_data))>0){Time(&end) ;If(end-beg>=min*60) //获得系统时间break;//计算统计时间if(res==0)continue;//超时ip_header *ih;//Ih=(ip_header *)(pkt_data+14) ;//14为Ethernet头的长度Link.addnode(ih->saddr) ;//将源IP 地址加入链表}//Ip结点类,存放IP包的源IP地址和其发送数据包个数class IPNode{private:long m_lIPAddress;long m_lCount;public:IPNode *pNext;//构造函数IPNode(long sourceIP){m_lIPAddress=sourceIP;m_lCount=1;}//数据包个数加1void addCount(){m_lCount++;}//返回数据包个数long getCount(){return m_lCount;}//返回IP地址long getIPAddress(){return m_lIPAddress;}};//结点链表class NodeList{IPNode *pHead;IPNode *pTail;public:NodeList(){pHead=pTail=NULL;}~NodeList(){if(pHead!=NULL){IPNode *pTemp=pHead;pHead=pHead->pNext;delete pTemp;}}//IP结点加入链表void addNode(long sourceIP){if(pHead==NULL){pTail=new IPNode(sourceIP);pHead=pTail;pTail->pNext=NULL;}else{for(IPNode * pTemp=pHead;pTemp;pTemp=pTemp->pNext){if(pTemp->getIPAddress()==sourceIP){pTemp->addCount();break;}}//如果链表中没有此IP,则加入链表if(pTemp=NULL){pTail->pNext=new IPNode(sourceIP);pTail=pTail->pNext;pTail->pNext=NULL;}}}。