ip包流量监控实验报告
计算机ip实验报告

计算机ip实验报告计算机IP实验报告引言:计算机网络是现代社会中不可或缺的一部分,而IP(Internet Protocol)则是构成互联网的基础协议之一。
通过IP协议,我们能够实现计算机之间的通信和数据传输。
本实验旨在探索和了解计算机IP的工作原理和应用。
一、IP的基本概念IP是一种网络协议,用于在互联网上定位和寻址计算机。
它是一种面向数据报的协议,将数据分割成小的数据包进行传输。
每个计算机在网络中都有一个唯一的IP地址,类似于我们现实生活中的门牌号码,用于标识和定位计算机。
二、IP地址的分类和格式IP地址由32位二进制数表示,通常以四个十进制数表示,每个数之间用点分隔。
例如,192.168.0.1就是一个IP地址。
根据IP地址的范围,可以将其分为A类、B类、C类等不同的分类。
不同的分类决定了IP地址的可用范围和网络规模。
三、IP地址的分配和管理IP地址的分配和管理是由ICANN(Internet Corporation for Assigned Namesand Numbers)负责的。
ICANN负责分配全球唯一的IP地址,以确保互联网上的每个计算机都有一个独特的标识。
此外,还有一些机构负责管理特定地区或国家的IP地址分配。
四、IP地址的应用场景1. 网络通信:IP地址是计算机之间进行通信的基础。
通过IP地址,我们可以实现电子邮件、网页浏览、文件传输等功能。
2. 网络安全:IP地址在网络安全中扮演重要角色。
通过IP地址,网络管理员可以追踪和监控网络活动,防止恶意攻击和非法访问。
3. 地理定位:有些应用程序可以通过IP地址确定用户的地理位置。
例如,当我们使用手机上的地图应用时,它可以根据我们的IP地址显示我们的位置。
五、IP地址的动态分配和静态分配IP地址可以通过动态分配和静态分配两种方式获得。
动态分配是指通过DHCP (Dynamic Host Configuration Protocol)服务器自动分配IP地址,适用于大规模的网络环境。
网络流量监测实验二利用WINPCAP编程实验报告

姓名:班级:班内序号:学号:----------------------------------本次实验的内容是分析Winpcap程序,Winpcap程序包含在winpcap_class.zip中,解压缩后有四个程序:(1)Opening an adapter and capturing packets(2)Handling offline dump files(3)Sending Packets(4)Gathering Statistics on the network traffic分别进入相关目录下,双击*.dsw,即可编译运行相关程序。
为了能让程序正常编译、运行,需要●解压程序员开发包(WpdPack.rar)●在tool的option的include和lib中加入WpdPack的include目录和lib目录。
本次实验所有同学必须提交实验报告电子版一份,上交时注意要修改文档名。
实验报告内容是:分别写出给定的四个程序(第一个已经给出,其他三个按照第一个写)的流程,关键函数接口及其作用,运行并截取运行结果(截图)。
程序一:Opening an adapter and capturing packets1.程序流程1)获得本机网络接口列表(如果出错,输出错误并退出)2)打印列表信息(如果接口数量为0,输出错误并退出)3)输入要捕获的网络接口序号(如果输入错误,释放列表,退出)4)跳转到相应的网络接口5)打开网络接口,建立捕获实例(如果出错,释放列表,退出)6)释放网络接口列表7)开始循环捕获数据包,不限制包数上限(如果出错则退出)8)将捕获到的数据包信息(捕获时间、长度)打印出来9)反复执行8)2.关键函数及其作用:1)pcap_findalldevs_ex:获得适合的网络接口的列表。
列表中每个元素都记录了一个接口的信息。
2)pcap_freealldevs:释放网络接口的列表。
3)pcap_open:打开一个指定网络接口,可以通过这个接口来捕获或者发送数据包。
ip数据包解析实验报告摘要doc

ip数据包解析实验报告摘要篇一:解析IP数据包实验报告成都工业学院(课程设计实验报告)院系: 计算机工程系课程名称: 计算机网络设计名称: 解析IP数据包专业名称: 网络工程班级: 1305022姓名: 牟黎明学号: 11指导老师:刘枝盛老师成绩:设计时间:XX年12月22日—XX年12月26日成都工业学院课程设计任务书指导教师(签名):目录一、课程设计的目的和意义...............................................3 二、课程设计的内容和要求..............................................3 三、解析IP数据包设计的相关技术 (4)? 3.1 IP数据包的格式与分析? 3.2 程序分析设计......................................................4 .. (6) (6) (6) (7) (7)……………………….…………..…………….7 ?3.2.1 网卡设置? 3.2.2 程序设计? 3.2.3 程序设计? 3.2.4 程序设计? 3.2.5 程序设计四、课程设计过程 (8)? 4.1 程序流程图? 4.2源程序代码 (8) (16)……………….……………..............……………….9 ?4.3 程序运行结果? 4.3.1.登陆界面,提示输入命令符 (16)? 4.3.2.命令符输入错误后提示界面 (16)? 4.3.3.截获的IP数据包界面 (17)? 4.3.4.继续抓包图 (17)五、课程设计小结 (18)参考文献 (18)一、课程设计的目的和意义目的:本章课程设计的目的就是设计一个解析IP数据包的程序(我的编辑环境为visual2102),并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对网络层的工作原理有更好的理解和认识。
监控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应用程序提供访问网络底层的能力。
IP包流量分析

实验4 IP包流量分析实验要求:(1)掌握IP数据报格式和报头各字段含义;(2)基于RAW Socket和wincap(或lipcap)实现IP数据包的捕获;(3)掌握分析与统计IP数据包信息的基本方法。
实验目的设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对IP层的工作原理有更好的理解和认识。
实验环境(设备)windows XPMicrosoft Visual C++6.0实验原理1、简介:网络层是TCP/IP协议参考模型中关键的部分。
IP协议把运输层送来的消息组装成IP数据包,并把IP数据包传递给数据链路层。
IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP数据包格式,用于消除通信子网间的差异,从而为信息发送方和接收方提供了透明的传输通道。
编制本程序前,首先要对IP包的格式有一定的了解。
IP数据包的第一个字段是版本字段(4位),表示所使用的IP协议的版本。
目前的版本是IPv4,版本,那么IPv6的版本字段自然就是值为6啦。
2.IP数据包的格式:如上图所示,下面解析一下IP数据包的各个字段的内容:①版本:占4位,指IP协议的版本。
通信双方使用的IP协议版本必须一致。
日前广泛使用的IP协议版本号为4 (即IPv4)。
IPv6 目前还处于起步阶段。
②首部长度:占4 位,可表示的最大十进制数值是15。
请注意,这个字段所表示数的单位是32位字( 1 个32位字长是4 字节),因此,当IP 的首部长度为1111 时(即十进制的15),首部长度就达到60字节。
当IP 分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。
因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。
首部长度限制为60字节的缺点是有时可能不够用。
这样做的目的是希望用户尽量减少开销。
最常用的首部长度就是20 字节(即首部长度为0101),这时不使用任何选项。
ip网络实验报告

ip网络实验报告IP网络实验报告引言:IP网络是当今世界上最为普遍使用的网络协议之一,它是互联网的基础。
本次实验旨在通过对IP网络的实际操作和观察,深入了解其工作原理和应用。
一、实验目的本次实验的目的是通过搭建IP网络,了解IP协议的基本原理和功能,并通过实际操作,掌握IP地址的分配和路由的配置。
二、实验环境本次实验使用了一台路由器和多台计算机,通过交换机连接在一个局域网中。
每台计算机都有一个唯一的IP地址。
三、实验步骤1. IP地址的分配在开始实验之前,我们首先需要为每台计算机分配一个唯一的IP地址。
通过在路由器上配置DHCP服务器,我们可以实现IP地址的自动分配。
在实验中,我们将路由器的IP地址设置为192.168.1.1,子网掩码为255.255.255.0。
然后,我们在每台计算机上配置DHCP客户端,使其自动获取IP地址。
通过这样的设置,每台计算机都能够获得一个唯一的IP地址。
2. 路由器的配置路由器是连接不同网络的关键设备,它负责将数据包从源地址传输到目标地址。
在实验中,我们需要在路由器上配置路由表,以便正确地转发数据包。
通过在路由器上使用命令行界面,我们可以添加静态路由和动态路由。
静态路由是由管理员手动配置的,而动态路由是由路由器自动学习和更新的。
通过配置路由器,我们可以实现不同网络之间的通信。
3. 数据包的传输在实验中,我们可以通过在计算机之间发送数据包来测试IP网络的工作情况。
通过使用ping命令,我们可以向目标IP地址发送数据包,并观察是否能够成功收到回复。
这样的测试可以帮助我们判断网络连接是否正常,并找出潜在的问题。
四、实验结果与分析通过实验,我们成功地搭建了一个IP网络,并进行了数据包的传输测试。
在测试过程中,我们发现有些计算机之间无法互相通信。
经过排查,我们发现是由于路由器的路由表配置不正确导致的。
通过添加正确的路由规则,我们解决了这个问题,并实现了所有计算机之间的正常通信。
IP地址的网络流量监测和带宽控制方法
IP地址的网络流量监测和带宽控制方法随着互联网的快速发展和普及,网络流量的监测和带宽控制变得越来越重要。
无论是企业还是个人用户,都需要有效地管理和控制网络流量,以便保证网络的稳定性和安全性。
本文将介绍IP地址的网络流量监测和带宽控制方法,帮助读者更好地应对网络流量管理的挑战。
一、网络流量监测方法1. 流量统计工具流量统计工具是一种监测和分析网络流量的软件,可以帮助用户了解网络流量的使用情况。
通过监测IP地址的流量,用户可以知道哪些应用或设备占用了大量的带宽资源,从而有针对性地进行优化和控制。
常见的流量统计工具包括Wireshark、NetFlow Analyzer等。
2. 网络流量监测器网络流量监测器是一种硬件设备或网络设备,用于实时监测和分析网络流量。
它可以监测整个网络的流量情况,并且提供报告和分析数据,帮助用户了解网络带宽的使用情况。
一些高端的网络流量监测器还可以提供实时警报和流量优化建议。
二、带宽控制方法1. 基于IP地址的带宽限制基于IP地址的带宽限制是一种常用的带宽控制方法,它可以根据IP地址或IP地址范围对网络流量进行分类和控制。
通过在路由器或交换机上设置带宽限制规则,用户可以限制特定IP地址的带宽使用,确保其他重要的应用或设备能够获得足够的带宽资源。
2. 服务质量(QoS)控制服务质量(QoS)控制是一种流量控制和优化的方法,可以提高特定应用或设备的网络性能和用户体验。
通过在网络设备上设置QoS规则,用户可以为特定IP地址或应用程序分配优先级,并控制其带宽使用。
这样,重要的应用程序可以获得更高的带宽优先级,而不会受到其他低优先级应用的影响。
3. 流量整形和流量控制流量整形和流量控制是一种基于IP地址的带宽控制方法,可以限制特定IP地址的流量速率。
通过在网络设备上设置流量整形规则,用户可以限制特定IP地址的流量速率,确保其带宽使用在可接受的范围内。
这是一种有效的带宽控制方法,可以避免网络拥塞和流量过载。
ip网络实验报告
ip网络实验报告篇一:iP网络综合实验报告iP网络综合实验报告一、实验目的运用所学的知识配置cisco路由器,组建一个局域网,并在此局域网的基础上做一些应用。
二、实验要求1.各子网之间的路由配置(鼓励使用各种路由协议);2.内网计算机和校园网之间的naT应用;3.标准和扩展访问列表应用;4.V oiP综合应用。
三、实验设备1.路由器:cisco2621,cisco2620,cisco3640(路由器之间通过serial 接口固定连接);2.计算机主机2台(与实验室Lan连接);3.电话机2部,外线1根(临时用);4.两条与实验室Lan连接的网线,1条与校园网连接的网线。
四、实验内容1.方案设计根据本次实验的要求,我们设计并利用ciscoconfigmaker绘制了如图4.1的网络拓扑结构:注意:拓扑结构图中的EthernetLan、EthernetLan_1、EthernetLan_2和EthernetLan_3其实是同一个局域网,这里为了使图看起来清楚就分开画了,特此说明一下。
图4.1网络拓扑结构2.路由器的基本配置a)管理配置路由器的方式console口接终端或运行终端仿真软件的微机(9600,8,1,n);aUX口接modEm,通过电话线与远方的终端或运行终端仿真软件的微机相连;通过Ethernet上的TFTP服务器;通过Ethernet上的TELnET程序;通过Ethernet上的SnmP网管工作站。
B)路由器的工作模式及其之间的关系用户模式;特权模式;全局配置模式;其他配置模式;Setup模式;RXBooT模式。
c)路由器的基本配置更改路由器名称:对于cisco2620:hostnamer2620;对于cisco2621:hostnamer2621;对于cisco3640:hostnamer3640;设置进入特权模式的密码:enablepasswordbjtu;设置通过telnet进入路由器的密码:linevty04passwordbjtud)路由器的常用命令显示运行配置——showrunning-config;登录远程主机——telnethostname|iPaddress;网络侦测——pinghostname|iPaddress;将运行配置备份到tftp——copyrunning-configtftp.3.路由器的路由配置在实验中,我们使用了三种类型的路由协议:静态路由和动态路由中的RiP和oSPF协议。
高三计算机课件 网络课程设计-IP数据包解析实验报告
目录目录 (1)1、课程设计目的 (2)2、课程设计要求 (2)3、相关知识 (2)4、课程设计分析 (6)4.1 网卡设置 (6)4.2 使用套接字 (6)4.2.2 接收数据包 (7)4.3 定义IP头部的数据结构 (7)4.4 IP包的解析 (9)4.5 协议的定义 (9)4.6捕获处理 (9)5、运行结果 (10)6、总结 (10)7、课程设计参考资料 (11)8、源程序代码 (11)1、课程设计目的本课程设计的目的就是设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对IP层的工作原理有更好的理解和认识。
2、课程设计要求本设计的目标是捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。
程序的具体要求如下:1)以命令行形式运行:ipparse logfile,其中ipparse是程序名, 而logfile 则代表记录结果的日志文件。
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图1 IP数据包的格式服务类型字段共8位,用于指示路由器如何处理该数据包.该字段长度由4位服务类型(TOS)子域和3位优先级子域组成,1位为保留位,该字段结构如图2所示.B7 b6 b5 b4 b3 b2 b1 b0图2 服务类型字段结构优先级共有8种,优先级越高表明数据包越重要.表1中列出了各种优先级所代表的意义.表一优先子域的说明在4位服务类型子域中b4,b3,b2,b1分别表示D(延迟),T(吞吐量),R(可靠性)与C(成本).表2列出了服务器类型自域的构成.总长度字段为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数据包的高层协议类型,常用的协议号如表3所示.表3 典型的协议号头校验和字段为16位,用于存放检查报头错误的校验码。
解析IP数据包实验报告
成都工业学院(课程设计实验报告)院系: 计算机工程系课程名称: 计算机网络设计名称: 解析IP数据包专业名称: 网络工程班级: 1305022姓名: 牟黎明学号: 11指导老师: 刘枝盛老师成绩:设计时间:2014年12月22日—2014年12月26日成都工业学院课程设计任务书指导教师(签名):目录一、课程设计的目的和意义 (3)二、课程设计的内容和要求 (3)三、解析IP数据包设计的相关技术 (4)● 3.1 IP数据包的格式与分析 (4)● 3.2程序分析设计 (6)● 3.2.1 网卡设置 (6)● 3.2.2 程序设计 (6)● 3.2.3 程序设计 (7)● 3.2.4 程序设计 (7)● 3.2.5 程序设计 (7)四、课程设计过程 (8)● 4.1 程序流程图 (8)● 4.2源程序代码 (9)● 4.3 程序运行结果 (16)● 4.3.1.登陆界面,提示输入命令符 (16)● 4.3.2.命令符输入错误后提示界面 (16)● 4.3.3.截获的IP数据包界面 (17)● 4.3.4.继续抓包图 (17)五、课程设计小结 (18)参考文献 (18)一、课程设计的目的和意义目的:本章课程设计的目的就是设计一个解析IP数据包的程序(我的编辑环境为visual2102),并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对网络层的工作原理有更好的理解和认识。
意义:1、有利于编程能力的提高在做设计的过程中,我再一次熟悉了开发设计的基本流程,从分析任务到确立整体框架再到确定算法,然后再一步步实现各函数的功能。
从中,我熟悉了许多新的库函数,并提高了编程技巧。
2、有利于基础知识的理解在这次课程设计之前,我们已经学完了网络层的理论知识,可是对它的理解很粗浅。
之前只知道关于网络层的一些概念性的东西。
可是做完设计后,我才从整体上理解了网络层的框架,明白了网络层的每一个组成部分都是有它特定的功能和意义的,从而对网络层协议有了更深入的理解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、课程设计目的 (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)组成。
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.。