网站地图| 免费获取|
毕业论文网
  • 网站首页|
  • 论文范文|
  • 论文降重|
  • 职称论文发表|
  • 合作期刊|
  • 论文下载|
  • 计算机论文|
  • 外文翻译|
  • 免费论文|
  • 论文资料|
  • 论文开题报告
搜索

当前位置:毕业论文网 -> 免费论文 -> 计算机论文 -> 免费数据包截获技术的研究与实现(四)
计算机论文资料| ASP设计| Delphi| VB设计| JSP设计| ASP.NET设计| VB.NET| java设计| VC| pb| VS| dreamweaver| c#.net| vf| VC++| 计算机论文范文| 论文下载| 自动化论文

免费数据包截获技术的研究与实现(四)

最新活动:微信集50个赞就可获取任意一篇钻石会员文档。详情见微信集赞换文档
免费数据包截获技术的研究与实现(四) sp;在网间和网内部,每一个socket用一个半相关描述:(协议,本地地址,本地端口)
 一个完整的socket连接则用一个相关描述: (协议,本地地址,本地端口,远地地址,远地端口)
 每一个socket有一个本地唯一的socket号,由操作系统分配。
 最重要的是,socket是面向客户——服务器模型而设计出来的,针对客户和服务器程序提供不同的socket系统调用。客户随机申请一个socket(相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个socket号,服务器拥有全局公认的socket(在LINUX中,/etc/services用于存储全局公认的socket号),任何客户都可以向它发出连接请求和信息请求。
 下面我们一一给出重要的socket系统调用。
 函数socket()可以创建一个socket对象,socket()函数的原型如下:
 SOCKET socket(int af, int type, int protocol);
 创建一个socket实际上是向系统申请一个属于自己的socket号。
 af(Address Family)俗称套接字地址族,如表1所示。
 表1 Linux支持的套接字地址族
套接字地址族  描述 
UNIX  UNIX域套接字 
INET  通过TCP/IP协议支持的Internet地址族 
AX25  Amater radio X25 
IPX  Novell IPX 
APPLETALK  AppleTalk DDP 
X25  X25 
 
 
 
 
 
 
 

 协议族、socket类型和协议常用的组合如表2所示:
 表2 系统调用三参数组合关系
协议族(af) Socket类型(type) 协议(UNIX表示) 实际协议 
AF_INET Sock_DGRAM IPPROC_UDP  UDP 
  Sock STREAM IPPROC_TCP  TCP 
  Sock RAM IPPROC_ICMP  ICMP 
  Sock RAM IPPROC_RAM 某低级协议 
 
 
 
 
 


 指定本地地址使用函数bind()一一绑定
 socket()系统调用创建socket时,只指定了相关五元组的协议元,没有指定其余四元(本地地址、本地端口、远地地址、远地端口),因此需要别的系统调用加以补充。
 bind()将本地socket地址(包括本地主机地址和本地端口)与所创建的socket号联系起来,即将本地socket地址赋予socket,以指定本地半相关。其用于Linux性能评估的测试工具的设计与实现调用格式为: bind(sockid, localaddr, addrlen)
 总的来说,各种socket地址数据结构包括两大部分:地址类型和协议地址。网络协议地址又包括主机地址和端口号。
 监听— listen()
 对于服务器来说,在它接受客户机的连接之前,首先要监听。只有进入了监听模式,才能接受来自客户机的连接。这一点可以通过listen()函数来实现,它的原型如下:
 int listen(SOCKET s, int backlog);
 各参数意义如下:
 s:进行监听的套接字。
 Backlog:正在等待连接的最大队列的长度。如果backlog的只为3,有4个客户机同时发出连接请求,则前3个会放在等待连接队列中,最后一个将被忽略。
 如果函数成功,则返回0;否则返回SOCKET_ERROR。
 当客户机和服务器的连接建立起来后,用函数send()和recv()来进行数据传输。
4基于原始套接字的设计与实现
 4.1原始套接字简介
 原始套接字是网络的基本构件。套接字是从 Berkeley Sockets 扩展而来的,其在继承 Berkeley Sockets 的基础上,又进行了新的扩充。这些扩充主要是提供了一些异步函数,并增加了符合WINDOWS消息驱动特性的网络事件异步选择机制。套接字由两部分组成:开发组件和运行组件。开发组件是指套接字实现文档、应用程序接口(API)引入库和一些头文件。运行组件是指套接字应用程序接口的动态链接库(WINSOCK.DLL)。它是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连听进程。套接字存在通信区域(通信区域又称地址簇)中。套接字只与同一区域套接字只支持一个中的套接字交换数据(跨区域时,需要执行某和转换进程才能实现)。WINDOWS 中的域——网际域。套接字具有类型,WINDOWS SOCKET 2.1 版本支持两种套接字:流套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)。本文使用的WINDOWS SOCKET 2.1 版本。
 4.2数据包截获技术需求分析
 数据包截获技术是开发网络管理工具软件的重要基础之一,因为许多故障及入侵判断都是建立在网络流量或数据的分析基础上的。具体来说,数据包截获可以应用在检测网络流量,分析网络故障;网络协议工作原理及过程分析;非法数据截获与入侵检测;网络设备开发。
 程序可以设置针对IP地址和协议类别包过滤器,专门截获某一协议(如TCP,UDP,ICMP)或某一主机的数据包。对数据进一步分析可以了解该类协议的各种过程及协议内容,这在计算机网络课程的教学对网络知识的掌握。另外,也可以对数据包的内容进行分析与理解,获得所需的信息。
 入侵检测是网络安全领域一个重要的研究方向,如请检测系统由探测器、分析器、用户接口等三个部分组成,其中探测器负责采集数据(如网络数据报、日志文件和系统调用记录等);分析器则主要是设定一系列规则,对探测器送来的数据进行分析,用户接口负责与用户交互。显然,数据包截获是入侵检测系统信息的重要来源之一。
 4.3数据包截获程序设计流程图
 利用套接字开发数据包截获程序时的一般步骤如图7所示
 如图7所示,在利用套接字开发数据包截获程序时的一般步骤是:首先,创建原始套接字,其次将原始套接字绑定到本地网卡地址上;设置网卡为混杂模式,这样网卡就

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 4/9/9

免费数据包截获技术的研究与实现(四)由毕业论文网(www.huoyuandh.com)会员上传。
原创论文资料流程 相关论文
上一篇:免费手机吞吃蛇游戏的设计与开发 下一篇:免费网上战友录的设计与实现
推荐论文 本专业最新论文
Tags:数据 截获 技术 研究 实现 2010-04-01 10:52:35【返回顶部】
精彩推荐
发表论文

联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士论文资料


毕业论文网提供论文范文,论文代发,原创论文资料

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2020 毕业论文网 版权所有