精华内容
下载资源
问答
  • 30款常用的大数据分析工具推荐(最新)

    万次阅读 多人点赞 2019-09-27 10:37:32
    数据挖掘和数据分析的能力在当今时代相当重要, 智能的工具是你与竞争对手对抗并为公司业务增加优势的必备条件。我列出了30个最热门的大数据工具,供大家参考。 Part 1:数据采集工具 Part 2:开源数据工具 Part ...

    数据挖掘和数据分析的能力在当今时代相当重要, 智能的工具是你与竞争对手对抗并为公司业务增加优势的必备条件。我列出了30个最热门的大数据工具,供大家参考。

     

    Part 1:数据采集工具

    Part 2:开源数据工具

    Part 3:数据可视化

    Part 4:情感分析

    Part 5:开源数据库

     

    Part 1:数据采集工具

     

    1 .八爪鱼

    八爪鱼 是一款免费的、简单直观的网页爬虫工具,无需编码即可从许多网站抓取数据。无论你是初学者还是经验丰富的技术人员或企业高管,它都可以满足你的需求。为了减少使用上的难度,八爪鱼为初学者准备了“网站简易模板”,涵盖市面上多数主流网站。使用简易模板,用户无需进行任务配置即可采集数据。简易模板为采集小白建立了自信,接下来还可以开始用高级模式”,它可以帮助你在几分钟内抓取到海量数据。此外,你还可以设置定时云采集,实时获取动态数据并定时导出数据到数据库或任意第三方平台。

     

    2. Content Grabber

    Content Grabber是一个支持智能抓取的网页爬虫软件。它的程序运行环境可用在开发、测试和产品服务器上。你可以使用c#或VB.NET来调试或编写脚本来控制爬虫程序。它还支持在爬虫工具上添加第三方扩展插件。凭借全面综合的功能,Content Grabber对于具有技术基础的用户而言功能极其强大

     

    3.Import.io

    Import.io是一款基于网页的数据抓取工具。它于2012年首次在伦敦上线。现在,Import.io将其商业模式从B2C转向了B2B。2019年,Import.io收购了Connotate并成为网页数据集成平台。凭借广泛的网页数据服务,Import.io成为了业务分析的绝佳选择

     

    4. Parsehub

    Parsehub是一款基于网页的爬虫程序。它支持采集使用了AJax, JavaScripts技术的网页数据,也支持采集需要登录的网页数据。它有一个为期一周的免费试用窗口,供用户体验其功能。

     

    5. Mozenda

    Mozenda是一款网页抓取软件,它还为商业级数据抓取提供定制服务。它可以从云上和本地软件中抓取数据并进行数据托管。

     

    Part 2.开源数据工具

     

    1. Knime

    Knime是一款分析平台。它可以帮助你发掘商业洞察力和市场潜力。它提供了Eclipse平台以及其他用于数据挖掘和机器学习的外部扩展。它为分析专业人员提供了超过2k个部署模块。

     

    2. OpenRefine

    OpenRefine(以前称为Google Refine)是处理杂乱数据的强大工具:它支持数据洗,支持数据从一种格式转换为另一种格式,还可以通过网络服务和外部数据进行扩展。使用它的分组功能,你可以轻松地使网页上的杂乱数据标准化、规范化。

     

    3. R-Programming

    它是一种用于统计计算和图形的免费软件编程语言和软件环境。R语言在开发统计软件和数据分析的数据挖掘工作者中非常流行。近年来,由于其易用性和广泛的功能性,它得到了大量的赞誉和欢迎。

    除了数据挖掘,它还提供统计和图形技术、线性和非线性建模、经典统计测试、时间序列分析、分类、聚类等功能。

     

    4. RapidMiner

    和KNIME一样,RapidMiner通过可视化程序进行操作,能够手动运作、分析和建模。它通过开源平台、机器学习和模型部署来提高数据工作效率。统一的数据科学平台可加速从数据准备到实现的分析工作流程,极大地提高了技术人员的效率,是最易于使用的预测分析软件之一。

     

    5. Pentaho 

    它是一款出色的商业BI软件,可以帮助企业制定数据驱动型决策。该平台集成了本地数据库、Hadoop和NoSQL等数据源,因此,你可以轻松地用它来分析和管理数据,进而从数据中获取价值。

     

    6. Talend

    它是一个开源的集成软件,旨在将数据转化为真知灼见。它提供各种服务和软件,包括云存储、企业应用程序集成、数据管理等等。在庞大的社区支持下,它允许所有的Talend用户和成员从任何位置共享信息,经验和疑虑。

     

    7. Weka

    Weka是用于数据挖掘任务的机器学习算法的集合工具。这些算法既可以直接应用于数据集,也可以从你自己的JAVA代码中调用,它也很适合开发新的机器学习方案。它还具有GUI,可以将数据科学的世界转化给缺乏编程能力的专业人员。

     

    8.NodeXL

    它是用于微软Excel的一个开源软件包。作为一个附加扩展,它没有数据集成服务和功能,它专注于社交网络分析。直观的网络和描述性关系使社交媒体分析变得轻松自如。它是用于数据分析的最佳统计工具之一,包括高级网络指标、对社交媒体网络数据导入器的访问以及自动化。

     

    9.  Gephi

     Gephi也是一个在NetBeans平台上用Java编写的开源网络分析和可视化软件包。想一想你看到的巨大的人与人之间连接的地图网络,它们代表了LinkedIn或Facebook上面的社交联系。Gephi通过提供精确的计算使这一步骤有更加精确的指标展现。

     

    Part 3.数据可视化工具

     

    1. PowerBI

    Microsoft PowerBI同时提供本地和云服务。它最初是作为Excel插件引入的,不久PowerBI凭借其强大的功能开始普及。目前,它被视为商业分析领域的软件领导者。它提供了数据可视化和bi功能,使用户可以轻松地以更低的成本实现快速,明智的决策,用户可协作并共享自定义的仪表板和交互式报告。

     

    2. Solver

    Solver是一家专业的企业绩效管理(CPM)软件公司。Solver致力于通过获取可提升公司盈利能力的所有数据源来提供世界一流的财务报告、预算方案和财务分析。其软件BI360可用于云计算和本地部署,它专注于四个关键的分析领域,包括财务报告、预算、仪表板和数据仓库。

     

    3.Qlik

    Qlik是一种自助式数据分析和可视化工具。它具有可视化仪表板,可简化数据分析,并帮助公司快速制定业务决策。

     

    4.Tableau Public

    Tableau 是一个交互式数据可视化工具。不像大多数可视化工具那样需要编写脚本,Tableau的简便性可以帮助新手降低使用难度。只需托拉拽的简单操作使数据分析轻松完成。他们也有一个“新手入门工具包”和丰富的培训资料,可帮助用户创建创更多的分析报告。

     

    5. 谷歌Fusion Tables

    Fusion Table 是谷歌提供的数据管理平台。你可以使用它来做数据收集、数据可视化和数据共享。他就像电子数据表,但功能更强大更专业。你可以通过添加CSV、KML和电子表格中的数据集和同事共享资料。你还可以发布数据资料并将其嵌入到其他网页属性中。

     

    6. Infogram

    Infogram是一种直观的可视化工具,可帮助你创建精美的信息图表和报告。它提供了超过35个交互式图表和500多个地图,帮助你可视化数据。除了各种各样的图表,还有柱状图、条形图、饼图或词云等,它用创新的信息图表给你留下深刻印象。

     

    Part 4.情感分析工具

     

    1. HubSpot's ServiceHub

    它是一个收集客户反馈和评论的客户反馈工具。该工具运用自然语言处理(NLP)对语言进行分析,分辨其正负面意义,然后用仪表板上的图形和图表来可视化结果。该工具支持将HubSpot's ServiceHub对接到CRM系统中,因此你可以将相应的结果与特定的人员产生联系。例如,你可以筛选出满意度低的客户,并及时提供高质量的服务,以提高客户的留存。

     

    2. Semantria

    Semantria是一个可以从社交媒体渠道收集帖子、推文和评论的工具。它使用自然语言处理技术来解析文本,分析客户的正负面态度。通过这种方式,公司可以获得用户对产品或服务的真实看法,据此提出更好的想法来改进你的产品和服务。

     

    3.Trackur

    Trackur是一款在线声誉管理工具,它可以通过对社交媒体网站追踪进行舆论监控。它爬取了大量的网页,包括视频、博客、论坛和图片来搜索相关的信息。你可以用它清理你的负面搜索引擎结果并建立和管理你的在线声誉。它是在线声誉和数字品牌管理方面的行业先驱。

     

    4. SAS Sentiment Analysis

    SAS Sentiment Analysis是一款功能相当强大的软件。网页文本分析中最困难的部分是拼写错误,而SAS可以轻松校对和聚类分析。通过自然语言处理,机器学习和语言规则相结合,SAS可帮助你分析出最新的趋势,最合适的商业机会,并从所有非结构化文本数据中提取出真正有价值的信息。

     

    5. Hootsuit Insight

    该工具可以分析评论、帖子、论坛、新闻网站和其他50多种语言1000多万个数据源平台。此外,它还可以对性别和位置进行分类。你可以制定针对特定群体的战略营销计划。你还可以获取实时数据并调查在线对话。

     

    Part 5.数据库

     

    1.  Oracle

    毫无疑问,Oracle是开源数据库中的佼佼者。它拥有许多功能,是企业的最佳选择。它还支持集成到不同平台上。在AWS中易于设置使它成为关联式数据库的可靠选择。对内置信用卡等隐私数据的高安全性保障技术使其无可替代。

     

    2.PostgreSQL

    它排名在Oracle、MySQL、Microsoft SQL Server之后,成为第四大最受欢迎的数据库。由于其绝对可靠的稳定性,它可以处理高负荷的数据。

     

    3.Airtable

    它是基于云服务器的数据库软件,具有广泛的数据表读取和信息显示功能。它还有一个电子数据表和内置日历,可以轻松地跟踪任务。它的入门模板很容易上手,模板包括销售线索管理、bug追踪和试用追踪。

     

    4. MariaDB

    它是一个免费的开源数据库,用于数据存储,插入,修改和检索。此外,Maria有一个强大的社区支持,社区成员非常活跃,积极分享信息和知识。

     

    5. Improvado

     Improvado是一款为营销人员设计的工具,可以通过自动仪表盘和分析报告将所有数据实时集中到一个平台。Improvado最适合提供给那些希望将所有营销平台的数据整合在一个平台的营销分析领导者。

     

    你可以选择在Improvado仪表板中查看数据, 也可以将其导出到你选择的数据仓库或可视化工具中,如Tableau, look ker, Excel等。公司、机构和高校都喜欢使用Improvad,因为它为他们节省了数千小时的人工报告时间,和数百万美元的营销预算。

     

    作者:阿什利·韦尔登

    展开全文
  • 数据库性能需求分析评估模型

    万次阅读 2017-11-22 17:05:50
    也是性能测试非常关注的一块,根据我自己的项目经验,和以往对应用系统的性能需求分析和测试策略制定过程,总结一下如何开展数据库系统的性能需求分析,以及制定数据库能力评估模型。一、数据库性能需求制定1、需求...

           数据库作为应用系统当中最重要的一块,也是性能测试非常关注的一块,根据我自己的项目经验,和以往对应用系统的性能需求分析和测试策略制定过程,总结一下如何开展数据库系统的性能需求分析,以及制定数据库能力评估模型。

    一、数据库性能需求制定

    1、需求信息收集-任务/交易分布

    (1)收集有哪些主要交易任务(与业务系统需求一致)

    (2)在一天的某些特定时刻系统都有哪些主要操作,以及操作量

    2、需求信息收集-交易混合图

          需要关注的信息有:

    Ø   高峰期有哪些操作?

    Ø   中间件操作有多少?数据库操作有多少?

    Ø   如果任务失败,那么商业风险有多少?

    Ø   有没有涉及保密系数高的数据?

          测试选型标准:高吞吐量、高I/O、高商业风险

    二、数据库能力需求

     

    1、高吞吐量

          满足高并发下的大数据量交互需求,满足数据备份或ETL过程的大数据量迁移。具体需求信息获取参照以上数据库应用需求。

    2、负载均衡

          满足高并发下数据库的负载均衡能力,需求分析需要收集数据库的部署架构、负载均衡策略等数据信息。

    3、读写分离

          获取需求的要点是明确哪些是写节点,哪些是读节点,并且切换的策略什么,数据同步的策略是什么。

    4、分区分片(分库分表)

          获取需求的要点是把握数据的垂直切换和水平分库概念。明确需要对哪些数据块进行切分,分别分散到哪几台数据库主机上;需要对哪些大表进行数据水平切分,并且分布到哪些DB或table中。通过需求分析,做出数据切分的合理性判断,以及做出系统可测性的判断。

    5、高并发

          根据以上的数据库应用需求,进一步制定数据库的高并发需求,估算出单台数据库的API接口压力和需要满足的并发能力。

    6、高可用性

          高可用性可能也综合涉及到数据的多项能力,主要应用的是集群技术,HA容错及互备技术,体现的是无故障运行。获取需求的要点是明确高可用性技术架构,了解HA采用的工作方式,以及掌握故障切换方法和数据一致性验证需求。

    三、数据库评估模型

    (一)关键业务时间指标

           在我们的印象中,应用的关键业务能够提供真正的用户行为洞察——他们捕捉实时性能数据,展现真实用户在交互时的用户体验。衡量一个关键业务的性能包括捕捉交易的整体响应时间以及测量其不同层面的响应时间。这些时间都可以满足你业务需要的基准做比较。

          如果你只想测量应用的某个方面,关键业务流程是最佳选择。虽然容器指标可以提供丰富的信息,可以帮助你确定何时自动缩放您的环境,但业务流程交易还是决定着你的应用性能最终效果。不管你作为什么规模公司的程序“猿”,都应该首先关心你的用户是否可以完成他们的关键业务流程。

           一旦你定义了整个关键业务,性能好坏就是衡量整个应用生态系统的最好标准。我们需要设定低于平均关键业务响应时间的交易为异常行为,这样就能更好的观察应用的性能了,如下图所示。

          那么问题来了,怎么设定关键业务的标准呢?

          这里提供一个简单的方法供大家参考:假设关键业务在周三13:00~14:00是一个常见的高峰,那么选择这个时段平均响应时间作为标准,等到下周三的同一个时段,再将这周的这个时段的所有关键业务平均响应时间与前一周相比得到一个平均值,如此循环。通过这个机制,应用可以随时间而发展,而原始的关键业务数据也变得更有意义。关键业务的监测是用户体验中最具反思性的测量方法,因此它们是能捕捉到的最重要的指标之一。

    (二)SQL性能指标

          查询的性能主要体现为SQL查询缓慢和数据返回时间过长。那么我们要怎么解决它呢?下面是测试需要重定关注的:

          1、数据的查询方式对传输效率的影响,比如选用了更多的数据:查询返回的列太多的话会导致在选择行和检索数据时造成缓慢(如使用了SELECT*,没有列出所需的列)。此外,在结果中列出所需的列,也能减少数据传输,有利于性能的提升。

          2、重点关注索引的应用,对于只是访问表中的几个字段,并且字段内容较少,可以为这几个字段单独建立一个组合索引,这样就可以直接只通过访问索引得到数据,一般索引占用的磁盘空间比表小很多,所以这种方式可以大大减少磁盘IO开销。

          3、关注慢SQL执行计划及优化:SQL执行计划是关系型数据库最核心的技术之一,它表示SQL执行时的数据访问算法。当业务需求越来越复杂,表数据量越来越大,SQL也需要支持非常复杂的业务逻辑,但SQL的性能还需要提高,因此,优秀的关系型数据库除了需要支持复杂的SQL语法及更多函数外,还需要有一套优秀的算法库来提高SQL性能。

          4、关注批处理对性能影响:读取大量的数据或生产复杂的分析报告时通常都是在批量操作。这些操作是资源密集型,可能会影响在线用户的性能。想要解决这个问题需要将这些操作在低负载下进行,如在夜间;或使用单独的数据库来处理和分析报告。

    (三)锁及粒度

          数据库一般都允许多用户的存在,多个用户同时活动必然会导致冲突,然而正常工作中这种情况又无法避免,所以测试需要关注的是锁的应用与性能的平衡关系:

          1、页/行锁定:当一个用户试图读取另一个用户正在修改的数据,或修改另一个用户正在读取的数据时,又或者尝试修改另一个事务正在尝试修改的数据时,就会出现并发问题。这时候资源就会被锁定。

          可以锁定的资源在粒度(granularity)上差异很大。从细(行)到粗(数据库)。细粒度锁允许更大的数据库并发,因为用户能对某些未锁定的行执行查询。然而,每个由数据库系统产生的锁都需要内存,所以数以千计独立的行级别的锁也会影响数据库的性能。粗粒度的锁降低了并发性,同时消耗的资源也较少。

          2、死锁:死锁是数据库性能的重量级杀手之一,然而死锁却是不同事务之间抢占数据资源造成的。死锁耗时耗资源,然而在大型数据库中,高并发带来的死锁是不可避免的,所以我们只能让其变的更少。

    ①按照同一顺序访问数据库资源

    ②保持事务的简短,尽量不要让一个事务处理过于复杂的读写操作。事务过于复杂,占用资源会增多,处理时间增长,容易与其它事务冲突,提升死锁概率。

    ③尽量不要在事务中要求用户响应,比如修改新增数据之后再完成整个事务的提交,这样延长事务占用资源的时间,也会提升死锁概率。

    ④尽量减少数据库的并发量(通过优化架构实现)。

    ⑤尽可能使用分区表,分区视图,把数据放置在不同的磁盘和文件组中,分散访问保存在不同分区的数据,减少因为表中放置锁而造成的其它事务长时间等待。

    ⑥避免占用时间很长并且关系表复杂的数据操作。

    ⑦使用较低的隔离级别,使用较低的隔离级别比使用较高的隔离级别持有共享锁的时间更短。这样就减少了锁争用。

    (四)硬件资源指标

          然而并不是所有的数据库性能问题都是来自数据库本身,我们日常工作中最常见的另一个情景就是数据库的硬件有若干问题,这里我们简单的介绍一下可能会出现的情况,毕竟市面上有已经有很多工具可以监测这些问题了。

    1、没有足够的CPU或CPU速度太慢:更多的CPU可以分担服务器的负载,从而提高性能。

    2、慢的磁盘没有足够的IOPS:磁盘性能可以描述为每秒输入/输出操作(IOPS),它表示每秒磁盘的吞吐量。

    3、配置不正确的磁盘:数据库需要效果明显的磁盘访问,配置不正确的磁盘会造成相当大的性能影响。

    4、没有足够的内存:受限或不好的物理内存影响数据库性能,可用的内存越多,性能越好。

    (五)NoSQL

          NoSQL发展到今天,已经有了很大的吸引力,因为它处理大规模数据和高并发的能力非常显著。但是,NoSQL却很难测试,也不容易监控。

    1、NoSQL特性:关系型SQL已经成熟,有行业标准接口,但是每一个NoSQL都是独一无二的存在,并且都不支持复杂的数据库模型。所以简洁、有效、速度是它的业务应用标准。

    2、集群化和负载均衡:NoSQL数据库相比关系型数据库通常更多的是资源密集型。它们需要更多的内存和内存分配,集群化和分布式是评估要点;

    3、扩展性要求:随着数据库的需求增加,硬件也必须扩展,可扩展性是一项评估要点。

    4、高可用性要求:可以说NoSQL对稳定性的要求更为苛刻(因为它们有些是基于内存的数据库),高可用性是重要评估点。

    5、监控要求:相对于已经成熟的关系SQL,NoSQL现在的监控可以说是比较困难的,国内也只有听云一家公司能够支持主流的Memcached, MongoDB, Redis等非关系型数据库服务(但是NoSQL监控部分要收费);ApplicationsManager也支持对Memcached, MongoDB,Redis、HBase、Oracle NoSQL的监控(这些的监控指标还不够丰富,有待完善)。

    (六)扩展架构模型

    1、数据切分和分布式

          数据切分可以是物理上的,对数据通过一系列的切分规则将数据分布到不同的DB服务器上,通过路由规则路由访问特定的数据库,这样一来每次访问面对的就不是单台服务器了,而是N台服务器,这样就可以降低单台机器的负载压力。数据切分也可以是数据库内的,对数据通过一系列的切分规则,将数据分布到一个数据库的不同表中。

    (1)数据垂直切分

          数据的垂直切分,也可以称之为纵向切分。将数据库想象成为由很多个一大块一大块的“数据块”(表)组成,我们垂直的将这些“数据块”切开,然后将他们分散到多台数据库主机上面。这样的切分方法就是一个垂直(纵向)的数据切分。

    (2)数据水平切分

          数据的垂直切分基本上可以简单的理解为按照表、按照模块来切分数据,而水平切分就不再是按照表或者是功能模块来切分了。一般来说,简单的水平切分主要是将某个访问极其平凡的表再按照某个字段的某种规则来分散到多个表之中,每个表中包含一部分数据。

    除了垂直切分、水平切分,还有其他的切分或分片方式,如导出切分、混合切分。

    (3)负载均衡和读写分离

          一般是通过负载均衡器,其职责就是定位到一台具体的DB服务器。具体的规则如下:负载均衡器会分析当前sql的读写特性,如果是写操作或者是要求实时性很强的操作的话,直接将查询负载分到Master,如果是读操作则通过负载均衡策略分配一个Slave。

          其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。在一般的互联网应用中,经过一些数据调查得出结论,读/写的比例大概在 10:1左右 ,也就是说大量的数据操作是集中在读的操作,这也就是为什么我们会有多个Slave的原因。
          但是为什么要分离读和写呢?熟悉DB的技术人员都知道,写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是会降低系统执行的效率。我们这样的分离是把写操作集中在一个节点上,而读操作在其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性。

    (4)分布式存储

          分布式存储是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

          分布式存储利用的就是数据的切分,也叫数据分片,数据分片将达到以下三个目的:
    Ø 分布均匀,即每台设备上的数据量要尽可能相近;
    Ø 负载均衡,即每台设备上的请求量要尽可能相近;
    Ø 扩缩容时产生的数据迁移尽可能少。

          有了分布式存储,就会有分布式计算,这就是大数据的范畴了,在这里不多说。

    2、Cache与Search的利用

          (1)结合传统关系型数据库和NoSQL两种类型数据库的优缺点,对于Oracle、Mysql这些数据库,可以通过引入Cache(Redis、Memcached),减少数据库的访问,增加性能(主要是解决传统关系型数据库的IO性能瓶颈,Cache都是基于内存的,大大减少了磁盘读写)。特别说明一下,这里说的Cache不是指数据库底层对应的Cache缓存,数据库层次的缓存一般针对的是查询内容,而且粒度也太小,一般只有表中数据没有变更的时候才发挥作用。我们这里说的Cache,是指外部引入的数据库缓存。
          (2)通过引入Search(Lucene、Solr、ElasticSearch),利用搜索引擎高效的全文索引和分词算法,以及高效的数据检索实现,来解决数据库和传统的Cache软件完全无法解决的全文模糊搜索、分类统计查询等功能。

          通过以上的数据库性能评估模型分析,我们就能把握数据库系统将要有的性能能力,并分析具体的测试范围和指标评估范围,以决定后期需要采用的测试方法、策略和工具。毕竟性能不是靠测试和调优出来的,是靠设计出来的,如果我们不了解数据库的能力模型和相应的架构要求,我们将很难深入开展相应的性能测试和性能调优工作。

    展开全文
  • 领域探索-PHP性能分析工具

    千次阅读 2015-10-18 21:50:20
    领域探索·PHP性能分析工具 ...二、XHProf性能分析工具 2.1 简介2.2 使用2.3 实例 三、专业的压力测试工具 3.1 Jmeter 3.1.1 简介3.1.2 使用3.1.3 实例 3.2 LoadRunner专业级性能测试 3.2.1 简介3.2.2 工作原

    领域探索·PHP性能分析工具

    一、ApacheBench(ab)压力测试工具

    1.1 简介

    ab的全称是ApacheBench,是 Apache附带的一个小工具,专门用于 HTTPServerbenchmarktesting,可以同时模拟多个并发请求。

    主页地址:http://httpd.apache.org/docs/2.0/programs/ab.html

    centos安装abyuminstall httpd-tools

    ApacheBench命令原理ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它是针对http的访问测试,因此,既可以用来测试Apache的负载压力,也可以测试nginxlighthttptomcatIIS等其它Web服务器的压力。

    1.2 使用

    ApacheBench参数说明

    格式:ab[options] [http://]hostname[:port]/path

    参数说明:

    -n requests Number of requests toperform //在测试会话中所执行的请求个数(本次测试总共要访问页面的次数)。默认时,仅执行一个请求。

    -c concurrency Number of multiplerequests to make //并发请求数(默认是一次一个)

    -t timelimit Seconds to max. wait forresponses //测试任务的最大时间限制(单位:秒),其内部隐含值是-n 50000。它可以实现对服务器接口的测试在固定时间内完成,默认时,没有时间限制。
    -p postfile File containing data toPOST //包含了需要POST的数据的文件,文件格式如“p1=1&p2=2”.使用方法是 -p 111.txt(配合-T
    -T content-type Content-type headerfor POSTing//POST数据所使用的Content-type头信息,如 -T“application/x-www-form-urlencoded” (配合-p
    -v verbosity How much troubleshooting info to print
    //
    设置显示信息的详细程度– 4或更大值会显示头信息,3或更大值可以显示响应代码(404,200), 2或更大值可以显示警告和其他信息。-V显示版本号并退出。
    -w Print out results in HTML tables//
    HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
    -i Use HEAD instead of GET//
    执行HEAD请求,而不是GET
    -x attributes String to insert as table attributes
    -y attributes String to insert as tr attributes
    -z attributes String to insert as td or th attributes
    -C attribute Add cookie, eg. -C “c1=1234,c2=2,c3=3″ (repeatable)//-Ccookie-name=value
    对请求附加一个Cookie:行。其典型形式是name=value的一个参数对。此参数可以重复,用逗号分割。
    提示:可以借助session实现原理传递 JSESSIONID参数(JAVA服务器默认传递sessionid的名称为:JSESSIONID),实现保持会话的功能,如
    -C ” c1=1234,c2=2,c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8″

    -H attribute Add Arbitrary header line, eg. ‘Accept-Encoding: gzip’ Insertedafter all normal header lines. (repeatable)

    -A attribute Add Basic WWW Authentication, the attributes are acolon separated username and password.
    -P attribute Add Basic Proxy Authentication,the attributes are a colon separated username and password.//-Pproxy-auth-username:password
    对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(,是否发送了401认证需求代码),此字符串都会被发送。
    -X proxy:port Proxyserver and port number to use
    -V Print version number and exit
    -k Use HTTP KeepAlive feature
    -d Do not show percentiles served table.
    -S Do not show confidence estimators and warnings.
    -g filename Output collected data to gnuplot format file.
    -e filename Output CSV file with percentages served
    -h Display usage information (this message) //-attributes
    设置属性的字符串.缺陷程序中有各种静态声明的固定长度的缓冲区。另外,对命令行参数、服务器的响应头和其他外部输入的解析也很简单,这可能会有不良后果。它没有完整地实现HTTP/1.x;仅接受某些预想的响应格式。 strstr(3)的频繁使用可能会带来性能问题,即你可能是在测试ab而不是服务器的性能。

    常用参数-n -c

    示例:ab -n 1000 -c 100http://cq01-rdqa-dev008.cq01.baidu.com:8512/test.php // -n 1000表示1000次请求,-c 100表示100次并发

    1.3 实例

    1)固定参数

    ab -n 100 -c 10 http://cq01-rdqa-dev008.cq01.baidu.com:8512/test.php?uid=5372539&count=10

     

    Requests per second:    1521.70 [#/sec] (mean)

    最关心的指标之一:吞吐率(相当于LoadRunner中的每秒事务数,后面括号中的 mean表示这是一个平均值)。

     

    Time per request:       6.572 [ms](mean)

    最关心的指标之二:指的是用户平均请求等待时间(相当于LR中的平均事务响应时间,后面括号中的 mean表示这是一个平均值)。

     

    Time per request:       0.657 [ms](mean, across all concurrent requests)

    最关心的指标之三:指的是服务器平均请求处理时间。

     

    2)可变参数的POST请求

    ab -n 100 -c 10 -p./1.txt-T 'application/x-www-form-urlencoded'http://cq01-rdqa-dev008.cq01.baidu.com:8512/evaluate.php"

    -p 参数表示POST的数据

    1.txt文件内容:

    uid=5372539&count=50

    uid=5372539&count=100

    uid=5372539&count=100

    uid=5372539&count=100

    uid=5372539&count=100

    二、XHProf性能分析工具

    2.1 简介

    XHProf (A Hierarchical Profiler For PHP)是一个轻量级的分层性能测量分析器,是C实现的PHP Zend扩展,最初是facebook的程序员写的,是分层的函数调用级别的分析函数执行的时间、CPU计算时间、内存消耗的PHP性能分析工具。

    2.2 使用

    1)安装XHProf

    wget http://pecl.php.net/get/xhprof-0.9.2.tgz

    tar zxvf xhprof-0.9.2.tgz

    cd xhprof-0.9.2

    mkdir /data/xhprof/logs/

    cp -r xhprof_html xhprof_lib <directory_for_htdocs>

    cd extension/

    /usr/local/webserver/php/bin/phpize

    ./configure --with-php-config=/usr/local/webserver/php/bin/php-config

    make

    make install

    2)修改php.ini

    [xhprof]

    extension=xhprof.so

    3)安装Graphviz

    http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz

    tar zxf graphviz-2.28.0.tar.gz

    cd graphviz-2.28.0

    ./configure

    make

    make install

     

    备注:./configure prefix=/home/users/tongzhen/smbiz/local/lib/graphviz--with-png=yes --disable-swig

    4)应用XHProf

    xhprof类: ZxXhprof.php[下载]

    {

    ZxXhprof::xhprofStart();

    //程序段

    ……

    ZxXhprof::getXhprofData('plan');

    }

    2.3 实例

    详情见github:https://github.com/tongzhenredy/bfwphpapp

    VHOST配置(示例:root直接指向bfwphpapp的上层目录):


    访问链接:

    http://github.baidu.com/bfwphpapp/resqueshow/app.php?target=mod_statrequest

     

    xhprofui_detail表结构:

    DROP TABLE IF EXISTS `xhprofui_detail`;

    CREATE TABLE `xhprofui_detail` (

      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,

      `url` varchar(2048) NOT NULL,

      `host` varchar(256) NOT NULL,

      `uri` varchar(256) NOT NULL,

      `xhprof_id` varchar(128) NOT NULL,

      `xhprof_data` longtext,

      `xhprof_time` varchar(32) NOT NULL,

      `ct` int(11) NOT NULL,

      `wt` int(11) NOT NULL,

      `mu` int(11) NOT NULL,

      `pmu` int(11) NOT NULL,

      `cpu` int(11) NOT NULL,

      PRIMARY KEY (`id`)

    ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

     

    工具使用说明:https://github.com/tongzhenredy/bfwphpapp/blob/master/README.md

    该工具将原本记录到日志中的数据(xhprof原生数据记录到日志中),按用途区分统一存储到了mysql数据库中,可以实时监控生产环境下实时的接口耗时数据统计,功能分为单次请求统计和分时请求统计。

    1)单次请求统计,可以按照需求按接口类别以时间为维度记录到各个接口的耗时情况,统计指标有:接口耗时总时间,内存使用、峰值内存使用以及CPU时间,同时从列表中可以查看各个接口函数耗时的实时统计。(包含基础的统计和分析功能)

    示例图【图片点击可放大】:

     

     

    查看详情【图片点击可放大】:

     




    2)分时请求统计,可以实现对生产环境下数据的统计对比展现,按时间区分过去一小时、6小时、24小时,2天、一周和今天以及昨天对比的数据。(下图为页面样式,因之前的测试数据是201507月份,暂看不到下方的曲线图)

    【图片点击可放大】

     

     

    三、专业的压力测试工具

    3.1 Jmeter

    3.1.1 简介

    Apache JMeterApache组织开发的基于Java的压力测试工具。

    Apache JMeter 可以用于对静态的和动态的资源(文件,ServletPerl脚本,java对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

    http://jmeter.apache.org

    3.1.2 使用

    下载:http://jmeter.apache.org/download_jmeter.cgi(需要安装JDK并配置路径)

    windows下打开:解压下载包后,在对应的jmeter路径中,找到解压路径\bin\jmeter.bat

    入门教程:http://jingyan.baidu.com/article/19192ad814d00fe53e570736.html

     

    常用名词:

    1、线程组:测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。可以在测试计划->添加->线程组来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-UpPeriod(in seconds)、循环次数,其中Ramp-UpPeriod(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up =200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载;

    2、取样器(Sampler):可以认为所有的测试任务都由取样器承担,有很种,如:HTTP请求;

    3、断言:对取样器返回的请求结果给出判断,是否正确;

    4monitor:它的功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。


    JMeter 的主要测试组件总结如下:

    1测试计划是使用 JMeter进行测试的起点,它是其它 JMeter测试元件的容器。

    2线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。

    3monitor负责收集测试结果,同时也被告知了结果显示的方式。

    4、逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

    5、断言可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。

    6、配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。

    7、前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

    8、定时器负责定义请求之间的延迟间隔。

    3.1.3 实例

    1)带参数的测试计划

    示例脚本:updatePlan.jmx

     

    附加参数文件内容样式:plan0318.txt(“\t”分隔)

    18624478,18628036,18651520,18652579,18751940

    19555197,19581856,19582012

     

    3.2 LoadRunner专业级性能测试

    3.2.1 简介

    LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。

    LoadRunner是一款专业级的性能测试软件(收费),一般是QA同学进行压力测试最为权威的并被广泛认可的工具,作为开发的同学需要了解一些LoadRunner的运行基本原理。

     

    3.2.2 工作原理

     

    LoadRunner由四大组件组成:VuGen、控制器、负载发生器和分析器。

     

    1VuGen发生器:捕捉用户的业务流,并最终将其录制成一个脚本:(1)选择相应的一种协议;(2)在客户端模拟用户使用过程中的业务流程,并录制成一个脚本;(3)编辑脚本和设置Run-TimeSettings项;(4)编译脚本生成一个没有错误的可运行的脚本。

     

    2、控制器(Controller):(1)设计场景,包括手动场景设计和目标场景设计两种方式;(2)场景监控,可以实时监控脚本的运行的情况。可以通过添加计数器来监控Windows资源、应用服务器和数据库使用情况。

     

    场景设计的目的是设计出一个最接近用户实际使用的场景,场景设计越接近用户使用的实际情况,测试出来的数据就越接近真实值。

     

    3、负载发生器(LoadGenerators):模拟用户对服务器提交请求。

     

    通常,在性能测试过程中会将控制器和负载发生器分开;当使用多台负载发生器时,一定要保证负载均衡(指在进行性能测试的过程中,保证每台负载发生器均匀地对服务器进行施压)。

     

    4、分析器(Analysis):主要用于对测试结果进行分析。

     


     

    总结:

    在实际应用中,我们最为关心的是接口的平均响应时间和吞吐量的值,这部分指标是可以通过ab工具或者jmeter等专业工具压力测试得到结果的,但是具体到应用中各个功能的实现中的性能瓶颈xhprof工具绝对是不二选择,可以通过查看函数执行的流程定位到耗时严重的模块,这个耗时统计是基于函数级别的,对制定优化方案左右非常大,同时对优化前和优化后接口指标的评估还是需要像类似jmeter这类专业工具在相同参数和应用环境下来完成的。

     

     

    展开全文
  • 风险评估应用技术和工具初探

    千次阅读 2008-03-26 16:12:00
    他们用Ping之类的工具通过IP或域名找到潜在的入侵对象,然后搞清楚对方运行的是什么操作系统、安装了哪些应用软件,据此运行相应的入侵工具;或者,黑客们还会把蠕虫散布到Internet上,敲打每一台计算机的大门,尝试...
    安全专家都知道,要战胜黑客就必须了解攻击是如何实施的。黑客们的大部分时间花在搜索有漏洞的机器上:只要有耐心和一堆入侵工具,他们就可以成功突破系统的防线。他们用Ping之类的工具通过IP或域名找到潜在的入侵对象,然后搞清楚对方运行的是什么操作系统、安装了哪些应用软件,据此运行相应的入侵工具;或者,黑客们还会把蠕虫散布到Internet上,敲打每一台计算机的大门,尝试对每一台机器搞些小动作,甚至不必花时间去测试对方是否有让入侵得以成功的必要软件——如果一个SQL Slammer(即Sapphire)蠕虫发出了信号,入侵行动已获得了成功。 

      风险评估工具自动执行入侵探测过程,让网络管理员评估网络的安全性。如果一个系统到处都是可资利用的漏洞,安全策略、ACL、签署用户协议的意义非常有限。只要能够找出安全漏洞所在,并在黑客采取行动之前封闭这些漏洞,你就向着保证网络安全的目标大大前进了一步。下文将从一种比较综合的角度探讨风险评估工具,特别是Windows平台的风险评估工具(参见附录的表)。

      大约二年之前,风险评估工具的市场还只有少数几个大厂商,但现在进入这一市场的厂商数量已经超过40了。少数产品出来之后不久即重新归于湮没无闻,还有一些大型网络安全厂商因为未能满足客户对风险评估工具的需求而放弃了其最初的努力。虽然基于主机的风险评估工具仍是最流行的产品,但成长最快的厂商却是那些面向特定应用的扫描工具,例如扫描SQL Server数据库、Web服务器和无线网络(WLAN)的工具。大部分风险评估工具属于下面几种类别之一:基于主机的,应用层(数据库或Web)的,密码和帐户检查工具。

    一、基于主机的风险评估工具

      说起风险评估工具,人们指的往往是基于主机的工具。基于主机的风险评估工具首先判断目标主机上运行的操作系统,然后进行测试,寻找已知的漏洞。它能够区分Windows 2000系统和UNIX系统,在此基础上进行相应的测试。这一类别中的大部分能够测试各个平台上的常见应用和服务,例如,如果某个风险评估工具发现目标机器是一台UNIX主机,它就会测试各种Daemon程序、Sendmail,以及Samba共享资源;如果目标机器是一个Win 2K系统,它就会测试IIS服务器、NetBIOS共享资源,搜索强度不够的密码。

      基于Windows的风险评估工具懂得区分各个Windows版本之间的差异。例如,对于一个Windows 98系统测试IIS漏洞或远程过程调用(RPC)拒绝服务攻击(DoS)是毫无意义的。部分流行的风险评估工具植根于UNIX:它们主要擅长的是测试UNIX和Linux系统,测试Windows系统则是它们的副业。如果某个网络只有Windows而没有UNIX,则在选择风险评估工具时一定要注意工具针对的主要平台是微软的平台。

    二、应用层风险评估工具

       大多数应用层风险评估工具直接面向Web服务器或数据库服务器。要全面保护一个公开的Web服务器,其困难程度难以估量。在过去的几年中,至少半打的“安全竞赛”为准黑客们攻击受到高度保护的Web服务器提供现金奖励,这些Web服务器由安全天才组成的梦幻团队配置,运行着大多数企业不敢问津的昂贵硬件保护设施,但结果呢?六次竞赛中至少有五次,数天后系统在不懈的黑客面前举起了白旗,大多数Web服务器败下阵来是因为底层操作系统或电子商务软件中存在漏洞。既然最顶尖的人才也不能保障Web服务器的安全,普通的Web管理员又如何能够做到呢?答案是运用专门为测试Web服务器而设计的风险评估工具。

      Web服务器风险评估工具通常针对IIS、Apache或Iplanet。面向IIS的风险评估工具将攻击未经正确配置的匿名用户帐户、错误的目录授权、不小心遗留的示范代码,以及有特权的服务如Internet Server API(ISAPI)筛选器。Apache和Iplanet工具检查大量的代码文件漏洞、针对cgi-bin目录的攻击,或针对/etc/passwd的攻击。不管是哪一种Web服务器,风险评估工具都能够检查保存在隐藏区域的敏感信息、密码、跨网站脚本引用、未经检验的输入内容以及缓冲区溢出。

      随着SQL注入式攻击和Slammer蠕虫的出现,各个厂商开始研制专门测试流行数据库的应用层工具,这些数据库包括SQL Server、Microsoft Exchange Server、Oracle、IBM Lotus Domini、Sybase、IBM DB和MySQL等。风险评估工具能够测试丢失或默认的(未经修改的)密码、注入式攻击问题,以及安全配置方面的缺陷。

    三、密码和帐户检查工具

      有一小部分风险评估工具会通过猜测密码的方式攻击系统。这种方法看起来很简单,但请注意密码往往是网络安全中最脆弱的一环。在脆弱的密码面前,即使最强大的加密算法也会无能为力,因为只要稍微猜测几次,管理员帐户的密码就会原形毕露了。有些基于主机的风险评估工具能够列出系统上遗留的废弃帐户。只要运用适当,密码检查工具结合帐户状态检查工具将是一种测试网络坚固程度的捷径,经济而又高效。

      当然,有许多风险评估工具涵盖一个以上的类别,很少有基于主机的风险评估工具不去检查同一主机上常见的应用软件漏洞,很多专门用于Windows的基于主机的工具还会检查密码和帐户状态。

      不过,当一个工具想要面面俱到时,它可能在任何一方面都不能做得最出色,一个专门为分析Web服务器或数据库而设计的风险评估工具很可能要比通用的扫描工具能够更深入地分析特定的应用,当然也可能存在一些例外的情况。不管一个风险扫描工具属于哪一类别,它必须具备下面三个方面的能力:构建网络拓扑图形和识别应用程序,测试安全漏洞,报告结果。

      基于主机的风险评估工具首先要询问待扫描机器的IP地址或要扫描的子网范围,优秀的分析工具将找出所有网络上具有物理连接的主机,报告操作系统的类型和版本即操作系统指纹(Fingerprinting)。风险评估工具通常会Ping(提交一个ICMP数据包)主机,然后开始识别活动的TCP和UDP端口,有些工具将自动把运行在标准端口上的服务和具体的服务名称关联起来,例如有些质量不太高的风险分析工具会将所有在80端口运行的服务作为HTTP服务器攻击——即使对方实际上是一个SMTP服务器。一些风险评估工具会尝试分析在特定端口上运行的应用(例如哪一种即时通信软件正在运行),理想情况下(考虑到性能),如果评估工具能够识别出应用程序的类型和版本,那么它就会只尝试针对该应用的攻击。

      遗憾的是,在识别应用程序和端口上风险分析工具的表现普遍不佳;而且可想而知的是,既然它们连这一步也做不到,又如何深入一步正确测试可能的漏洞呢?一些分析工具给出的答案是,分析所有可能的漏洞,即使某个漏洞根本不属于目标平台或端口。如果不在乎性能问题的话,这种大包大揽的做法不一定是坏事,在重要场合,对于安全漏洞总是宁可误查一千,不可漏网一个。
      
    四、选择风险评估工具的原则

       风险评估工具的设计目的是测试一个主机或应用在攻击面前的坚固程度,一些厂商宣称它们的产品能够检测数十甚至30000多种不同的安全缺陷。不管怎样,任何Windows平台的风险评估工具应该能够分析出数百种不同的攻击行为特征。虽然检测每一种平台已知漏洞——如由Microsoft、MITRE的CVE(Common Vulnerabilities and Exposures)和CERT/CC(CERT Coordination Center)检测出来的漏洞——有其存在的必要,但优秀的风险评估工具还必须能够更深入一步,找出可能预示着配置不完善的缺陷之处,例如找出是否存在空白的密码、配置不当的权限、开放面太广的网络共享资源,或被错误启用的Guest帐户。一些风险评估工具允许定制攻击脚本,例如对入侵测试过程进行优化,或者是避免误报。

      为提高实用性,风险分析工具不仅应该能够报告和总结特定系统上找到的安全弱点,还应该能够帮助管理员修补漏洞。一些风险评估工具报告系统存在开放的共享资源,却没有说明共享资源的名称或为何它们被认为是开放的——开放的共享资源是某个共享目录还是共享打印机?是共享资源没有设置密码,还是没有及时安装微软的补丁?较好的工具提供了指向厂商Web网站的连接,并在Web上提供漏洞的详细说明、风险程度、纠正措施等,有些工具甚至还提供了能够自动修补网络上安全漏洞的脚本。

      选择一个风险评估工具就像选择一个企业级病毒扫描工具一样。市场上不乏优秀的厂商,但一定要坚持在付款购买前试用一番,因为在一个环境下表现出色的工具换了环境后不一定仍会有出色的表现。下面是几则选择风险评估工具时应当考虑的原则。

      ■ 根据实际环境和企业的需求选择

      搞清楚风险评估工具的运行平台和作用平台。正如前面提到的,对于一个纯Windows环境,应当选择一个在Windows上运行、擅长分析Windows的工具。例如,Nessus是一个广受欢迎的免费风险评估工具,它能够检测超过140种的Windows漏洞,但它虽然有一个Windows的客户端,却需要一个UNIX或Linux主机来运行服务器部分的软件。

      现在看到的许多Windows风险评估工具似乎跟不上时间的脚步,它们最擅长以及注重的是测试Windows NT而非Windows XP和Win 2K,所以选购时一定要留意它是否能够识别最新的操作系统以及检测新操作系统特有的安全问题(例如Universal Plug and Play,445端口的NetBIOS通信,组策略等)。另外,必须注意大多数风险评估工具只能分析TCP/IP协议,对于Novell或Macintosh网络,如果运行了TCP/IP之外的协议则必须考虑可能存在的问题。

      ■ 风险评估工具应当能够精确地映射网络、应用以及进行攻击测试

      怎样了解一个工具的实际功效?最有效的办法是搜索Web,查看媒体的评论,要求厂商提供其他客户的使用情况说明。正式购买之前最好测试一下工具的性能。大多数厂商都提供限制了功能的试用版本,通常是限制IP地址的范围。

      ■ 不仅要注意风险评估工具为目标平台提供的攻击脚本数量,而且要留意它们的更新速度

      纯粹的数量有时不能说明问题,因为有些厂商可能把许多相关的漏洞看成一个,有的厂商则把它们算作多个漏洞。一些较为优秀的风险评估工具,如CVE,把每一种测试都链接到了一个标准的漏洞案例ID。留意风险评估工具的更新频率,看看它是自动更新还是需要手工执行更新,还有,新的安全威胁发现之后它要多长的时间才能推出相应的更新?

      ■ 报告数量的多少,内容翔实程度,是否允许导出报表

      只能内部使用的扫描结果报表也许能够满足最初的需要,但如果经常对系统进行风险评估,最好能够将生成的报表导出到外部数据库,以便执行对比和分析。大多数风险评估工具不能将两次扫描结果关联对比,但这个功能对于许多管理员向CEO证明自己的工作业绩却是非常重要的。

      ■ 是否支持不同级别的入侵测试以避免系统挂起

      所有风险评估工具都有这样的警告:入侵测试过程可能产生DoS攻击,或者导致被测试的系统挂起。通常,在高访问量期间对担负关键任务的系统不应该运行风险评估工具,风险评估工具本身可能带来问题,引起服务中断或系统被锁死。大多数高质量的风险评估工具允许执行侵害程度较小的入侵测试,避免造成系统运行中断。

      ■ 是否需要在线服务?

      有些风险评估工具以在线服务的形式提供。这种形式的优点是不占用硬件资源,可以从任何地方运行和获取报表,自动执行更新,一般而言总拥有成本也较低。缺点是服务的运行速度一般较慢,不象客户端产品那样容易定制。最后还有一点是,如果采用在线服务,则扫描出来的网络漏洞清单还将落入第三方的手中。

      综上所述,为了测试和保障网络的高度安全,进行风险评估是非常重要的。风险评估工具能够分析网络,找出正在运行的主机,尝试入侵找到的系统和应用软件。附表列出了当前市场上最主要的产品。找到了支持你所用平台的工具之后,你可以安装一台测试机器,故意打开几个漏洞,试验一下该工具是否能够找出这些漏洞来。没有一种风险评估工具是十全十美的,你所能做的是根据企业的网络环境、投资预算、功能、扫描精度、报告信息等,选择一种最合适的。


    五、附录:厂商和工具

      数据库风险评估工具

    厂商名称和URL  产品名称  软件或服务  
    Application Security
    http://www.appsecinc.com/products/appdetective/mssql AppDetective for: SQL Server,Sybase,Oracle,DB2,Lotus Domino  软件  
    Internet Security Systems (ISS)
    http://www.iss.net  Database Scanner  软件  
    NGSSoftware
    http://www.nextgenss.com  NGSSQuirreL for Oracle
    DominoScan
    OraScan  软件  

      基于主机的风险评估工具

    厂商名称和URL  产品名称  软件或服务  
    Akaba
    http://www.akabainc.com/home.html  PointScan  服务  
    Beyond Security Australia
    http://www.beyondsecurity.com.au  Automated Scanning Service  服务  
    BindView
    http://www.bindview.com  bv-Control  软件  
    Catbird Networks
    http://www.catbird.com/index.cfm  External Security Monitoring  服务  
    Cerberus Information Security
    http://www.cerberus-infosec.co.uk/cis.shtml  Cerberus Internet Scanner(CIS)  软件  
    Computer Associates (CA)
    http://www.cai.com/solutions/enterprise/
    etrust/policy_compliance/etrust_policy_compliance.pdf  eTrust Policy Compliance  软件  
    CORE Security Technologies
    http://www1.corest.com  CORE IMPACT  软件  
    Coresecure
    http://www.coresecure.com/flash/vuln_scanner.html  CS.nessus  服务  
    Critical Watch
    http://www.criticalwatch.com  Vulnerability Management  服务  
    E*MAZE
    http://www1.iplegion.com  ipLegion  服务  
    Edgeos
    http://www.edgeos.com  EdgeSecure  服务  
    eEye Digital Security
    http://www.eeye.com  Retina Network Security Scanner  软件  
    Emprise Technologies
    http://www.emprisetech.com  eScan  服务  
    Enterprise International
    http://www.ei-europe.com/security_analyst.htm  Security Analyst  软件  
    ESecurity Online
    http://www.esecurityonline.com  eSO Advisor
    eSO Framework  设备
    服务  
    Foundstone
    http://www.foundstone.com  FoundScan Engine  软件和设备  
    GFI Software
    http://www.gfi.com/lannetscan  GFiLANguard Network
    Security Scanner  软件  
    Harris
    http://www.statonline.com  STAT Scanner  软件  
    ISS
    http://www.iss.net  Internet Scanner  软件  
    Latis Networks
    http://latis.com  StillSecure VAM  软件  
    Microsoft
    http://www.microsoft.com/technet/treeview/
    default.asp?url=/technet/security/tools/tools
    /mbsahome.asp  Microsoft Baseline Security  软件  
    Nessus
    http://www.nessus.org  Nessus  软件  
    NetIQ
    www.netiq.com  NetIQ: Security Analyzer  软件  
    NetVision
    http://www.netvision.com  NVAssess  服务  
    Network Associates
    http://www.networkassociates.com/us/services/home.htm  CyberCop ASaP  服务  
    Network Security Systems
    http://www.netsecuritysys.com/products.html  iNETPATROL
    LANPATROL  服务
    设备  
    NGSSoftware
    http://www.nextgenss.com  Typhon II  软件  
    N-Stalker
    http://www.nstalker.com/nstealth  N-Stealth  软件  
    ProCheckUp
    http://www.procheckup.com  ProCheckNet  服务  
    Qualys
    http://www.qualys.com  QualysGuard
    QualysGuard Intranet  服务
    设备  
    Saint
    http://www.saintcorporation.com  SAINT
    WebSAINT  软件
    服务  
    SonicWALL
    http://www.sonicwall.com  SonicWALL Vulnerability  服务  
    Symantec
    http://www.symantec.com  NetRecon  软件.  
    ThreatFocus
    http://www.threatfocus.com  Threat Focus
    Diligence  服务  
    VIGILANTe
    http://www.vigilante.com/securescan/index.htm  SecureScan  软件  

      Web服务器风险评估工具  

    厂商名称和URL  产品名称  软件或服务  
    @stake
    http://www.atstake.com  @stake WebProxy  软件  
    KaVaDo
    http://www.kavado.com  ScanDo  软件  
    ProCheckUp
    http://www.procheckup.com  ProCheckWeb  服务  
    SPI Dynamics
    http://www.spidynamics.com  WebInspect  软件  
    WhiteHat Security
    http://community.whitehatsec.com/whitehat_arsenal.html  WhiteHat Arsenal  软件  
    展开全文
  • 常用性能分析工具

    千次阅读 2017-03-06 21:38:05
    先来看一张各种工具的图谱,要想了解这张图中所有工具的确切含义,需要对 Linux 操作系统,以及内核实现有着一定的了解,所有的工具,都可以 man 具体的使用细节。     top top  工具是查看进程信息...
  • X-Ways Forensics: 综合取证分析工具

    千次阅读 2019-08-15 10:21:59
    X-Ways Forensics: 综合取证分析工具 X-Ways Forensics 是为计算机取证分析人员提供的一个功能强大的、综合的取证、分析软件,可在 Windows XP/2003/Vista/2008/7/8/8.1/2012/10操作系统下运行,支持32 /64 位, ...
  • 最佳日志管理工具:51个有用的日志管理、监视、分析工具 痛苦的纯文本日志管理日子一去不复返了。虽然纯文本数据在某些情况下仍然很有用,但是在进行扩展分析以收集有洞察力的基础设施数据并改进代码质量时,寻找...
  • 代码分析工具是不可能发现代码中的所有安全漏洞的。就像 GS 和 DEP 一样,它也存在自身的局限性。     由于程序控制流和数据流的复杂程度, 静态代码分析工具不可避免的存在: 漏报:我们上面举出的...
  • Python 数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库、函数和外部工具。其中既有 Python 内置函数和标准库,又有第三方库和工具。这些库可用于文件...
  • 导读:Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库、函数和外部工具。其中既有Python内置函数和标准库,又有第三方库和工具。这些库可用于文件...
  • 常用的分析管理工具方法【整理】

    万次阅读 多人点赞 2017-07-14 10:36:30
    常用的分析管理工具方法常用的分析管理工具方法 二八原则 SWOT分析法 鱼骨图分析法 5M因素分析法 5M1E分析法 头脑风暴法 名义群体法 德尔菲法 电子会议分析法 几种决策方法比较 PDCA循环 5W1H分析法 5W2H分析法 5W2...
  • STM32开发环境工具)之Keil MDK 介绍

    万次阅读 2010-10-30 00:22:00
    本章将先对STM32常用的开发工具Keil MDK和IAR EWARM进行简单介绍,然后结合STM32_SK仿真评估板和STM32F103C的开发板讲解STM32片上资源使用,最后给出一个基于STM32的数据采集器的应用实例。 <br />5.1 Keil MDK...
  • GO分析相关工具汇总

    千次阅读 2012-11-10 12:18:11
    GO委员会工具 AmiGO [http://amigo.geneontology.org/cgi-bin/amigo/go.cgi] AmiGO 提供检索和浏览GO委员会提供的本体学(ontology)和注释(annotation)数据。用户可以通过检索蛋白获得相应的GO术语,可以检索GO...
  • 经济管理学中常用的模型分析

    万次阅读 2018-03-28 09:24:04
    经济管理学中常用的模型分析法常用的分析模型有:波特五力模型、波士顿矩阵、...比较系统的模型分类有:第一篇:战略与组织工具1.SWOT分析:战略规划的经典分析工具2.PEST分析:组织外部宏观环境分析工具3.BCG矩阵法...
  • 业务流程管理工具的概览和比较分析 简介: 目前比较流行的工作流开发管理工具众多,包括 JBPM、... 这样就需要对这些产品有更详细的调研和评估分析他们各自的优势在哪里,采用哪种开发工具能更好的满足用户商
  • 面向所有涉众的交流(主动的、被动的)均有工具支持 结构化沟通体系 1 协作式专题讨论 有结构化、有规律的沟通和会议支持协作 双向沟通 ...
  • SWOT分析

    千次阅读 2004-10-25 11:48:00
    SWOT是英文Strengths、...其中,优劣势分析主要是着眼于企业自身的实力及其与竞争对手的比较,而机会和威胁分析将注意力放在外部环境的变化及对企业的可能影响上,但是,外部环境的变化可能会给具有不同资源和能
  • 商业进阶——人力分析 本章从人才分析的四个维度进行了学习。 什么是“人才分析”? What is “talent analytics”? 对于人才分析的定义有许多不同的观点/定义: 现今的定义是人才评估和发展。最主要是用来确定能力...
  • 可视化机器学习工具软件的比较分析研究

    万次阅读 多人点赞 2016-10-30 18:38:46
    然而,机器学习是一个入门门槛相对比较高的技术领域,大部分的工程技术人员和业务人员都聚焦在业务领域的特征提取,算法选择,参数调优和模型验证上,因此一个方便高效的可视化工具,对于降低用户的机器学习学习曲线...
  • 如何评估CIO工作效果

    千次阅读 2009-10-12 12:04:00
    企业是一个由雇佣和投资关系组成的盈利机器,员工来自四海,外部竞争环境和机会也是不断变化,所以企业在飞奔向前的过程中必定有这样那样的问题,只要企业存在一天就会有各种问题,我们见到许多企业,有着很大的问题...
  • 在互联网行业做数据分析师,不仅需要具备扎实的统计学理论基础,同时对于编程的要求也很高,因为互联网与传统行业不同的是数据完全依赖与系统产生,无论是客户信息、用户行为还是整个业务流程的各个环节都来自于对应...
  • 微服务框架和工具大全

    千次阅读 2017-01-13 14:53:48
    不去重新发明轮子总是更好的。本文探讨了14个已经可用并能提供使微服务的开发和部署更容易的平台、框架和功能。本文还补充了每个工具将如何有助于建立良好的微服务架构的简要概述。 本文选自《Java微服务》。
  • 软件质量评估

    千次阅读 2018-06-08 11:47:35
    摘要: 本文从软件质量的有关概念出发,根据指标选取原则,在分析软件质量特征的基础上提出了相应的软件质量评估指标的选取原则,并进而建立了软件质量评估体系。关键词: 软件质量 质量评估指标体系1 软件质量的...
  • 一些好用的开源监控工具汇总

    万次阅读 2018-10-08 11:14:29
    监控系统是整个 IT 架构...多年来,对于监控的术语一直都有很多困惑,一些很糟糕的工具也宣称能够以一种格式完成所有事情。 在 DevOps 和云原生时代,今年,“可观察性”(Observability)被引入到了 IT 领域,其首...
  • 架构评估技术详解

    千次阅读 2012-09-25 07:45:59
    在软硬件系统总体架构设计完成之后,为保证架构设计的合理性、完整性和针对性,从根本上保证系统质量,降低成本及投资风险,需要对总体架构进行评估。  1、架构评估内容  (1)对软件的架构评估  对软件的架构...
  • SWOT分析法(引用)

    千次阅读 2012-06-02 19:49:51
    SWOT分析法常常被用于制定集团发展战略和分析竞争对手情况,在战略分析中,它是最常用的方法之一。... 运用各种调查研究方法,分析出企业所处的各种环境因素,即外部环境因素和内部能力因素。外部
  • 作者:Qiantong Xu、Gao Huang、Yang Yuan、Chuan Guo、Yu Sun、Felix Wu、Kilian Weinberger ...本文讨论了多个 GAN 评估指标,并从多个方面对评估指标进行了实验评估,包括 Inception Score、Mode Score、Ke...
  • PMBOK第六版工具与技术:数据收集数据分析数据表现

    千次阅读 多人点赞 2018-11-11 19:59:39
    23.成本效益分析:用来估算备选方案优势和劣势的财务分析工具。比较其可能的成本与预期收益率。 24.技术绩效分析:把项目期间所取得的技术成果与取得相关技术成果的计划进行比较。它要求定义关于技术绩效的客观的,...
  • SWOT分析模型

    万次阅读 2013-02-11 11:36:55
    SWOT分析模型 出自 MBA智库百科 SWOT分析模型(SWOT Analysis) ... SWOT分析法(也称TOWS分析法、道斯矩阵)即... 在现在的战略规划报告里,SWOT分析应该算是一个众所周知的工具。来自于麦肯锡咨询公司的SWO

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,873
精华内容 13,149
关键字:

外部环境评估分析工具