[发明专利]一种基于嵌入式软件的细粒度检测方法无效
| 申请号: | 201010281516.X | 申请日: | 2010-09-10 |
| 公开(公告)号: | CN101944060A | 公开(公告)日: | 2011-01-12 |
| 发明(设计)人: | 刘发贵;贺南;张杨;刘飞;李胜文 | 申请(专利权)人: | 华南理工大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L29/06 |
| 代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 何淑珍 |
| 地址: | 510640 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 嵌入式 软件 细粒度 检测 方法 | ||
技术领域
本发明属于嵌入式软件测试领域,特别是涉及一种基于嵌入式软件网络使用的检测方法。
技术背景
随着嵌入式软件的发展,独立的、本地的嵌入式应用越来越少,而基于局域网、广域网甚至Internet的嵌入式应用需求越来越多,尤其在数字家电领域,随着智能家电的发展,UPnP、IGRS等规范的普及,嵌入式网络服务程序在嵌入式软件中的比例越来越大。当开发人员开发该类型的嵌入式软件时,需要针对网络环境进行详尽的设计,包括对身份进行认证、对有限的网络资源进行分配,故需要清楚指定的程序运行时对网络的详细使用情况,包括其所维护的连接、使用的端口、发送和接收数据的速度和大小等等。
由于Linux有着开源、稳定、易于裁剪和定制、网络功能强大等优势,嵌入式Linux在嵌入式OS中的比重仍然非常大。纵观目前基于Linux的主要网络工具,如netstat、entstat、netpmon、iptrace、tcpdump等,所能达到的功能只是针对系统整体的、某个特定网络接口或者某种特定协议的网络流量、数据包收发情况的分析,监控粒度仍然较粗,对于特定进程,甚至特定进程的某个特定端口的流量情况无能为力。而这些信息对于嵌入式软件网络的优化来说,是至关重要的。
衡量一个网络服务程序的网络性能是一项十分复杂的工作,因为这涉及多个系统的交互问题,并且包括硬件环境的影响,然而网络服务程序的响应速度、网络负载及网络利用率始终是重要的标准。在如今的网络环境中,安全性对于网络应用程序来说始终是一个重要的指标。尤其在智能家电发展的今天,家电的数字化、智能化同时也带来了安全问题,如何防止不信任连接的发生至关重要。
目前来看,Linux系统下的网络流量监控工具都只停留在对系统整体的流量进行监控上,没有一个便于使用的对特定进程的特定端口进行监控的软件。
发明内容
本发明的目的在于克服现有技术因监控粒度较粗的不足,提出了一种基于嵌入式软件网络使用的细粒度检测方法,从而可以解决目前嵌入式软件网络性能优化能力不足的问题。
为了实现发明目的,采用的技术方案如下:
一种基于嵌入式软件的细粒度检测方法,由客户端和测试代理端两部分共同协作完成,所述客户端设置在开发机中,而测试代理端设置在目标机中,客户端和测试代理端通过网络进行通信,测试代理端所采集的样本数据通过网络实时发送给客户端进行分析,所述测试代理端包括用于采集和统计样本数据的内核模块和进行样本数据传递的测试代理模块,所述内核模块运行于嵌入式系统的内核空间中,实现数据包的采集和统计,并提供接口供测试代理模块进行配置和读取,所述测试代理模块运行于嵌入式系统的用户空间中,实现监听特定端口,提供测试服务,与发起连接的客户端进行交互,并且读取内核模块采集的数据,通过网络发送给客户端,所述客户端以Eclipse插件的形式运行于开发机中,并通过网络同测试代理模块进行交互,将控制命令或者经过交叉编译工具链编译的可执行文件发送给测试代理模块。
上述技术方案中,所述内核模块包括NetFilterHook模块、端口匹配规则、控制模块、proc文件系统接口以及流量信息缓存;
所述NetFilterHook模块是基于NetFilter框架的扩展模块,建立在NetFilter的IP_LOCAL_IN和IP_LOCAL_OUT两个HOOK点上,对进出本地网络端口的链路层数据包进行抓取和分析,根据端口匹配规则分析相应的数据包,并根据分析结果更新流量信息缓存;
所述端口匹配规则是一个查找表,支持动态的插入、删除和查找操作,记录着需要NetFilterHook模块分析的数据包所对应的端口号;
所述控制模块通过proc文件系统与用户空间进程进行交互,接收PID以及对应的端口更新列表,经过匹配运算,向端口匹配规则中进行更新,以及维护用户进程pid和所监控进程pid的关系表;
所述proc文件系统接口是内核空间和用户空间进行交互的接口,内核模块通过它向用户进程提供所需信息的查询接口;同时,用户空间对其进行写操作,把它做为内核模块的配置接口;
所述流量信息缓存属于内核的共享结构,是一个便于查找的哈希表结构,维护端口和其流量信息的对应关系。
所述测试代理模块包括Slave pool、连接分配器、工作线程与服务进程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010281516.X/2.html,转载请声明来源钻瓜专利网。





