关键词: 协议
数据捕获与数据控制(精选十篇)
数据捕获与数据控制 篇1
近年来,分布式数据库的设计在国内许多系统中的应用日渐广泛,越来越多的政府机构、高校和企业构建了自己的数据中心,以集合单位内部各部门的数据,用以解决制约单位信息化建设的“信息孤岛”问题。而如何使各部门未来的变化信息能够及时反映到数据中心中,即数据同步问题。这一问题受到专家和商业界的广泛关注,数据库数据同步成为一个重要的研究方向。目前很多同步方案采用增量复制,即只关注差异数据,以便减少同步数据量,提高数据库同步中数据迁移的效率。差异数据捕获作为数据库同步的基础和前提,对其研究无论在理论上还是实际上都具有非常重要的意义,而不同的差异数据捕获方法又各具特色,分析系统特点选择相应的差异捕获方法至关重要。
2 研究现状
目前常用的差异数据捕捉方法主要有快照法、日志法、API法、影子表法、控制表法、时间戳法和触发器法。
所谓快照(Snapshot)就是在某一时刻对数据库中数据进行一次“照相”,生成一个描述数据库中数据的瞬时状态的静态文件,最后可以在规定时间内复制到目标数据库[1]。这种方法不依赖任何机制,不占用额外系统资源,但是因为它是对数据库的完整拷贝,因此效率很低且无法区分哪些具体项发生改变。SQL Server数据复制中的快照复制就是基于这种方法。日志法就是通过分析数据库日志的这些信息来捕获复制对象的变化序列。大多数数据库都有日志,利用日志不仅方便而且也不会占用太多额外的系统资源。但是日志法也存在一些缺点:首先,一些数据库系统不公开其日志的格式,要开发一个基于日志的变化捕获程序非常困难;其次,不同数据库在具体细节上存在很大差异,会给异构数据库带来新的问题;最后,DBA日常数据库管理工作已经非常繁重,而日志法无疑会加重这种负担。如SQLServer中的事务复制以及DB2和Sy Base都采用这种方法。
API法就是在应用程序和数据库之间引入一类中间件,由它提供一系列API,在API上来完成应用程序对数据库修改的同时,记录下同步对象的变化序列。API法可以实现日志法的大多数优点,但是同时也有两个严重缺点:其一是对于不经过API的操作所引起的数据变化API无法捕获;其二是应用程序的可移植性差。
影子表法是初始化数据库时,为每一个同步对象表建立一个影子表,即作为一份当时的拷贝,以后通过比较当前的影子表与源表获取变化信息。这种方法适用范围广,容易移植,很适合解决异构数据库同步。但是占用空间大,不能获得中间操作信息和控制信息,并且每次捕获变化都要扫描源表和影子表,效率很低。
控制表法就是为每个要同步的源表创建一个控制表,控制表只包含源表的主键字段和一些控制信息字段(更新时间、更新类型等),当源表中的某条记录发生变化时,同时添加或修改控制表相应主键记录。控制表法可以获得同步对象的净变化,运行和数据传输的效率都很高,控制表占用存储空间小于影子表,易于管理,并且控制表中保存的更新时间,操作者等控制信息,弥补了解决同步冲突的不足。但是由于它一般要依赖触发器实现,因而在应用上有一定的局限性。如杨亚楠等提出的“基于SQL重现法”就是基于控制表机制[2]。
时间戳法就是需要相关应用系统中的每个表中都有一个时间戳字段,以记录每个表的修改时间。这种方法不影响原有应用的运行效率,但却需要对原有系统做较大的调整,而且不能捕获到那些并非通过应用系统引起的操作数据变化[3]。
触发器法就是为复制对象创建相应的触发器,当对复制对象进行修改、插入和删除等DML命令时,触发器被唤醒,将变化捕获。触发器法克服了快照法的主要缺点,极大地提高了效率。如果辅以其他机制,可以用于同步复制和对等式复制。但是触发器捕获法占用的系统资源比较多,对于复杂的复制任务需要非常复杂的配置和实施,管理非常不方便。这种方法一般适合在那些有多触发器机制的数据库系统中使用。
除了以上介绍的几种常用方法外,其它方法大都是在这些方法基础上进行优化和组合。如杨亚楠等提出的“基于SQL重现法”就是对控制表法的改进[2];王军提出了触发器与API相结合的方法[4];刘伟提出了触发器与控制表结合法[5]等等。
3 触发器与时间戳相结合的差异数据捕获方案设计与实现
3.1 触发器与时间戳结合法工作原理与技术特点
触发器与时间戳结合法核心思想是:为源数据库要同步对象表中加入时间戳字段,设计同步时间表、删除表、更新表。差异数据捕获时,如系统进行添加和修改操作,则在相应的数据表中用时间戳字段记录下数据修改时间,同时通过触发器把发生变化的表名插入到更新表中。系统进行删除操作时,在删除记录的同时,借助触发器把删除记录的主键和记录所在的表名添加到删除表中。差异数据捕获过程如图1。
在进行差异数据提取时,可按照以下步骤进行:首先提取删除表所有数据;其次查询更新表以获知那些数据表存在更新;最后通过存在更新的数据表中时间戳字段与同步时间表中记录的最近次同步时间的比较,提取差异数据。差异数据提取过程如图2。
3.2 系统设计
触发器与时间戳结合法设计包括数据库表结构的设计和触发器的设计。
3.2.1 系统表结构设计
系统表主要包括:
1)数据表,在原有数据的基础上,为每个数据表添加时间戳字段,以记录数据变更时间。
2)同步时间表(Syna Time),用来记录最近一次同步时间。包括Syna Time ID和上次同步时间Syna Time两个字段,同步时间表主要是记录上次数据同步时间,以便和数据表中时间戳字段对比,判断数据在一定时间段内有没有发生变更。
3)删除表(Delete Info),用来记录删除的数据。包括表名(Table_name)和删除记录的主键(PID)以及删除时间(Del_time)三个字段。
4)更新表(Ext Up Table),用来记录那些表存在更新。包括更新表ID(Up_Table ID)和更新表名(Table_name)两个字段。更新表的设计可以大大缩减差异数据提取时的扫描范围,提高数据提取效率。
3.2.2 触发器设计
触发器是数据库内部提供的一个机制,它的概念比较明了,对于导致数据库表内容发生变化的任何事件,例如:insert,delete,update数据库服务器可以自动采取相关的动作,这些动作可能是insert,delete,update或者execute procedure[6,7]。使用触发器可以编写多个应用共享的SQL语句。当多个程序需要执行相同的数据库操作时,使用触发器便可减少代码的冗余度。当然触发器的作用远不止减少代码的冗余度,它在保持数据库的数据完整性起着巨大的作用。
SQL Server触发器在执行用到两个特殊的表,即删除操作产生的Deleted表,插入操作产生的Inserted表。Inserted表和Deleted表是两个逻辑表,它们存放于内存中,不存放在数据库中,由系统自动维护。这两个表的结构总是与触发器作用的数据表的结构相同。触发器工作完成后,与该触发器相关的这两个表也会自动删除。这两个表用来检查一些数据更新的影响并为触发器动作设置条件,这两个表称为触表器检查表。触发器检查表中的数据不能直接改变,但是能够使用Select语句来检测Insert、Update、Delete操作带来的影响。在Insert语句执行期间,插入的新行同时被加到inserted表和触发器表中,Inserted表中的行是触发器表中插入新行的副本。在Delete语句执行期间,被删除的行从触发器表移动到Deleted表中,Deleted表和触发器表通常没有相同的行。在Update语句执行期间,被删除的行从触发器表移动到Deleted表中,修改后的行被同时加到Inserted表和触发器表中。触发器的设计包括三种:插入触发、修改触发、删除触发。
1)插入、修改触发
CREATE TRIGGER[tri_Ins Up]ON[dbo].[Project Info]
FOR INSERT,UPDATE
AS
BEGIN
INSERT INTO Ext Up Table VALUES('1','Project Info')
END
2)删除触发
CREATE TRIGGER[tri_Del_Project Info]ON[dbo].[Project Info]
FOR DELETE
AS
BEGIN
INSERT INTO Delete Info SELECT pid,Tab ID FROM deleted
END
4 结论
不同的差异数据捕获方法都有其相应的优缺点,依据系统及采用同步方案的特点选择相应的捕获方法至关重要。本文通过分析当前使用的变化捕获方法,设计出了触发器与时间戳相结合的差异数据捕获方式。触发器的适用弥补了时间戳法需要分别比较同步对象表是否发生变化造成效率低的不足。时间戳又弥补了触发器占用系统资源过多,配置和管理不便的弱点。该方案最终在“房地产估价系统”得到了验证,大大提高了数据库集成问题中变化捕获系统的效率,并且完全实现了分布式环境下的客户数据变化增量的提取。
参考文献
[1]谢维成,苏长明.SQL Server 2005实例精讲[M].北京:清华大学出版社,2008.
[2]杨亚楠,闫健卓,方丽英.基于SQL重现法变化捕获方法的研究与实现[J].微计算机信息,2006,22(36):203-204,222.
[3]王军.基于的分布式异构数据库同步研究与设计[D].优秀硕士生论文,2007.
[4]李铁军,郝文宁,王伟一.一个轻量级的异构数据库同步系统[J].计算机与信息技术,2007,4(6):20.
[5]刘伟,佟俐鹃.异构数据库集成中的变化捕获方案设计[J].计算机应用研究,2005,22(7):213-215.
[6]徐国华,白凤娥.数据库中的触发器技术[J].太原大学学报,2006,7(3):64-66.
数据捕获与数据控制 篇2
本套设计论文描述及运行界面展示
摘 要
数据包过滤是一个用软件或硬件设备对向网络上传或从网络下载的数据流进行有选择的控制过程。数据包过滤的功能通常是在将数据包从一个网站向另一个网络传送的过程中允许或阻止它们的通过(更为常见的是在从英特网向内部网络传输数据时,或从内部网络向英特网传输)。若要完成数据包过滤,你就要设置好规则来指定哪些类型的数据包被允许通过和哪些类型的数据包将会被阻止。
基于数据包过滤的防火墙,能够很好地保护用户在与网络连接时的安全性。
我们的目标,就是通过截获数据包,并且对其进行分析,来放行或阻止网络访问,从而达到保护计算机安全的目的。
本论文主要讲述了下面几点:
一、数据包捕获及网络安全技术
二、系统的设计与实现
三、测试及其他
关键字:数据包捕获;防火墙;网络安全
Abstract Packet Filtering is the process a piece of software or device takes to selectively control the flow of data to and from a network.Packet Filters allow or block packets, usually while routing them from one network to another(most often from the Internet to an internal network, and vice-versa).To accomplish packet filtering, you set up rules that specify what types of packets are to be allowed and what types are to be blocked.The packet filtering based firewall can protect the security of computers very well.Our goal is to capture and analysis data packets ,so we can examines all packets that pass in and out of it to prevent packets from passing through ,and the computer is protected.The thesis presents these aspects:
1、Technology of Packet Filtering and Network Security
2、How to implement the system
3、Testing document and others Key Words: Packet Filtering、Firewall、network security
目 录 第一章 绪论 1 第一节 课题意义1 第二节 课题综述1
一、国内外发展情况 1
二、网络安全技术介绍 4
三、防火墙介绍 6
四、防火墙技术发展趋势8
五、防火墙产品发展趋势10 第二章 需求分析 11 第一节 需求分析11
一、功能调查11
二、初步设计12 第二节 可行性分析 12
一、技术可行性及方案选择 12 第三节 开发环境及工具 13
一、开发环境13
二、开发工具14 第三章 基础实现技术介绍 15 第一节 MFC介绍15 第二节 数据包过滤技术 15
一、数据包 15
二、数据包过滤是怎样工作的16
三、包过滤的优点 16 第四章 系统总体设计18 第一节 功能分析18 第二节 系统工作流程 19
一、系统工作流程图 18
二、原理分析20
三、系统工作过程描述 21 第五章 子模块设计 22 第一节 模块分析21
一、模块划分原则 22
二、模块划分23
三、模块接口定义 25 第二节 子模块详细设计 26
一、注册模块26
二、查询模块28
国土资源数据检查与质量控制分析 篇3
关键词:一张图;数据检查;质量控制;城镇地籍
湖南省《2011年国土资源系统政务公开和电子政务建设工作要点》明确提出要开展国土资源“一张图”建设,全面清理国土资源基础数据库,加强基础数据库建设。随着国土资源“一张图”建设全面展开,对已建的各类国土资源数据库进行质量分析,对在建的各类国土资源数据成果进行质量控制,就显得尤为重要。严密的数据检查和严格的数据质量控制成为国土资源“一张图”建设的重要保障。
1 国土资源数据库体系
国土资源数据是指在对土地、矿产以及其他自然资源进行调查、评价、开发、利用、保护和管理过程中形成的各类空间和非空间的数据成果。“十一五”期间,湖南省国土资源信息化建设以数字国土工程和金土工程一期为主要依托,基本建成覆盖全省的土地、矿产、基础地质等多专业、多尺度、多类型的国土资源数据库体系,3S技术在国土资源调查评价和监测中得到全面应用。目前,已经形成覆盖全省的土地利用现状数据库、基本农田数据库、第二次土地调查数据库、矿产资源储量空间数据库、矿业权和矿产地数据库、省市两级土地利用总体规划和矿产资源规划数据库,建立了覆盖全省的最新数字正射影像数据(DOM)和数字高程数据(DEM),形成了全省统一的多尺度地理空间信息平台和国土资源电子政务系统,基本建成省级国土资源数据中心及其异地备份中心。
湖南省国土资源“一张图”核心数据库建设,将使湖南省国土资源数据库体系得到不断充实和完善。目前,全省正紧张有序开展新一轮县乡两级土地利用总体规划数据库、永久性基本农田数据库、耕地后备资源数据库、矿产资源储量利用数据库、矿产资源潜力评价数据库建设,全省国土资源数据整合工作也正式列入年度工作要点,稳步推进。因此,对国土资源数据检查和质量控制进行科学研究具有重要的现实指导意义。
2 数据检查内容和要求
国土资源数据主要包括:以DOM、DEM、地形地貌、基础地质、境界与行政区、水系与交通等为代表的基础数据;以土地利用现状数据库、土地利用总体规划数据库、基本农田数据库、矿业权实地核查数据库、矿产资源储量利用数据库等为代表的专业数据;以建设用地审批红线数据库、卫片执法监察红线数据库等为代表的管理数据。无论是哪一类数据,数据成果都能归属于以下表达形式:文档、表格、图形库、属性库、图件、元数据、其他成果;数据质量元素都能归属于以下六个方面:数据完整性、逻辑一致性、空间定位准确度、属性数据准确性、图面整饰规范性、数据现势性。
2.1 数据完整性
数据完整性用于描述图、文、数、表等全部数据成果的完整程度以及数据库的运行情况。检查内容和要求如下:
1)规范性:数据成果目录规范,矢量数据元数据符合《国土资源信息核心元数据标准》(TD/T 1016-2003)要求。
2)多余和遗漏:数据范围、图层、空间实体、数据表、数据项、记录、符号、注记与文档等无多余或遗漏。
3)有效性:数据库管理与应用有效。
2.2 逻辑一致性
逻辑一致性指数据结构、属性及关系的逻辑规则的一致性程度。检查内容和要求如下:
1)概念一致性:空间数据的要素分层、属性数据结构与标准保持一致,如城镇地籍数据库是否符合《城镇地籍数据库标准》。
2)值域一致性:值应符合值域范围的要求;值间应符合规定的逻辑关系;表与表、表与层等逻辑关系符合标准要求。
3)格式一致性:图层、元数据、属性、文档等文件的命名符合标准要求;空间数据、属性数据、文档数据的格式与标准要求一致。
4)拓扑一致性:按规定建立拓扑关系;建立的拓扑关系正确;不同图层间的共用界线保持唯一;有向线状实体的方向正确。
5)接边一致性:接边实体类型保持一致;接边实体属性结构和属性内容保持一致。
2.3 空间定位准确度
空间定位准确度指空间实体位置的准确度。检查内容和要求如下:
1)数学基础精度:各比例尺空间数据坐标系符合相关标准要求;投影方式的选择及参数的设置正确。
2)校正精度:校正控制点数目与分布合理;校正后数据符合精度要求。
3)采集或转换精度:图形扫描分辨率和变形程度满足精度控制要求;矢量数据采集过程中严格按标准并依比例尺采集各图层要素,而且表示准确;数据转换过程中实体的属性内容不丢失,精度不降低;影像数据在格式转换过程中,应保证图像分辨率不降低。
4)接边精度:接边点位精度应符合标准要求;不同比例尺矢量数据接边时,低精度数据应服从高精度数据。
2.4 属性数据准确性
属性数据准确性用于表达或描述成果数据的准确程度。检查内容和要求如下:
1)分类正确性:实体及其属性分类与真值的符合程度满足要求。
2)属性正确性:文档等定性属性描述正确,定量属性值及其单位正确。
2.5 图面整饰规范性
图面整饰规范性包括符号、注记和图廓整饰的规范性。检查内容和要求如下:
1)符号规范性:符号正确、定位准确、表示合理,符号与符号以及符号与其他要素压盖关系合理;线划光滑、符合要求、线型设置正确;符合相关专业的色系标准或规范;网纹类型、颜色、高度、宽度和透明系数等正确。
2)注记规范性:注记正确、可读,压盖关系合理。
3)图廓整饰规范性:图廓整饰符合有关标准或规定,图面结构搭配合理,美观。
2.6 数据现势性
数据现势性包括数据源现势性和数据现势性。检查内容和要求如下:
1)数据源现势性:数据源完成的时间、介质、质量满足规定要求,如卫星影像的成图时间是否符合调查的时点要求。
2)数据现势性:数据完成时间、更新程度和更新周期满足规定要求。
3 二调城镇地籍数据检查实例
目前,很多GIS软件都有数据检查功能,如MAPGIS、ArcGIS都提供了拓扑检查及修改功能,也有很多专用的数据检查软件,如新联Gistool、WalkCheck、GeoCheck等质检软件。湖南省二调城镇地籍数据基于MAPGIS平台建库,因此,本文着重阐述基于MAPGIS的二调城镇地籍数据省级预检工作流程和方法,并分析其数据检查特点。
3.1 检查流程与方法
湖南省二调城镇地籍数据省级预检必须按规定的模板提交数据,主要包括数据库成果、文字报告、图件成果、表格成果、重要的过程数据及检查记录、其他资料。数据检查以定性和定量相结合、全面检查与抽样检查相结合为基本评价原则,检查方法结合了计算机自动检查、计算机辅助检查和人工检查三种模式,预检流程见图1。
1)在MAPGIS城镇地籍数据建库系统中,对图层完整性、属性结构符合性、属性值符合性、图形数据拓扑关系等36项内容进行计算机自动全检,数据检查配置界面见图2。
2)在MAPGIS城镇地籍数据管理系统中,通过计算机辅助,对表格面积与数据库汇总面积是否一致等内容进行手动全检,对权属来源扫描文件是否正确挂接、宗地层相关字段属性值与地籍调查表是否一致等内容进行手动抽检。
3)对元数据、数学基础、地籍图、街坊分布图、分幅索引图等成果进行人工检查。
所有检查内容完成后,根据缺陷分类(数据缺陷分为严重缺陷、重缺陷和轻缺陷三类)对单项成果进行评价,再综合确定城镇地籍调查数据库成果的总体质量,预检报告详细记录和总结了数据成果的质量情况。
nlc202309011610
3.2 MAPGIS检查特点
基于MAPGIS的城镇地籍数据建库系统与管理系统,是针对湖南二调城镇地籍数据建库、检查、管理工作实际而开发的专用软件系统,其数据检查模块与建库系统结合,检查功能全面,提供了共计23个检查模块,检查项目配置灵活,可以自由添加、编辑和删除检查项,也可自由定义和修改检查参数,并能自动生成简洁易懂的错误报告,发现问题便于修改,大幅提高了工作效率,减轻了数据检查人员的工作量。
同时,该系统不能直接检查其他格式的数据,与其他软件的兼容性差,定制检查功能模块需要添加相关函数,重新打包软件系统,检查功能也有不尽如人意的地方,需要进一步的完善。
4 数据质量控制分析
通过质量检查,发现和解决存在的问题,并进行有效的质量控制,是提高数据质量的必要手段。数据库建设应统一技术标准和规范,严格控制作业流程,实行严格的质量检查制度,确保中间成果质量和最终成果质量。结合二调城镇地籍数据省级预检实践,提出以下国土资源数据建库质量控制方法。
1)统一对特定数据调查和数据建库工作的认识,统一对相关概念的理解。
2)统一技术标准和规范,扎实开展人员培训。组织作业员、检查员、项目管理人员集中学习各项技术要求,熟练掌握技术流程,灵活运用软件系统,实现标准化作业。
3)选取条件成熟的地区开展数据调查和数据库建设试点工作。通过试点实践,研究解决一些可预见和不可预见的技术难题,针对特殊问题研究可行的解决方案,促进总体技术方案不断充实和完善,增强作业流程的灵活性和可操作性。
4)细化工作内容,明确目标责任,减少人工误差。全面收集、系统分析基础资料,通过比对原始资料,提高数据库成果质量,如保障录入地籍调查表内容的准确率。
5)减少系统误差和偶然误差。通过精度分析,控制空间定位精度,如控制DOM的校正精度、地籍图的采集精度等。
6)借助计算机和专用数据检查软件,实现数据自动批量检查,保障数据质量,同时也能提高工作效率。
7)加强对生产过程的监控和监察力度。针对生产过程中容易出现问题的环节,在不同的工作阶段设立质量检测员,并采取预防措施。在作业过程中,随时抽查作业员工作成果,发现技术和质量问题及时处理。
8)实行严格的质量检查制度,落实多级质量检查体系。在现行数据检查模式下,一个县的数据成果需要进行2-5次检查,对检查的依赖程度很高,这样一方面不利于数据质量的保障和技术单位自身的提高,另一方面极大地增加了省级预检的工作量。
9)客观、科学地评价数据成果质量,厉行数据质量一票否决和追责制,这也是湖南保障二调成果真实性的有效措施和宝贵经验。
5 结 论
基于MAPGIS的湖南省城镇地籍数据省级预检取得了良好的检查效果,检查内容明确、流程清晰、功能全面,检查项目定制灵活,大幅提高了数据检查准确率和工作效率。同时,MAPGIS检查功能模块需要在实践中不断提高可用性和开放性。在国土资源海量数据检查中,专门的检查软件可以更好地发挥数据检查的作用,值得大力推广。
SIP通信数据包捕获与分析 篇4
会话初始协议(SIP:Session Initiation Protocol)是IETF提出的在IP网络上进行多媒体通信的应用层控制协议。
SIP是一个客户/服务器协议(C/S)。协议的消息分为两类:请求消息和响应消息。协议消息是用来建立或者终结会话。SIP协议是通过发起方首先发出申请包的方法来建立会话的。由同一个发起方的一个会话的所有参加成员形成一个呼叫,它由一个全局唯一的标识(Call-ID)来识别的。通过一种最简单的会话(点到点IP电话会话)来介绍SIP痛惜过程,在通常情况下,呼叫由发起方来创建,但是更多的情况下,呼叫可由并不参与媒体通信的第三方创建,此时会话的发起方和会话的接受方并不相同。正因为“邀请”是SIP协议的核心机制,因此SIP请求消息的操作过程中最重要的一个就是“邀请”。发出邀请请求后,接收用户或网络应回送响应。在SIP协议中,响应分为中间响应和最终响应,中间响应报告呼叫进展情况,最终响应包括成功响应和异常失败响应。
2 SIP的通信流程分析
在SIP协议,客户定义为呼叫控制请求发出方,而请求接收方称之为服务器。由于终端系统既可以是呼叫的发起方,又可以是呼叫的接收方,因此终端系统应同时包含客户协议程序、服务器协议程序,分别称为用户代理客户(UAC-UA Client)和用户代理服务器(UAS-UA Server)。
在网络中有三类服务器:代理服务器(proxy server)、重定向服务器(redirect server)、注册服务器(register server)。其中第一类服务器,将客户的请求转发给下一个代理服务器或者直接转发给最终的用户服务器,下一跳的具体归属依赖于传输网络的拓扑结构;第二类服务器,其功能是通过响应告诉客户下一跳服务器的地址(路由),然后由客户根据此地址向下一跳服务器重新发送请求;第三类服务器,其功能是记录所有通信用户的信息。
因此SIP的通信方式可以归纳为三种方式:直接呼叫方式、代理服务方式、重定向服务方式。
2.1 直接呼叫方式
直接呼叫方式流程如图1所示。
从图中可以看出,一个成功的SIP邀请包括两个请求:INVITE和跟随其后的ACK。主叫发送INVITE请求消息来邀请接收方加入会话,在INVITE请求消息中包含一个关于SDP会话描述。接收方接到请求后立即回复180 Ringing消息,如果同意加入,则会紧接着发送200 OK响应,同时在200 OK响应的SDP会话描述中列出了自己的一系列参数。然后发起方会再发送一个ACK请求来证实它已经受到被叫的INVITE的响应(200 OK)。当其中一方想结束会话时,会直接发送一个BYE请求给对方。对方会发送一个200 OK响应来结束双方会话。
2.2 代理服务方式
代理服务方式流程如图2所示。
在代理呼叫中,请求和应答的构造方法与直接呼叫的方法基本相同。不同之处在于:请求和应答的消息头中增加了一个地址域,用于将接收到的消息转发到下一跳,而这个过程对终端双方是透明的,因此在终端的角度上,通信的方式与第一种方式是相同的。
2.3 重定向服务器方式
在重定向方式中,主叫请求被发送到本地SIP重定向服务器查询,重定向服务器得到该SIP请求的被叫地址,并向主叫发送302响应。主叫根据302响应中的Contact字段向被叫方直接发送INVITE请求。在实际应用中,跨域的代理服务器呼叫和重定向服务器呼叫方式往往时在一起应用的。
重定向服务器方式流程如图3所示。
3 SIP通信捕获的思想设计
SIP通信的捕获主要分成两个部分:通信消息的捕获以及通信媒体数据的捕获。首先通过捕获通信消息可以得到双方的通信状态(即双方通信所进行到的步骤,是通信协商状态还是正在媒体通信)以及双方所采用的媒体参数的信息;然后根据通信状态来判断是否开始或者停止捕获媒体数据,根据双方通信媒体的参数信息来实现通信双方的数据筛选与还原。
通过三种通信流程分析可以确定,一个完整的SIP通信按正常顺序应至少含有INVITE、180 Ringing、200 OK、ACK、BYE、200 OK等SIP消息,其中第三个200 OK是对INVITE的响应,而最后一个200 OK是对BYE消息的响应。因此可以根据SIP通信的这个流程规定来设计SIP通信的捕获流程。
而通信双方媒体的参数信息可以分别在SIP的INVITE和对INVITE响应的200 OK中获取。
根据以上的分析,设计了如下的捕获流程:
1)获取INVITE消息,在其起始行中可以获取被邀端B的IP地址,在其SDP部分的o字段中提取源IP地址信息。然后提取此消息中SDP部分的通信媒体参数信息作为A的媒体信息。例如:RTP和RTCP数据包的端口号,RTP流的载荷号及其载荷类型。
2)当捕获完INVITE消息后,等待180 Ringing消息。当捕获B到A的180 Ringing的消息时则显示此信息。
3)等待捕获200 OK的响应消息。当判别其是B对A的INVITE消息的响应时,获取其SDP字段的通信媒体信息,并将其作为B的媒体信息。
4)等待捕获从A到B的ACK消息。
由于三种通信方式的ACK是不经代理或重定向服务器直接由通信双方收发,所以可以根据ACK消息的源、目IP地址来核实会话的双方是否为即将通信的双方。
5)此时对ACK所确定的通信双方的IP双向数据进行捕获,并根据双方通信的媒体信息进行筛选与还原。
6)当捕获到BYE消息,并且此BYE消息是A、B其中一方发给另外一方时停止捕获。
7)捕获200 OK响应,判别其是对BYE消息的响应时通信结束。
捕获构架的改进:
以上为SIP通信所必须具备的流程,但在实际情况中SIP通信还包含了其他的许多消息,并且在网络上捕获的数据包也存在乱序情况。因此还可以根据情况的需要做如下改进:
第一:SIP通信不仅包含有上述的消息,他还包含了其他的一些请求与响应消息。对于在一个会话中的其他SIP消息,采用收到就显示出来的方式进行处理。
第二:由于网络上数据量的传输量是巨大的,所以必须建立有效的筛选机制。在对大量SIP通信的数据中发现,用来承载SIP消息的包可以是TCP和UDP混杂的,SIP通信信令的端口号可以是变化的,但是通信双方的IP地址在一个会话中是不会变化的,所以我们主要根据IP地址来筛选出双方的通信信令以及通信数据。
第三:由于网络传输的不稳定性,很难捕获到一个完整的SIP通信。因此将上诉捕获系统精简为四步:首先执行(1)对INVITE消息进行处理,然后执行(2)对响应INVITE消息的200 OK消息进行处理(3)接着开始根据截获的媒体的参数信息进行数据的捕获还原以及通信双方的确认(4)最后根据BYE消息或者对于BYE消息的200 OK响应停止捕获。
4 SIP通信中媒体数据的还原方案
由于SIP通信中媒体数据的传输是由RTP数据包实现的,因此我们根据RTP协议设计了对于RTP数据流还原的方案。
根据处理离线数据和实时通信的不同设计了两套方案:第一套方案主要是基于通信消息来对实时媒体数据的进行还原;第二套方案主要是基于对采集的离线数据进行处理来实现媒体数据还原。
4.1 实时还原方案
本方法的核心思想是通过分析请求消息的内容,获取传输媒体流的源、目的地址、端口号以及载荷信息,再通知过滤器进行数据捕捉。
其实现步骤如下:
1)捕获通信信令并记录相关的数据流信息。如:从SIP信令和H.323信令中获取通信双方的IP地址,RTP数据流所用的端口号以及RTP的载荷号,RTP载荷号所对应的媒体压缩方式。
2)根据双方的通信信令开始捕获RTP数据包。
3)根据通信信令来判别是否捕获结束。例如:当判别SIP通信中的BYE包或者对于BYE包确认的200 OK数据包时停止捕获。
4)最后对RTP数据流进行重组,并根据RTP的媒体压缩方式进行解压获得原始数据。
其处理流程如图4所示。
4.2 离线还原方案
核心思想是先将捕获到的所有网络数据包先储存下来,然后进行流还原,其次根据流信息捕获出媒体参数信息,最后根据媒体参数信息将数据还原为原始数据。
其实现步骤如下:
1)打开网卡捕获所有的IP数据包并将他们储存下来。
2)根据RTP流判别原则在储存的数据中提取所有的RTP数据流信息。
3)按照RTP包的Sequence Number字段对各条RTP流的数据进行重组与还原。
4)根据通信双方的IP地址来获取通信消息,从其中获取其媒体的编码信息。对于信令不全的流采用RTP默认的媒体类型来处理。
5)最后根据RTP的媒体压缩方式进行解压获得原始数据。
其处理流程如图5所示。
5 结束语
本文着重对SIP通信进行了分析,并根据这些分析提出了SIP通信捕获的方法。这些方法已应用到实际的程序中,在实际操作中证明对于媒体数据的还原以及消息信令的解析是有效的。
摘要:以VOIP为核心的下一代网络通信技术以其直观性、实时性好、操作方便等特点正发展成为一门新兴的通信手段,SIP协议是实现VOIP的一个重要协议,对SIP协议的研究十分有意义。文章从分析SIP的通信流程入手,解析了SIP协议的消息格式,进而提出了一种SIP通信捕获的方法。
关键词:SIP,VOIP,捕获
参考文献
[1]阎卫国.RTP/RTCP流媒体数据还原技术[M].北京:北京邮电大学,2007.
[2]Rosenberg,J.,Schulzrinne,H.,Camarillo,G.,Johnston,A.Peterson,
[3]J.,Sparks,R.,Handley,M.and E.Schooler,“SIP:会话初始协议”,RFC 3261,2002.
[4]Handley,M.and V.Jacobson,“SDP:会话描述协议”,RFC 2327,1998.
浅谈GIS空间数据质量控制 篇5
关键词:空间数据;误差分析;质量控制
1、前言
随着地理信息系统(GIS)应用日益广泛,用户对地理空间数据产品质量要求越来越高。空间数据是GIS的核心与操作对象,数据质量在极大程度上决定GIS应用和决策的成效。对于数据质量的优劣,直接影响GIS分析及应用结果的可靠性,如果不考虑GIS的数据质量,当用户发现GIS的结论与实际的地理状况相差较大时,GIS就会失去信誉。因此,空间数据质量控制是GIS生存和发展的保障。本文主要根据笔者在GIS空间数据检查过程中,浅谈获得经验与建议,与同行们一起交流、探索空间数据误差来源、质量控制方法等。
2、GIS空间数据误差来源分析
空间数据主要是通过数据采集、数据处理完成的,而数据采集是利用不同的仪器设备及不同手段将现有地图、外业观测成果、摄影像片、遥感图像文本资料经过编辑处理,转换成GIS数据格式,由于仪器及人为原因,在GIS空间数据生产过程中都会发生不同程度的数据误差,根据误差内容及误差类型,对误差产生的来源进行分析。
2.1空间数据误差内容
GIS空间数据需要采集与录入几何数据和属性数据,至于拓扑数据,一般在几何数据的基础上,按需要通过“挖掘”逻辑处理形成。因此误差类型主要为数据的源误差和处理误差,而现阶段数据来源基本为数字产品,主要误差内容、产生原因如下表:
2.2空间数据误差分析
根据以上误差内容及误差产生原因,说明数据误差可以是系统的,或者人为产生的。他包含位置(几何)误差、属性误差、逻辑误差、完整性误差及时间误差,在这几种误差中,涉及生产人员引起注意的是位置、属性、逻辑、时间四种误差,因此要重点对这四种误差产生进行分析。
(1)位置误差:指空间实体的坐标信息与实际地理位置的几何误差,为空间数据的源误差,主要包括平面误差和高程误差,是在外业测量过程中引起的,通常考虑的是系统误差、操作误差和偶然误差。
(2)属性误差:指空间实体的属性值与实际属性值的一致性,通常取决数据的类型,他与实际位置精度有关,包括要数分类的正确性、属性编码的正确性、注记的正确性、属性字段和属性值的准确性等,是在外业调查不当和内业输入的粗心大意引起,包含源誤差与处理误差。
(3)逻辑误差:是指GIS对空间数据进行数据处理时产生误差,如多边形叠置误差、多元数据异构误差、结点匹配误差、拓扑关系的正确性,因此逻辑误差的产生,常常与几何误差、属性误差有关。主要是在基础地理数据转换到GIS空间数据时引起数据丢失,产生转换误差,以及在对转换后GIS数据编辑处理过程中,内业编辑人员对地图数据逻辑结构、地形综合处理表达等相关测量技术不熟悉引起。
3、GIS空间数据质量控制
对空间数据误差分析,目的是针对数据源生产和数据入库转换预处理过程中的空间数据质量控制,制定相应质量检查和控制方法,减少源数据误差,防止粗差,以达到质量控制的目的,满足空间数据质量要求。关于源数据外业生产质量控制已按照相关规范执行,并已经质检部门验收通过,这里不再赘述。主要针对不同数据源按照GIS入库标准要求进行质量控制,即数据质量的再检查。
3.1数据质量检查内容
主要包括数据转换前检查和数据转换后检查:
1、数据转换前检查:(a)空间数据的地理参考系是否统一;(b)不同软件生产的数据格式是否一致;(c)空间地理特征的数据内容是否遗漏、悬挂、连续或重叠等,(d)分类、分层、代码唯一性和矢量几何精度一致性;(e)拓扑关系、多边形闭合等检查;(f)同比例尺接边处理、相邻图幅要素属性及几何图形接边检查、各时期各种类型数据接边检查。
2、数据转换后:指包括数据转换前检查内容外,重点对点、线、面目标丢失及逻辑关系的检查。
3.1数据质量检查控制方法
根据数据质量检查内容,空间数据检查方法一般采用计算机专用软件自动检查结合人工目视计算机屏幕漫游检查。通过图形实体与其属性的联合显示,用计算机专用软件检测,会自动出现数据的遗漏、重复、不匹配等逻辑与拓扑错误,如房屋面与房屋线必须重叠、无空隙、无相交。对检查软件检测不能自动发现错误的,如数据转换后,图形要素表达的文字信息丢失等,要对照原图进行人工目视计算机屏幕数据漫游检查,逐个改正,以满足规范、技术要求。
4、结论与建议
GIS空间数据质量控制是个复杂的过程,它不仅对外业数据采集过程进行质量控制,还要对数据预处理过程及数据入库后进行质量控制,这就要求我们工作人员既要具有丰富的外业数据测量知识和经验,又要具备CAD作图、GIS空间数据处理能力,在数据采集、编辑、处理过程中做到一丝不苟,严格执行二级检查、一级验收制度,加强质量检查措施,通过循环检查,达到质量控制目的。
参考文献:
[1]胡鹏等,地理信息系统教程[M],第1版,武汉:武汉大学出版社,2002.2
[2]国家测绘局职业技能鉴定指导中心,注册测绘师资格考试辅导教材测绘综合能力[M],第2版,北京:测绘出版社,2012.4
数据捕获与数据控制 篇6
主动防御技术是近几年发展比较快的网络安全技术。传统的防御措施主要是依靠防火墙(firewall)以及入侵检测系统(IDS),却无法有效对付来自内网的攻击及IP地址欺骗攻击等。相比于传统的被动型的网络安全技术,主动防御技术能够变被动为主动,主动地引诱攻击者,并对攻击者的信息进行数据捕获,并以此进行分析研究,以便以后更有针对性地加强网络安全。Honeypot技术正是这一新型防御机制的典型代表。
本文以主动防御系统中应用比较广泛的Honeypot为基础,重点对数据捕获进行了设计。数据捕获是Honeypot中最重要的一环,我们只有捕获到了攻击者的数据,才能深入掌握对方信息,分析其意图,并采取相关措施,否则Honeypot便毫无意义。为了数据捕获的可靠性,我们采用sebek和libpcap双层数据包捕获。
1 Honeypot技术简介
Honeypot意指蜜罐,它是一种对攻击者进行欺骗的技术,通过布置一些作为诱饵的主机和网络服务诱使攻击者对它们进行攻击,以此减少对实际系统的攻击,并且对攻击行为进行监控和分析,了解攻击者所使用的工具和方法,从而使网络管理员通过技术和管理手段来增强系统的安全防护能力。这样安全研究人员就可以全面控制和监视所有攻击活动,了解攻击者的方法,掌握其动机,这其中数据捕获就尤为重要。数据捕获,即监控和记录攻击者在Honeypot内的所有行为,最大限度地搜集尽可能多的数据,而又不被攻击者所察觉。
2 数据捕获设计
为了提高数据捕获的可靠性,一般采用多层次的数据共享或者采用虚拟主机技术模拟数据包广播功能。本论文设计了一种双层数据包融合机制,将sebek技术和libpcap技术相融合,分析数据包的流程以及时延,从而获取更加可靠和全面的数据。
2.1 Sebek数据捕获
Sebek基于Linux内核系统开发的一个专业的数据包捕获工具,我们设计的使用无连接、不可靠的UDP协议进行通信,Sebek数据捕获分成两个组成部分:客户端和服务端。客户端负责捕获数据并且适时输出到远程网络服务端。服务端负责数据收集,一般采用直接从网络活动的数据包捕获。若攻击者数据没有加密,则通过Wireshark工具反编译TCP流得知会话内容并记录入侵者输入的信息。如果入侵者有加密的数据流,则采用Java Script加密库Crypto-JS标准机制或哈希算法解密数据,然后再获取解密了的数据包。还有一种情况可以直接从tcpdump格式保存数据包文件,数据收集后既可以上传到相关数据库,也可以直接显示输出记录。
在Linux中,客户端完全进驻内核空间,作为一个可加载内核模块被执行,可以当作运行在内核空间的一段代码来对待。数据捕获通过内核模块实现我们访问Honeypot内核的功能,并且捕获所有的read()函数的活动数据。函数调用过程中Sebek通过系统调用表中的read()来实现,新旧read()替换调用,并且复制数据包,把函数调用内容存储到到缓存中,再加上指向头部的指针栈,形成一个数据流,并发送到服务端。
系统调用是在有条件的情况下才能执行,一般当用户进程访问read()函数时会产生一个系统调用,而且Sebek修改了指向read索引的指针,因此用户空间的read()函数调用映射到系统调用表引起数组的索引偏移,所以系统调用的执行就会切换到kernel context,并且开始执行Sebek的新read调用。这样Sebek就能监控到通过read系统调用访问的所有数据。当Sebek客户端开始捕获数据,通常要在不被入侵者发现的情况下向服务器发送数据。Sebek采用无连接的不可靠的UDP协议来向服务器传输数据,不过,在它传输之前修改部分内核来防止用户看见这些数据包。Sebek生成的数据包直接将其发送至设备驱动,用户无法用IPTABLES阻止这些数据包或者使用网络嗅探器来检测它们,这样保证了真正主机的安全。
2.2 Libpcap数据捕获
本文设计的Libpcap是一个与实现无关的基于Unix/Linux平台下的分组捕获函数库,目前只支持分组的读取一个的网络数据包捕获函数库,我们增加了一些代码之后,使之可以写数据链路分组。它是一个独立于系统的用户层包捕获的API接口,为底层网络监测提供了一个可移植的框架,主要由两部份组成:网络分接头(Network Tap)和数据过滤器(Packet Filter)。两部份功能互为补充共享,其中Network Tap搜集来自网络设备驱动程序中的数据包,并将搜集到的数据包自我复制一份。Packet Filter则采用BSD Packet Filter(BPF)算法对网卡接收到的数据链路层数据包进行过滤。网卡驱动将接收到的数据包复制一份交给BPF过滤器,过滤器根据用户定义的规则决定是否接收此数据包以及需要拷贝该数据包的哪些内容,然后将过滤后的数据包交给与过滤器相关联的上层应用程序。
数据捕获时,我们把网卡设置成混合模式,在数据链路层加一个旁路处理,数据包经过七层传输最后达到网络接口时,libpcap用已经创建的Socket从链路层驱动程序中获得该数据包的拷贝,再通过Tap函数将数据包发给BPF过滤器,libpcap数据捕。
我们用C语言写出它的源代码如下:
Libpcap对数据的捕获是通过几个主要函数来完成的。首先调用Pcap-lookupdev()函数找到查找可以捕获数据包的设备接口,并返回该网络设备名称。接着调用Pcap-open()函数,利用上面查询到的接口设备创建捕获句柄,进行数据捕获并将捕获的数据转换成以太类型,分析判断包含的数据包类型。
Sebek和Libpcap都是在Linux系统内核中完成的,可以在不同的层次把两者结合起来进行多层次数据捕获,保证了数据捕获的全面性和可靠性。
3结论
本文设计的数据捕获系统是基于Linux系统内核的基础上对传统Honeypot数据捕获的一种改进,采用双层捕获机制,能名够尽可能地对数据包的全面、可靠性捕获,从而进行深入分析,获取攻击者的信息,以便更有效保护好主机系统。
摘要:本文先对Honeypot技术作了简要介绍,重点对数据捕获进行了设计。数据捕获是Honeypot系统中最关键的数据模块。获取攻击者的信息都是来自于数据捕获。为了数据捕获的可靠性,本文采用sebek和libpcap双层数据包捕获。
关键词:Honeypot,数据捕获,sebek,libpcap
参考文献
[1]朱一帅,吴礼发.基于Sebek的蜜罐识别机制研究[J].信息技术,2009.
[2]陈超,妙全兴.蜜罐识别与反识别技术研究[J].计算机安全,2009.
网络IP数据报的捕获与解析 篇7
在网络的TCP/IP协议分层体系结构中,网际互联层是实现异构网络互联的最关键的一个协议层。它使用网间协议(Interne Protocol,IP)使不同物理网络在逻辑上互联起来,实现了主机“端到端”的连通性。IP的协议机制完全体现在它的协议数据单元———IP数据报的结构上,掌握了IP数据报每个域的含义与就基本掌握了IP协议机制。解析了IP数据报的内容,对把握网络的组织运行状况,数据流向,传输协议和网络安全方面都很有帮助。本文在VC++环境下使用套接字编程,完成了对流经本节点的IP数据报的捕获和解析。运行后从捕获的结果分析了各个参数字段,生成解析结果文件,初步分析了网间协议的传输机制。
2 IP数据报
IP数据报格式包含了标头固定部分,标头可变部分和数据区三部分。IP数据报标头部分固定为20个字节,其中包含了12个参数域。各参数域隐含着网间协议的传输机制。IP具体的标头格式如图1所示。
各参数域的具体含义如下[1]:
1)版本号:长度4位,表示所使用的IP协议的版本。IPv4,版本号字段的值为4;IPv6,版本号字段的值为6。
2)标头长:长度4位,定义了一个以4B为一个单位的IP包的报头长度。
3)服务类型:共8位,高3位组成优先级子域,随后4位组成服务类型子域。
4)数据报总长度:总长度为2B(即16位)。定义了以字节为单位的数据报的总长度。
5)重装标识:长度16位,用于识别IP数据报的编号,让目的主机判断新来的数据属于哪个分组。
6)分片标志:共3位,最高位为0;DF:禁止分片标志。DF=0,可以分片;DF=1,不能对数据报分片。MF:分片标志。MF=0,表示接收到的是最后一个分片;MF=1,不是最后一个分片。
7)片偏移值:共13位,说明分片在整个数据报中的相对位置。
8)生存期:8位,用来设置数据报在网络传输过程中的寿命,常以一个数据报可以经过的最多的路由器跳步数来限定的。
9)协议类型:共8位,表示该IP数据报的高层协议类型。
10)标头校验和:共16位,用于存放检查报头错误的校验码。
11)源、宿主机地址:共32位,分别表示发送和接收数据报的源主机和宿主机的IP地址。
12)选项数据域:0~40B,用于控制和测试。
3 套接字及Winsock编程
套接字是网络编程的接口,在进行网络编程时,为了进行数据的传输,一般使用套接字进行与网络协议的交互。Windows socket是一套开放的Windows下网络应用程序编程接口,是基于socket模型的API。使得人们可以方便地使用Windows的消息映射机制进行编程。套接字有三中情形,分别是流式套接字,数据报套接字和原始套接字。在调用socket(int af,int type,int protocol)创建套接字的时候可以根据第二个参数来指定其类型。具体如下:
为了能够捕获并解析IP数据报,需要对底层的机制更好地把握。原始套接字用来处理低层的协议机制,因此这里使用原始套接字。使用的套接字的地址结构如下:
4 具体实现
实现的目标是:运行程序后,捕获节点上所有经过的IP数据报,解析每个数据报参数域的内容和含义,显示解析结果,生成输出结果文档,保存数据。程序的大致流程是:设置标头结构并构造参数域解析函数,结果输出文件的生成,创建并初始化套接字,设置网卡混杂模式并监听网卡,捕获并解析IP数据报,显示并写入结果文档,如图2所示。
标头结构的定义如下:
其思想是:参考图1可知,分段标志位于所在字的高三位,即第16,15和14位,其中第16位保留,第15位是DF标志位,第14位是MF标志位,因此为了解析出DF与MF,采取将其所在的字变量分别右移14位和13位,其结果是DF和MF标志位都移到了最低位。然后将所得结果和01H相与,相与的目的就是保留最低位不变,其它位相与的结果变为0,因此最后相与的结果就是DF和MF的值。其它诸多参数域的解析各自编写函数完成,这里不一一列出。
网卡的设置:网络当中数据的发送和接收都需要经过网卡,一般情形网卡只发送和接收与自己本机相关的数据报或者网络当中的广播数据报。为了能将流经本节点的数据报都捕获到,需要将网卡设置为混杂模式。将原始套接字绑定到网卡:
监听网卡,即通过recv函数接收数据:size=recv(sock,buffer,BUFFER_SIZE,0),在获取了网络节点上的数据报之后,调用前面已经编写好的参数域解析函数对数据报的各个参数域进行逐个解析,并显示和保存结果。
5 实验和演示
通过命令行方式运行编写好的程序,当网络上有数据流经本节点的时候,可以将它们捕获,并且界面上会依次闪现一个个数据报的解析信息,最后将所有的数据报解析结果以txt文本文档的形式保存在指定文件里。图3中截取了其中一个数据报的解析信息,可以看出,该数据报从IP地址为202.195.102.24的节点发往61.200.81.136,使用的IP协议版本号是IPV4,标头长为20字节。服务类型为普通服务,优先级普通。数据报总长度12288字节。重装标志显示该IP数据报的编号是53662,允许分段,是原始数据的最后一个分片。所处位置的偏移量为64。在网路中传输已经经过了128跳。该数据报送TCP高层协议处理。头校验和是0xca9b。
6 结束语
本文使用VC编程,实现了网络IP数据报的捕获和解析,通过实际验证,能够详细地获取各参数域的内容并解释其含义,生成分析文档。以后可以进一步地研究网络数据的获取方法。在获取大量原始数据的基础上,采取合适的数据分析工具和手段,可以与网络安全等具体应用进一步结合。
摘要:IP数据报的内容体现了网际互联层的网间协议的协议机制。解析IP数据报,对把握网络的运行情况以及协议机理都很有帮助。很多具体应用也与此紧密相关。在VC++环境下用套接字进行编程,实现了对网络节点上的数据报的捕获,并对其中各个参数域进行了解析。最后通过实例进行了演示。
关键词:IP数据报,网间协议,套接字
参考文献
[1]高传善,钱松荣.数据通信与计算机网络[M].北京:高等教育出版社,2003.
[2]熊安萍.基于Winsock技术的数据包解析研究[J].计算机科学,2006,33(12):81-83.
[3]赵新辉,李祥.捕获网络数据报的方法[J].计算机应用研究,2004,21(8):242-255.
[4]高庆峰,李春林.基于TCP/IP协议网络数据报的截获并篡改的研究及实现[J].计算机安全,2007,4:27-31.
[5]林生,韩海雯.计算机通信与网络教程[M].北京:清华大学出版社,2006.
数据捕获与数据控制 篇8
现如今, 随着Linux操作系统的推广, Linux下的相关监控、维护需求也逐渐增多, 本捕获器正是利用了这一优势。数据包捕获开发包Libpcap (The Packet Capture Library) 是一个平台独立的网络数据包捕获开发包。它是一个高层的编程接口, 隐藏了操作系统的细节, 可以捕获网络上的所有数据包, 包括到达其他主机的数据包。Libpcap中使用了BPF过滤机制, 这部分是基于内核的过滤模块, 它使得Libpcap具有捕获特定数据包的功能。
二、系统结构设计
总体思想:根据以太网协议类型字段ethernet_type, 判断数据包协议类型是ARP、IP还是RARP, 若为IP协议数据包, 则继续分析其类型字段, 判断数据包协议是TCP、UDP还是ICMP。若为TCP、UDP, 即可根据其端口号判断在其基础上的应用层协议。若为ICMP可根据其类型进一步分析ICMP数据包。
本网络数据包捕获器可对以太网协议数据包、ARP协议数据包、RARP协议数据包、IP协议数据包、ICMP协议数据包、TCP协议数据包、UDP协议数据包进行抓捕并分析, 应用层协议数据包的分析可在后续开发中追加。
函数回调关系如图1所示。
三、实现
本网络捕获器主要通过Libpcap实现, 利用Qt制作一个界面。
在文字“请输入命令”下面的输入框中输入所要捕捉的数据包类型 (如./ip) , 点击“运行”。即可对IP数据包进行捕获、分析。如图2所示。
四、结束语
网络数据包捕获器是对网络进行后续分析、诊断、安全防范的基础, 对网络进行更深层次的探究、分析具有重要意义。
参考文献
[1]吴功宜, 董大凡, 王王君, 刘乾.计算机网络高级软件编程技术.北京:清华大学出版社, 2011
[2]程光, 杨望.网络安全实验教程.北京:北京交通大学出版社, 2013
网络数据包捕获及分析 篇9
目前, 网络上的数据流量与日俱增, 随之而来的网络安全问题也日渐重要。无论是实现防火墙, NAT还是VPN, 首先就是获得网络数据包, 在此基础上才能进行下一步的工作。因此研究数据包捕获及分析技术具有极其重要的意义。
本文介绍了利用RAW SOCKET进行网络数据包捕获的原理, 并且开发了一个程序模型来探讨捕获数据包实现的方法。
1 原理
1.1 数据收发
以太网是基于广播方式传送数据的, 也就是说, 通常在同一个网段的所有网络接口都可以访问在物理媒体上传输的所有数据, 而每一个网络接口都对应惟一的硬件地址, 即网卡MAC地址。正常情况下, 一个网络接口应该只响应两种数据帧:①与自己硬件地址相匹配的数据帧;②向所有计算机的广播数据帧。
在实际系统中由网卡来完成数据的收发。网卡接收到传来的数据, 网卡内的程序接收数据帧的目的MAC地址, 然后根据网卡驱动程序设置的接收模式判断:认为应该接收, 就在接收后产生中断信号通知CPU;认为不该接收就丢掉不管。CPU得到中断信号产生中断, 操作系统就根据网卡驱动程序设置的网卡中断程序地址调用驱动程序接收数据。驱动程序接收数据后, 放入信号堆栈让操作系统处理。
对于网卡来说一般有4种接收模式:①广播方式:该模式下的网卡能够接收网络中的广播信息。②组播方式:该模式下的网卡能够接收组播数据。③直接方式:该模式下只有目的网卡才能接收数据。④混杂模式:该模式下的网卡能够接收一切通过它的数据。所以要想实现对网络的数据进行获取分析, 首先应该把网卡设置成混杂模式。
1.2 数据获取
数据获取主要有两种方法:通过数据链路层获取和通过网络层获取。
(1) 通过链路层获取
在TCP/IP的体系结构中, 数据链路层和物理层共同构成网络接口层, 作为TCP/IP的第一层。在这一层传输的数据格式是以太帧。获取以太帧目前可以通过LibPcap和WinPcap两种捕包工具。LibPcap是一种与系统无关, 采用分组捕获机制的分组捕获函数库。使用LibPcap编写的程序可自由的跨平台使用。而WinPcap是Lib cap的Windows版本, 集成于Windows95, 98, ME, NT, 2000和XP操作系统的设备驱动程序, 可以从网卡捕获或者发送原始数据, 同时能够过滤并且存储数据包。
(2) 通过网络层获取
通过网络层获取数据主要借助原始套接字。套接字是网络应用编程接口。套接字有三类:流式套接字、数据报套接字和原始套接字。前两种套接字只能访问到传输层。而原始套接字则可以获取ICMP、TCP、UDP等数据包。在Windows环境下可用Winsock来实现。
2 相关协议介绍
2.1 IP协议
IP的基本功能:寻址、路由选择和数据包的分割和组装。它不提供可靠的传输服务。依据IP报文格式在程序中声明IP首部:
2.2 TCP协议
TCP提供全双工和可靠交付的服务。该协议主要用于在主机间建立一个虚拟连接, 以实现高可靠性的数据包交换。依据TCP报文格式在程序中声明TCP报头:
2.3 UDP协议
UDP是一个无连接协议, 传输数据之前源端和终端不建立连接, 也不使用拥塞控制、不保证可靠交付。依据UDP报文格式在程序中声明UDP报头:
2.4 ICMP协议
ICMP是TCP/IP协议集中的一个子协议, 属于网络层协议, 主要用于在主机与路由器之间传递控制信息, 包括报告错误、交换受限控制和状态信息等。依据ICMP报文格式在程序中声明ICMP报头:
3 具体实现
系统的开发环境是VC++6.0, 利用RAW SOCKET套接字来实现包捕获功能。
3.1 包捕获模块的实现
(1) m_s=socket (AF_INET, SOCK_RAW, IPPROTO_IP) ;//创建原始套接字
(2) setsockopt (m_s, SOL_SOCKET, SO_RCVTIMEO, (constchar*) &rcvtimeo, sizeof (rcvtimeo) ) ;
//设置IP头操作选项, 超时接收选择
(3) SOCKADDR_IN sa;
(4) 设置套接字接收模式, 并启动新的接收线程thread-Func
3.2 包分析模块的实现
首先根据先前定义各协议的报头, 解析IP报头内容, 进而确定协议类型, TCP、UDP或ICMP, 之后再分别进行相应的报头解析。部分程序为:
定义一个IP头指针p Ip Header, 利用指针的移动来实现包的解析。然后依据IP数据包结构, 分别读取IP数据包的各项信息。根据proto字段进一步确定其为TCP数据包、UDP数据包还是ICMP数据包。
根据不同的选择执行不同的程序, 并把最后结果显示在对话框中。
4 总结
本文主要实现的功能是对网络上的数据包进行捕获及分析。即首先通过捕包模块把经过主机网卡的数据包截获, 并存储在缓冲存储器中, 然后通过分析模块对它进行分析, 从而得到网络层和传输层协议的报头内容。当然这个系统也有不完善的地方, 如由于捕获到的数据包头不包含有帧信息, 因此不能接收到与IP同属网络层的其它数据包, 如ARP数据包、R A R P数据包等。
摘要:网络数据包捕获及分析主要实现了对网络上的数据包进行捕获及分析。包捕获功能模块主要是利用原始套接字对网络层的数据进行抓包。在包分析功能模块, 根据报文协议的格式, 把抓到的包进行解析, 从而得到网络层和传输层协议的报头内容。
关键词:包捕获,套接字,网络协议
参考文献
[1]谢希仁.计算机网络[M].北京:清华大学出版社.2001.
[2]韩新宇, 章惠君.Windows下实现网络数据包捕获[J].维普资讯网.
编目外包数据质量分析及控制对策 篇10
〔关键词〕图书馆;编目;业务外包;质量控制
〔中图分类号〕G254.34 〔文献标识码〕A 〔文章编号〕1008-0821(2012)09-0143-03
随着网络技术、通讯技术的发展以及图书市场的多元化,传统的图书馆编目工作也发生了深刻而根本的改变,依托联机编目的优势,编目业务外包逐步取代图书馆编目人员的工作成为图书馆采编工作的发展趋势。由图书馆与书商合作共同完成书目数据库的建库工作已是目前图书馆采编工作的主要模式。从大多数图书馆的外包实践来看,编目外包的优势是非常明显的,扩充了人力资源,降低了成本,提高了编目工作效率,加快了新书入库速度。但不可否认的是,编目外包的弊端也日渐浮现,外包导致数据质量下降是图书馆不得不面对的现实问题。如不对数据质量加以规范控制,势必会影响数据库的正常运行,给读者服务,资源共建共享造成障碍。研究和探讨书目数据的质量控制问题,对于长久稳定地维护数据质量,保证文献信息服务的顺利开展具有重要意义[1]。
1 编目外包数据质量问题表现
1.1 分类标引不规范
文献分类是一项专业性很强的工作,需要广博的知识面作基础,同时需要编目人员熟练应用《中图法》,并且能够正确理解和把握各图书馆的分编细则,但是由于书商编目员学科背景单一,同时承担着多馆的编目任务,对各馆的编目细则未能熟练掌握,因此导致在分类标引方面出现不少问题:①分类错误,如《老板要的不是牛》,外包数据入F292.92,不正确,《中图法》无此分类号,本书论述的是企业职工管理,应入F272.92。②分类较粗,计算机语言类图书没有加语言名称的前两位英文字母。③仿分复分不统一,同一套系列教材有的加-43,有的没有加。④对多主题交叉学科的图书未能根据图书馆的专业特点选择合适的类目。⑤对双语读物的分类组配到哪一级做法不规范,如英国小说选读,有入H319.4:I,有入H319.4:I561,有入H319.4:I561.45。⑥教材及配套参考书两者类号不一致,如《计算机组成原理及汇编语言》一书,类号为TP3,而与之配套的《计算机组成原理及汇编语言学习指导》则分在TP303。
1.2 著录信息有误,著录项目不完整
对文献的各项信息进行完整、准确、规范地揭示是编目工作的重要内容,也是用户检索和选择文献的重要依据,数据中存在错误将直接影响用户对文献的识别和判断。外包数据中著录方面存在的主要问题有:①对正题名与副题名的选择产生差错,把作为一个整体的书名割裂成两部分著录在200字段的a子字段和e子字段。 ②对内容相关的同一套丛书在题名的选取上做法不一,有的以丛书名作正题名,有的以分册名作正题名,如《中国名画家全集》丛书,有《王原祈》、《傅抱石》等多个分册,在书商提供的数据中有的记录以丛书名作正题名,著录为:200 1#a中国名画家全集。有的以分册名作正题名,著录为:200 1#a王原祈。③责任者著录不规范,同一责任方式责任者超过3个的有的著录为“×××[等]著”,有的著录为“×××…等著”,有的著录为“×××等著”,并且没有在304字段补充其他责任者,也没有在7字段提供其他责任者检索点。另外,数据中大量存在责任者与责任方式顺序颠倒的问题,例如将“×××主编”著录成“主编×××”。④图书版本的选取与著录出现差错,图书的版本信息应取自版权页所载版次,若版权页与其它规定信息源如题名页、封面出现差异,仍以版权页为准,著录时省略“第”字,入205字段,如:205 ## a2版。而外包数据在版次出现差异时往往选择题名页、封面的版次信息,著录时入200字段的e子字段,导致错误。⑤著录项目不全,著录字段有遗漏的现象,如330文摘提要字段,314知识责任字段,225丛编项字段等。⑥著录内容所入字段有误,如“×××教材”有的入225字段,有的入300字段,有的入333字段,正确的是入300字段,“×××系列教材”才入225字段。304字段著录文献其他责任者,314字段著录作者简介,外包数据常将二者混淆。翻译作品授权出版应著录于305字段,外包数据往往著录在306字段。⑦指示符、标识符、代码有误,如同一套双语读物丛书,其语种指示符有的分册用“0#”,有的分册用“2#”。100通用处理数据的出版时间类型代码较混乱,对连续出版超过1年的专著,各编目员有不同的理解,有的当作连续出版物记入“a”,有的当作专著记入“d”,正确的应是作为跨年度出版的专著记入“g”。
1.3 多卷书、丛书、再版书种次号出错
在编目工作中,书商编目员常常忽略了查重,没有检索出多卷书的其它卷册、再版书的其它版本,导致多卷书、再版书的种次号频频出错,或是没有与前一卷的种次号一致,或是种次号后没有加辅助区分号。对于以丛书名作正题名集中著录的丛书,在取种次号时应给予每一分册相同的种次号,种次号后再加辅助区分号,以便于该套丛书集中排架,然而外包数据常常给了不同的种次号,使同一套书被分散。
1.4 其它问题
①著录中出现错字、漏字、多字的现象。②价钱错误,如多卷书总价分配给每个单卷的价钱出错,配盘图书中光盘与图书价钱算错。③图书载体类型出错,如精装误为平装,随书光盘误为随书软盘。④多卷书照其它分卷著录,但ISBN号、价钱、著者等也一并复制下来而不作修改,导致数据错误。
2 外包数据质量问题成因分析
2.1 数据来源不一造成书目记录不规范
目前书商所做的编目数据的来源主要有国家图书馆联合编目中心、中国高等教育文献保障系统(CALIS)、图书在版编目数据、书商自编的数据等。由于各编目机构使用的编目规则、著录条例、手册等不统一,所提供的数据源往往会出现较大的误差[2],导致著录的差异和书目记录不规范。
2.2 下载的数据本身有误
下载CALIS编目数据是目前绝大多数高校图书馆的做法,虽然CALIS数据由具有资质的成员馆编目人员完成,但数据中出现错误仍然难以避免,因此对下载的数据不能照套照用,而是要逐条仔细检查,发现错误及时修改。但是由于书商编目工作有定额限制,编目员为尽可能多地完成任务,对数据直接下载了事,没有仔细检查,忽略了数据中的一些错误。
2.3 书商编目员业务素质原因
在外包前,图书馆的编目工作一般由具有图书馆学专业知识、编目经验较丰富的人员担任,数据质量能得到保证。外包后,书商委派的编目人员大多并不具备编目专业知识,对文献著录规则,机读目录格式,分编细则等不能熟练掌握,只是经过简单的短期培训即上岗工作。书商编目的定额任务也使得编目员盲目图快,对数据中分类标引、著录字段方面的错误未能发现,致使错误流入下一个环节,同时书商编目员过多依赖于图书馆工作人员进行审核,也放松了对数据质量的把控。
2.4 出版物不规范
图书出版与印刷的不科学、不规范给图书馆的编目工作造成了困扰,ISBN号错误,题名不统一,责任方式不明确,版次信息前后不一等等,都给编目工作带来了困难,导致编目人员在信息采集上出现失误,影响了书目数据质量[3]。
2.5 查重工作不到位
查重对于编目工作而言其重要性无可置疑,通过查重不仅可以使同种书的不同版本集中在一起,而且能确保先后进馆的多卷书、丛书著录统一、标引一致[4]。然而在编目中书商编目员由于赶时间完成定额任务,经验不足没有对标识不清的多卷书作出正确判断,未以恰当的书名检索等原因致使查重工作出现缺失,造成索书号错误,出现同书异号的现象,给流通排架、读者检索带来不便。
3 编目数据质量规范控制对策
3.1 选择合适的外包模式
图书馆实施编目外包,不能将所有编目工作环节全部外包出去,那样会使编目工作处于不可控的状态,不利于书目数据质量的掌控。图书馆可将一些前期性的事务工作,技术含量低的工作,可利用联机编目数据的工作交由书商完成,如盖馆藏章,贴磁条、条码、书标,图书分编等,而验收、审校、典藏等核心业务应由图书馆工作人员完成。在外包加工模式上可采取异地加工和馆内加工两种方式[5]。比较而言,由图书馆提供加工场地,书商派工作人员进驻,直接在图书馆内进行编目加工处理的馆内加工模式,因书商的编目加工过程置于图书馆的全程监管指导下,有利于保证书目数据质量而成为较为理想的外包模式。这种方式无论是对书商的前期培训,还是编目过程中问题的反馈、沟通,审校后错误数据的返回修改,都较之异地加工模式更为高效、便捷、及时。
3.2 制订完善的外包合同以规范书商的编目行为
在确定了承包编目业务的书商后,图书馆必须与书商签订详尽、周密的外包合同,对书商的工作流程、工作内容、数据制作加工等进行规范,确保书目数据和加工质量完全符合图书馆的要求。合同的内容包括:双方的权利与义务、外包的模式和范围、完成任务期限、数据质量要求以及出现违约违规情况所应承担的责任等[6]。
3.3 建立健全图书馆的各种分编规章制度
各项详细、完备的分编细则从制度上确保了编目数据质量。图书馆除了要严格遵守国家标准《中国图书馆分类法》、《中国文献编目规则》、《中国机读目录格式使用手册》外,还应根据本校的专业特点、本馆的藏书性质、分编传统等制订适合本馆情况的分编细则,包括分类细则,著录细则,种次号取号细则,图书加工细则等,并要求书商严格遵照执行。针对国图系列和CALIS系列著录规则不统一的问题,图书馆应在本馆的分编细则中予以规范。图书馆还要根据分编过程中出现的新情况新问题定期召开讨论会,对分编细则进行修订,使其不断完善,让编目人员在工作中有理可依,有章可循,为编目工作的标准化、规范化提供切实的保障。
3.4 重视对书商的岗前培训及事中的合作交流
在书商正式上岗编目前,图书馆对其进行必要的业务培训是不可缺少的,通过培训使书商掌握图书馆的分编原则、著录要求、种次号取号规定等。图书馆必须要求书商对下载的数据仔细检查,有错则改,必须强调查重的重要性,督促书商做好查重工作。对一些有争议的问题,图书馆工作人员与书商编目人员双方应协商解决,形成统一的处理意见。图书馆工作人员在审校过中发现问题,应返回书商修改,明确指出其错误,督促其改正,并在这一过程中让书商进一步熟悉图书馆的编目规则。书商也要就拿不定主意的问题随时请教图书馆工作人员。通过经常性的交流与合作,一方面保证了书目数据质量,另一方面也促使书商提高自身业务素质。
3.5 加强数据质量的审校工作
对书商编目员所做的数据不能直接拿来就用,必须经过图书馆工作人员的审校,修正错误后才能最终进入图书馆书目数据库。针对数据中易出现的问题,需从以下几方面做好审校工作:①分类。对每一条记录都要核对《中图法》分类号,检查是否标引准确、一致,如有错误,即返回修改。②著录。认真检查数据中的各著录项目是否完整,各著录内容所入字段是否正确;是否有错字、漏字、多字的现象;各指示符、标识符、代码是否录入正确;副题名、并列题名、丛书名、合订题名等是否提供有检索字段。③种次号。重点审校多卷书、丛书、年度出版物、再版书的种次号是否取号正确。审校人员通过查重,检索出馆藏中其它卷册或版本的图书,将需审校的数据与馆藏数据进行对比,正确的予以保留,错误的即返回修改。
总之,审校是防止数据出现差错,保证编目质量的最后一道防线,只有严格执行审校制度,才能在最大程度上保持书目数据的有效利用。为此,审校人员必须不断学习,充实完善自己的业务技能,增强责任感和质量意识,以认真负责的态度审核每一条记录,确保外包环境下的数据质量,达到编目工作高效与优质的完美融合[7]。
参考文献
[1]赵伯兴,戴行德.论编目业务外包环境下的书目质量控制[J].国家图书馆学刊,2008,(4):79-81.
[2]陈晓兰,张德云.论图书馆联机联合编目中套录数据质量控制问题[J].图书馆,2008,(2):77-78.
[3]王乃红.图书馆编目数据质量控制刍议[J].情报探索,2010,(3):125-127.
[4]蒋红坚.中文图书编目的质量控制[J].长沙铁道学院学报:社会科学版,2009,(12):267-269.
[5]张蕾.高校图书馆编目业务外包的质量控制[J].情报探索,2009,(11):103-105.
[6]韩红予.图书馆编目业务外包中存在的问题及应对措施[J].农业图书情报学刊,2008,(6):61-62.
[7]黄玮.高校图书馆编目业务外包质量控制研究[J].图书馆工作与研究,2010,(8):70-72.
相关文章:
电力数据接入大数据01-10
关系数据库01-10
石油文化数据库与数据管理论文01-10
冲突数据库01-10
小儿康颗粒01-10
数据库增量01-10
数据库及数据库中表的建立实验报告01-10
电信企业参与竞争的利器数据仓库和数据挖掘数据库教程01-10
数据库期末01-10
数据库实验八数据更新01-10