您现在的位置:网站首页答辩论文计算机毕业设计计算机论文计算机网络论文

网络流量测量软件的设计与实现

  • 简介:(毕业论文 字数:24 页数:11982) 摘 要:为了方便网络编程,90年代初,由Microsoft联合了其他几家公司共同制定了一套WINDOWS下的网络编程接口,即Windows Sockets规范,它不是一种网络协议,而是一套开放的、支持多种协议的Windows下的网络编程接口。本...
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载

(毕业论文 字数:24  页数:11982)

摘 要:为了方便网络编程,90年代初,由Microsoft联合了其他几家公司共同制定了一套WINDOWS下的网络编程接口,即Windows Sockets规范,它不是一种网络协议,而是一套开放的、支持多种协议的Windows下的网络编程接口。本篇论文主要是介绍了在TCP/IP基础上利用winsock2对网卡进行编程,以达到网络流量监测的目的。论文首先介绍了TCP/IP协议,旨在介绍IP,TCP,UDP等比较重要的协议。主要是介绍IP头,TCP头,UDP头的特点,以便从IP头中可以获取源地址,目的地址,协议类型等信息。在随后的章节中提出了Socket的概念,Socket实际上提供了一个通信端口使所有拥有Socket的端口的计算机之间能够相互通信,在本论文中主要说明了socket的建立,监听和撤销的过程。具体到程序实现中,对网卡混杂模式的设置是通过原始套接字(raw socket)来实现的。为了让原始套接字能接受所有的数据,还需要通过将SOCK_RAW设置成SIO_RCVALL。对数据包的获取通过recv()函数来完成。最后要完成的工作就是对所捕获的IP数据包进行分析以提取出我们所需要的信息。在论文的最后是旨在说明进一步工作的展开。
关键字: TCP/IP,Winsock,原始套接字,NetBios




Abstract: For convenience of network programming, in the early 1990s, a new set of network programming interface using under WINDOWS was established by some companies united by Microsoft. It is known as Windows Socket Norm. It isn't a kind of network protocol, but an open network programming interface support multiple protocols under WINDOWS. The main purpose of the thesis is to introduce how to use Winsock2 program on network adapter under the protocol of TCP/IP. This is for the purpose of measure the network discharge. At the beginning of the thesis, we introduce all important protocols of TCP/IP, like IP, TCP, and UDP. We introduce IP header, TCP header and UDP header for the most important because we need acquire the information of source address, destination address, and protocol type from the IP header.
In the following section, we give the concept of Socket. Sockets actually provide a communication port to allow all the computers that have Socket port to communicate with each other. In the thesis, we talk on the process of the Socket’s building listening and canceling. In the program, we use RAW Socket to set adapter on the mixed mode. To let the Socket receive all data, we also need to set the on SIO_RCVALL. Then we use the function recv () to get data pack. At last we need analyze the data pack to get the information we need.
KEY WORDS:TCP/IP, Winsock,RAW SOCKET, NetBIOS

目  录
摘 要…………………………………………………………………….1
Abstract………………………………………………………..2
前 言…………………………………………………………………….4
第一章 绪论……………………………………………………………5
1.1 TCP/IP协议及其协议分析方法……………………………….5
1.1.1 分层…………………………………………………………..5
1.1.2 IP地址……………………………………………………….6
1.1.3 端口…………………………………………………………..6
1.1.4 TCP/IP协议在Windows中的实现………………………….7
1.2 Winsock编程…………………………………………………...7
1.3 网络流量测量的程序实现原理………………………………..8
第二章 TCP/IP协议集………………………………………………9
2.1 TCP/IP协议简介……………………………………………….9
2.2 IP协议………………………………………………………….9
2.3 TCP协议………………………………………………………..10
2.3.1 TCP服务模型………………………………………………..10
2.3.2 TCP数据段头………………………………………………..11
2.3.3 TCP协议的建立……………………………………………..12
2.4 UDP协议………………………………………………………..13
第三章 WINSOCK编程概述…………………………………………14
3.1 套接字的概念………………………………………………….14
3.2 套接字的种类………………………………………………….14
3.3 套接字的建立………………………………………………….14
第四章 网络流量测量的程序实现……………………………….16
4.1 网卡初始化…………………………………………………….16
4.1.1 NetBios概述…………………………………………………16
4.1.2 利用NetBios来初始化网卡………………………………..16
4.2 原始套接字的设置…………………………………………….16
4.3 IP包的协议分析………………………………………………17
4.4 结果与测试…………………………………………………….19
结 论…………………………………………………………………….21
结束语…………………………………………………………………….22
参考文献…………………………………………………………………23
前  言

随着计算机网络技术日新月异的发展,Internet的逐渐普及,网络对于人们已经不再是一个陌生的概念。可以说,网络已经在很多人的生活中占据了重要的地位。于是,各种各样的软件随之诞生,使人们能够更加方便,快捷的访问网络,了解网络以充分的利用网络。
本论文就是向大家介绍网络中比较常用的技术——网络流量的监测。在介绍具体的程序实现之前,论文首先介绍了TCP/IP协议,可以说,任何网络技术都与TCP/IP协议有着密切的关联,TCP/IP协议给不同型号的计算机,不同的操作系统之间提供了相互通信的平台。TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到现在90年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议组件的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。
在进行网络流量的测量之前,我们首先要对本地机的信息有一个了解。这些信息的获取是通过Netbios来完成的。Netbios利用其网络控制快NCB来完成我们需要它去完成的对网卡的初始化工作。通过ncb¬_command来发出命令完成对网卡的操作。通过发送NCBENUM命令获取网卡的数目和每个网卡的内部编号;对选定的网卡发送一个NCBRESET命令,以便进行初始化;接着,可以发送NCBASTAT命令以获取网卡的信息。这样,我们可以读出网卡的MAC地址以便进行进一步的工作。
要实现网络流量的测量,Winsock给我们提供了一个接口,我们通过这个接口可以实现对IP层以上的层的数据包的监测。我们通过建立原始套接字,利用Winsock提供给我们的一些特定的函数就可以完成对网络数据包的捕获。首先需要建立一个socket,将它设置成为是对ip头的操作,然后利用gethostname,phost获取本机名,本机ip地址。将本机地址与IP地址绑定之后,将网卡设置为混杂模式,以便对所有经过它的数据包进行接收。在这些准备工作已经做好之后,余下的就是利用recv()来捕获网络中的数据包。
到现在为止,我们所作的工作都是分析工作的铺垫。我们最后所要看到的就是网络数据包的分析结果。在数据包的分析过程中,用户一般想得到的主要信息不外乎是包的协议类型,源/目的地址,发送/接收端口以及包的大小,定义指针,分别指向数据包的相对应的位置就可以得到这些信息。将得到的信息罗列并显示出来之后,我们就完成了对网络中数据包的流量监测过程。
在论文的最后对整篇论文进行了总结,说明了一些不足之处,并对所有对这篇论文知道并建议的老师等表示感谢。

第一章 绪论
1.1 TCP/IP协议及其协议分析方法
TCP/IP起源于60年代末美国政府资助的一个分组交换网络的研究项目,到现在90年代已发展成为计算机之间最常用的组网形式。它是一个真正的开放系统,因为协议组件的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。它成为被称作“全球互联网”或“因特网”(Internet)的基础。
1.1.1 分层
协议分层的概念的提出是为了减少协议设计的复杂性,每一层都建立到它的下层之上,每一层的目的就是为了向上一层提供特定的服务。一台机器的第n层向另一台机器的第n层会话,通话的规则称为协议。分层和协议构成了网络体系结构。
在提到了分层的概念时就不能不提一下OSI参考模型。该模型基于国际化标准组织,共分为七层:
 物理层:涉及到通信在信道上传输的原始比特流。
 数据链路层:加强物理层传输原始比特流的功能,使之对网络层显现为一条无错线路
 网络层:关系到子网的运行控制,其中一个关键的问题就是路由选择。
 传输层:为用户提供端到端的数据传送服务。
 会话层:允许不同机器上的用户建立会话关系,为用户提供会话控制服务。
 表示层:为用户提供数据转换和表示服务。
 应用层:为用户提供访问OSI的接口,其中包括大量的常见的协议。
TCP/IP通常被认为是一个四层协议系统,每一层负责不同的功能。
 数据链路层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
 网络层,处理分组在网络中的活动,例如分组的路由选择。在TCP/IP协议组件中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互连网控制报文协议),以及IGMP协议(Internet组管理协议)。
 运输层,主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议组件中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。而另一方面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。
 应用层,负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序: Telnet 远程登录,FTP 文件传输协议,SMTP 用于电子邮件的简单邮件传输协议,SNMP 简单网络管理协议。

查看评论 已有0位网友发表了看法
  • 验证码: