《计算机网络》课程实验总结报告(5)
《计算机网络》课程实验总结报告(5)
《计算机网络》课程实验总结报告
学生姓名实验题目高育鹏年级/专业/班10软件1班学号201*118126网络流量监测工具的设计与实现检查记录:试1.监测(捕获)一段时间内网络上的IP数据包;验2.分别按源地址、目的地址统计在给定时间段内的IP数据包内的数目;将统计结果写入指定日志文件并用图形方式输出统计结果。容3.一、实现概览本程序是在windows平台上用C#201*集成工具完成的,C#作为一种高级语实验言,语法灵活,控件多种多样,而且使用方便,简单的代码集成工具能够自动生成,加快了编码的速度。报二、主要的类告本程序中主要涉及到两个类,分别是Packet类和PacketMonitor类,Packet类就是程序捕捉到的数据包的建模,而PacketMonitor类主要是对数据包监控器的建模。一下分别是对这两个类的详细介绍。(1)Packet类1)Packet类的InstanceVariableAndPropertyAndMethodprivatebyte[]m_Raw;//一个数据包的所有字节privateDateTimem_Time;//捕捉到数据包时的时间privateintm_Version;//版本号privateintm_HeaderLength;//IP数据包头的长度privatePrecedencem_Precedence;服务优先级privateDelaym_Delay;延迟privateThroughputm_Throughput;//吞吐量privateReliabilitym_Reliability;//可靠性privateintm_TotalLength;//总长度privateintm_Identification;//标识privateintm_TimeToLive;//生存时间privateProtocolm_Protocol;//协议privatebyte[]m_Checksum;//头部校验和privateIPAddressm_SourceAddress;//源地址privateIPAddressm_DestinationAddress;//目的地址privateintm_SourcePort;//源端口号privateintm_DestinationPort;//目的端口号*其中Precedence、Delay、Throughput、Reliability是自定义的枚举类型,分别表示服务优先级、延迟、吞吐量、传输可靠性。Property有:Raw、Time、Version、HeaderLength、Precedence、Delay、Throughput、Reliability、
TotalLength、Identification、TimeToLive、Protocol、Checksum、SourceAddress、DestinationAddress、SourcePort、DestinationPort、Source、Destination,这些属性用于返回和他们相对应的Instancevariable。Packet的方法有:ToString();//用于输出对包的描述。(2)PacketMonitor类PacketMonitor类的InstanceVariableAndPropertyAndMethodprivateSocketm_Monitor;privateIPAddressm_IP;privatebyte[]m_Buffer;privateconstintIOC_VENDOR=0privateconstintIOC_IN=-2147483648;//0/*copyinparameters*/privateconstintSIO_RCVALL=IOC_IN|IOC_VENDOR|1;privateconstintSECURITY_BUILTIN_DOMAIN_RID=0x20;privateconstintDOMAIN_ALIAS_RID_ADMINS=0x220;相应的属性有:IPAddressIP;byte[]Buffer;函数有:IsUserAnAdmin(){//检查是否是合法用户登录或者是管理员登录voidStop()//停止截获数据包voidStart()//开始截获数据包三、主要的操作界面程序主要的操作界面有两个,分别是包的监控界面和包的详细信息界面。1)包的监控界面主要的操作按钮有三个,分别是开始,停止,清除按钮,截获的包放在Listview中展示出来,当用户双击某个包的时候程序自动跳转到包的详细界面。如下图1所示图12)在包的详细界面中,IP数据包的包头