Submitted by 海东青 on 2006, January 12, 10:44 PM
20~25MB/Windows - Linux Gratuito/绑米/25hg.com
windows类型:
空间大小:20MB
支持权限:
- PHP Support
- Perl Suport
- CGI Support
-Access
-Asp
-Asp.net
-1 Email Addresses
-1 FTP Addresses
-Control Helm
[separator]
Linux类型
空间大小:25MB
支持权限:
- PHP Support
- Perl Suport
- CGI Support
-Control Cpanel
申请地址:http://25hg.com/ipanel/order/
电脑技术 | 评论:0
| Trackbacks:0
| 阅读:74
Submitted by 海东青 on 2006, January 12, 10:42 PM
200MBs of Storage
Unlimited Transfer
Unlimited Mailboxes
PHP Scripting
[separator]MySQL Database
[separator]
Custom Scripts
http://www.zaccum.com/
电脑技术 | 评论:0
| Trackbacks:0
| 阅读:76
Submitted by 海东青 on 2006, January 12, 10:40 PM
Our free and paid hosting is on a seperate server. Paid plans are at shutmail.com/webhosting.html . You may upgrade to a paid plan anytime.
All plans come with
unlimited: addon& parked domains, mysql, ftpacounts, subdomains, email and cpanel
LtPLAN: 100mb space, 1gb bw, for 2posts.
HtPlan: 1gb space, 10gb bw, for 25posts.
[separator]
XtPlan: 3gb space, 30gb bw, 75posts.
ATplan: 10gb space, 100gb bw, 200posts
UTPlan: unlimited space & bw. 450posts.
http://www.shutmail.com/forum/index.php?showtopic=7
电脑技术 | 评论:0
| Trackbacks:0
| 阅读:77
Submitted by 海东青 on 2006, January 12, 8:41 PM
网站排名是最容易引起关注和议论的,况且为世界上350多亿的网站定坐次,不仅如此,最重要的是排名的结果通过Internet发布到全世界。仅此足以引起哗然,对于不明真相的人,某天突然有人告诉你,“你们的网站排在我们之后”,此时你一定有些蒙。到底是谁在操这份心,评点虚拟世界的英雄?
Alexa 是什么
Alexa 是以发布世界网站排名而引人注目的一个网站,URL地址为http://www.alexa.com/ 。其实,此网站的搜索引擎也很好用,但是“网站排名”却是它吸引眼球的最主要原因。以网站导航起家的Alexa创建于1996年4月,他们的目的是让 Internet冲浪者在分享虚拟世界资源的同时,更多的参与Internet资源地组织。2002年5[separator]月Alexa放弃了自己的搜索引擎与Google 合作。他们每天在网上搜集超过1,000GB的信息,然后进行整合发布。现在他们搜集的URL数量已经超过了Google。下图是他们自己给出的一个信息量比较图。纵轴为已有的URL地址的量,以十亿为单位。也就是说在量上,Alexa位居世界四大名搜索引擎第一位,已经超过了350亿。
焦点在于,Alexa不仅给出这350多亿网址的链接,而且为其中的每一个网站进行了排名。可以说,Alexa是当前拥有URL数量最庞大,排名信息发布最详尽的网站。
Alexa的网站排名
Alexa的世界网站排名主要分两种:综合排名 也可以叫做绝对排名,即特定的一个网站在所有350多亿网站中的名次。Alexa每三个月公布一次新的网站综合排名。此排名的依据是用户链接数(Users Reach)和页面浏览数(Page Views)三个月累积的几何平均值。
如当前世界排名最靠前的网站有:雅虎(www.yahoo.com)高居榜首,MSNhttp://www.msn.com/)紧跟其后,两个韩语网http://www.daum.com/http://www.naver.com/ 位居第三和第四名。第五名是最有名的搜索引擎Googlehttp://www.google.com/)。每日的Internet用户中每百万人平均有308,000人会访问雅虎。全球著名的电子商务零售平台亚马http://www.amzon.com/ 综合排名14位。
Alexa还会根据网民对网站的评论,在综合排名信息中,用“星”来给网站评一个等级,最高为“5星” 。国内网站排名最靠前的新浪网,得了“2星”。Alexa网站本身不参加排名,但是Alexa给自己的评价为4星。
如果IE中嵌入了Alexa工具栏(Alexa Toolbar),那么每访问一个网站,其综合排名就会显示出来。也就是通常人们所说的名次。如果通过Alexa查看一个网站,首先看到的就是该网站的综合排名,并且配有当日网站首页截图,和网站内容的简单文字说明。以 www.blueidea.com 为例,显示其综合排名为2,1304(网页切图还是N个月以前的 )。
分类排名一是按主题分类,比如新闻、娱乐、购物等,Alexa给出某个特定网站在同一类网站中的名次。Alexa将其收集到的网站共分了16个大类,每个类下又分为多个主题。二是按语言分类,比如英文网站、中文网站、法文网站、德文网站等,给出特定站点在所有此类语言网站中的名次。Alexa提供了21种不同语言网站的分类排名。其中中文网站还细分成:简体中文和繁体中文两种。对于中文网站的排名只发布排在前100名的网站名单。
比如,我国一些著名门户类网站和新闻类网站当前的综合排名和按简体中文分类排名情况。其它一些排在简体中文网站100强的还有:联合早报:www.zaobao.com和凤凰卫http://www.phoenixtv.com/分别位于第21和28名。
繁体中文网站排名位于前5名的依次为:HiNet(www.hinet.net),Pc Home Online (www.pchome.com.tw/), 番薯藤(www.yam.com/),MSN(www.msn.com.tw/),新浪(www.sina.com/)。Sina.com.tw和 Sina.com.hk分别位于第6名和第8名。新闻类的如:联合新闻组,即联合报系(UDNnewshttp://www.udn.com/排在繁体中文网站的第7名;东方日报(www.orientaldaily.com.hk/)排在第31位;太阳报(www.the-sun.com.hk/)和明报(www.mingpaonews.com/)分别位于43、44位。另外,星岛日报、香港电台、中华电视等的网站也进入了繁体中文网站的100强。
Alexa将综合排名500强网站在自己网站上强力推荐。每个通过Alexa访问的网站,Alexa首先给出了有关该网站的如下图的信息(以人民网 People.com.cn为例)。包括:综合排名、相关网站链接、网站基本情况、联系方式、关于该网站的评论。以下信息是 blueidea.com 的站点信息,从链接和速度上分析,我站点都不是很理想,想来是太多的转载不给加上来自的链接吧。较慢的访问得分,估计和机房位置和带宽有关,虽然我在北京上本站,并不觉得太慢。通过上一页的链接“See Traffic Details” ,可以查看到有关该网站访问量的详细统计数据和图表。以新浪网Sina.com.cn为例,可以获知,除了同上的网站综合排名简介外,的如下信息:1、距当日最近的前3个月、前6个月和一年的访问量走势图。下图为Sina.com.cn自2003年7月26日上溯6个月来的访问量走势图:
点击浏览该文件
以下是 blueidea 的奇怪曲线统计图,说明我们会员大部分人是有班上的,到了周末就都休息了,而且 blueidea.com 在7月以后的改版取得巨大成功,两个月的时间排名上升速度很快。
点击浏览该文件
2、综合排名统计表,包括:今日排名、1周前排名、3个月前排名,以及与上一季度比较排名是上升还是下降。以下是 blueidea.com 的综合排名。
3、网站所有各栏目被浏览的概率的详细统计http://pages.blueidea.com 显然推广不够。cs.blueidea.com 也一样,邮件服务器的比例较少,说明我站点的Team 成员很少用 web 邮件系统。如果邮件服务器访问百分比很高,那一定是提供免费邮件的站点。
4、当日用户链接数、一周前每日平均用户链接数、前三个月的每日平均用户链接数(每百万人为单位)和当日、前一周、前三个月按用户链接数的排名,以及3个月来这些数量的变化。如下图所示5、每个用户平均浏览页面数,分为:当日、前一周、前3个月分别统计。而且有按被访页面数的排名。以及3个月来页面浏览量和以此为排名的名次两项变化。可以看出,今天我站点的page views 减少了,但 page views 的排名,还居 5466 名。
另外,Alexa还在自己的网站上公布排名变动最大的网站,分为名次上升最快的和名次下降最快的网站排行。比如2003年7月27日,华夏旅游网位居变动排行榜第一,访问量上升260%。
如此大量的网站地址,如此详尽的数据和统计,确立了Alexa的世界网站排名的权威。Alexa给出的排名无疑吊起众多人,尤其是那些与网站密切相关者的胃口。人们难免会思考:为什么我们的网站排在他们的之后?这个排名科学吗?公正吗?怎样才能排得靠前一些?实事是,无论如何这样的一个排名已经开始产生影响,不能排除它会影响网站的经济效益之类,甚至会带来更深更远的影响。
Alexa的排名机制
先决条件:
1、 Alexa的网站排名是按照每个特定网站的被访问量进行排名的。访问量越大,排名越靠前。
2、 访问量是针对定义在域上的网站进行统计的。如:www.sina.com.cn、news.sina.com.cn 和tech. sina.com.cn将被视作同一网站进行计数,因为它们同属于sina.com.cn这个域。但是个人主页除外,如果系统能够自动从URL地址分辨的话,将被视为彼此独立的网站。比如:在西陆http://www.xilu.com/)上申请myweb.xilu.com和 hisweb.xilu.com两个不同的个人主页空间,myweb.xilu.com、hisweb.xilu.com和www.xilu.com将被看作三个独立的网站进行计数,而不是算作xilu.com域下的一部分统一计数。
3、提供同样内容的网站将被视为同一网站计算。中比如,传播研究网使用www.mediaresearch.com.cn http://www.mediaresearch.cn/ 两个域名发布同样的内容,那么将被作为同一个网站来计算
4、 纳入统计的访问量仅来自使用Alexa工具栏(Alexa Toolbar)的用户。也就是说,只有用户下载了Alexa工具栏,并将其嵌入自己的浏览器。这样,该用户访问某个网站的话,访问的记录才能算作被访问网站的访问量。据Alexa统计,现在使用该工具栏的用户达数百万。
5、 Alexa工具栏仅在windows操作系统下,Internet Exploer浏览器中管用,使用其它操作系统或者浏览器的访问将不能被计数。
6、 遇到有安全保护或加密的站点(如使用https协议),Alexa工具栏将自动关闭,因此那些安全系数高的网站,Alexa将不能对其进行搜索和统计排名。
访问量算法 1、 某个特定网站被排名时,依据的访问量数据是基于该网站3个月访问量记录的累积。也就是说Alexa每三个月发布一次排名结果,即通常说的名次。它的计算主要取决于用户链接数(Users Reach)和页面浏览数(Page Views)。Alexa系统每天对每个网站的用户链接数和页面浏览数进行统计,通过这两个量的三个月累积值的几何平均得出当前名次。变动是指与前三个月的比较。
2、用户链接数(Users Reach) 指通过Internet访问某个特定网站的人数。用访问某个特定网站的人数占所有Internet用户数的比例来表示。即:用户链接数 = (访问人数/全部Alexa用户数)* 100%,Alexa以每百万人作为计数单位。以雅虎(Yahoo)为例,如果它的用户链接数为28%的话,就是说,随意抽取一百万的Internet用户,其中有280,000人访问Yahoo。
3、 页面浏览数(Page Views) 是指用户访问了某个特定网站的多少个页面。是所有访问该网站的用户浏览的页面数之和。每个用户浏览的页面数取平均值,是所有访问该网站的用户每天每人浏览的独立页面数的平均。同一人、同一天、对同一页面的多次浏览只记一次。
其它影响因素 1、 受使用Alexa工具栏用户的语言、地域、文化等各方面的影响。因此英文网站相对于其它语言的网站,访问量数据更容易被充分地统计。 2、 由于某种需要,用户可能过多的访问alexa.com、amazon.com和archive.org这三个网站,所以这几个网站的访问量可能被过高的统计。 3、 很容易受网站对自己宣传的程度、打广告的多少、别的网站为其建立链接的多少的影响。
我们无法评述这样的一个网站排名的公正性和科学性,但是可以肯定任何的计算方法都不完善,然而重要的是,通过以上的大揭密,您是否找到了让自己网站排名靠前的方法?问题关键在于:被排名的网站最好主动将自己的URL地址添加到Alexa 中,否则访问量的统计会受到影响,而且Alexa不提供这些网站访问量的详细统计。
一些问题的补充说明 1、文中“Alexa排名机制——先决条件”第三条“提供同样内容的网站将被视为同一网站计算”是Alexa自己的声明,可是对于很多中文网站存在问题,比如新华网的两个域名:www.xinhuanet.com和www.xinhua.org,内容都是一样的,但是在alexa的排名中并没有把这两个域名当作一个网站,前者排名300多位,后者3000多位。相同的还有:
人民网 www.peopledaily.com.cn 1,030人民日报 www.people.com.cn 566
CCTV.com www.cctv.com 197中国中央电视台www.cctv.com.cn 1,238
2、 一些网站的排名变化非常快,一天甚至一会儿就会变动近百万个名次。 3、以三个月作为排名计算的基数,是每个网站按照绝对的时间段,比如一到三月、四到六月,还是每个网站按照自己相对的时间段,假设新华网是5月15日第一次登录Alexa网站,然后8月15日公布排名。
就以上三个问题,笔者发了Email给Alexa的服务中心以求解答,可是半个月后的今天仍然未有回音,当然邮件也没有因为找不到地址被退回。
希望以上文章对想让自己发展壮大的站长有所帮助。总结一下,尽量让自己的员工,忠实会员,多装工具条,然后每天在站点里转,你的排名就能升高,如果大家都这样做,那排名就较真实了哈哈。我觉得微软应该在IE内嵌这个,采样广泛,不用现在这样,总觉得象是在弄虚作假一样。
电脑技术 | 评论:0
| Trackbacks:0
| 阅读:78
Submitted by 海东青 on 2006, January 12, 8:40 PM
内容摘要:
目前中文网站在整个互联网中的影响还比较小,这主要是由于中文网站总体的水平(技术上,内容上)都还相对落后造成的,最主要的表现有:
行业知识:不知道搜索引擎对吸引的新用户的重要性,在搜索引擎排名服务中追求“傻瓜相关”,购买一些其实没有太多实际意义的行业关键词。其实能够用户输入的关键词越多,真对性越强,价值越高。如果用户能够直接定位到产品具体内容页比到网站首页有价值的多;发布技术:网站的网页进入Google的索引量非常小,动态网页仍是主要发布机制,缺乏将动态页面链接表现成静态页面的机制;页面设计:页面标题重复,关键词不突出,过渡使用JavaScript脚本/图片/Flash等不适合搜索引擎索引的非文本形式;无法量化的东西是不可管理的,以上根本的原因往往是网站自身缺乏。
[separator]
日志统计分析造成:
其实大部分网站只要通过一些简单的策略还是可以让网站自身的水平在互联网中有一个真实的体现,网站结构设计中面向搜索引擎的优化注意事项包括:链接引用的重要性; 如何突出关键词:网页标题、主题的设计; 页面及站点结构设计注意事项; 以及站点访问统计的重要性等;
Google的站点设计指南
(注意:本网站设计本身就利用了其中一些方法)。
什么是PageRank
Google等新一带搜索引擎的优势之一在于不仅索引量很大,而且还将最好的结果排在搜索结果的最前面,具体的原理可以参考Google の秘密 - PageRank 徹底解説一文,PageRank简单的说类似于科技论文中的引用机制:谁的论文被引用次数多,谁就是权威。在互联网上PageRank就是基于网页中相互链接关系的分析得出的。
此外,从计算方法角度阐述PageRank机制还有这篇文章:http://pr.efactory.de/里面有更详细的PageRank算法说明和各种清晰的小型个案分析:
比如:子页中导航条的重要性
B <=> A => C
Vs
B <=> A <=> C (好)
页面数量因素:
B <=> A <=> C
Vs
F <=\ /=> G
B <=> A <=> C (好)
D <=/ \=> E
一个意想不到的结论:
(B <=> A <=> C) ( E <=> D <=> F)
Vs
(B <=> A <=> C) <=> ( E <=> D <=> F)
PageRank升高的只是被链接的2个首页A和D,而网站子页面的PageRank平均会略有下降。同时:一个网站进入Google的索引量越大其受类似因素影响越小。
PageRank不对称的页面互链: Google会用BadRank之类的算法进行纠正,而且一个网页着有来自“与其自身不相称”的高PageRank站点的链接,而自身又缺少足够数量和质量的反相链接的话,其PageRank会自动降低为0,A(pr=7) <=> B(pr=0)
简单的说就是:偶尔要被权威站点反相链接不算数,要被足够多的权威站点引用才能提高自身网页的PageRank。
链接就是一切在互联网的海洋中,最重要的就是互联互通,不被其他网站引用的网站就是“信息孤岛”。“酒好也怕巷子深”,也许这话说起来有点像垃圾邮件广告,但事实就是这样。所以如果做网站的目的不是孤芳自赏,就需要积极的推广自己的网站。
通过搜索引擎推广自己需要注意以下几个方面:
以量取胜:不一定加入大型网站的分类目录才是网站推广,来自其他网站的任何反相链接都是有用的网站推广比较经典的方式就是加入比较大型门户网站的分类目录,比如:Yahoo!,dmoz.org等。其实这里有一个误区:不一定非要加入大型网站的分类目录才是网站推广,因为现在搜索引擎已经不再只是网站目录的索引,而是更全面的网页索引,所以无论来自其他网站任何地方的反相链接都是非常有价值的,哪怕是出现在新闻报道,论坛,邮件列表归档中。很多大型站点的邮件列表发邮件时,一定注意在自己的签名中加上自己网站的地址。
电脑技术 | 评论:0
| Trackbacks:0
| 阅读:79
Submitted by 海东青 on 2006, January 12, 8:34 PM
Web 服务处于分布式计算的核心位置,它们之间的交互通常很难测试。分布式开发、大型的开发者团队以及对代码日益组件化的期望都有可能使 Web 服务的开发变得越来越容易隐藏错误。这些类型的错误极难检测出来。压力测试是检测这类代码错误的一种有效方法,但是只有在压力系统设计得比较有效的情况下才能发挥作用。本文将让您深入了解一下这种压力系统的基本要求。
[separator] 测试方法
传统的测试方法包括某种形式的简单单元测试 ,通常由开发人员执行。设计这些测试需要了解软件的内部知识,并且这些测试几乎总是针对产品的非常小的、特定的部分。这些类型的测试非常适合与其他代码组件极少交互,甚至没有交互的简单 Web 服务。
功能验证(Functional Verification) 也 是一种测试过程,在这个过程中,对产品源代码了解有限的设计者进行测试以确认产品或服务的核心功能。设计这种测试是为了证明这个核心功能符合某个规范。举 个例子,我的在线拍卖显示的是输入的正确出价吗? 我的保险经纪人系统找到最便宜的报价了吗?如果这些测试失败,通常就意味着检测到了产品的一个基本问题(这个问题通常是可以直接修复)。这种测试也是适合 简单的 Web 服务,使您可以检查服务是否能够正确执行它的各个功能。
系统测试(System Test) 通常是在功能验 证阶段完成,验证了核心功能后进行。它倾向于把整个系统作为一个整体来查找问题 — 弄清 Web 服务作为系统的一部分怎样运作,以及 Web 服务相互之间如何交互。由于系统测试是在开发生命周期快结束时才进行,所以通常不能给它分配足够的时间来完成。又因为紧张的发行日程安排以及开发的各个重 要阶段的后移,系统测试阶段经常被忽略,并且一些通常都可以发现的、少见的错误都不能被检测到。即使发现了这种错误,这时也来不及确定错误的原因并设法修 复它们了。因此,在查找代码错误时,必需把系统测试应用设计得尽可能高效。系统测试通常由三部分组成,它们是:
性能(Performance): 这涉及到确定相关的产品统计数据的过程。例如:每秒有多少条消息?一个服务可同时接受多少个用户?
案例(Scenario): 这是重新创建客户所需的确切配置的过程。因此在案例中发现的任何问题都可以在客户使用该产品之前被检测出来。
压力(或称工作负载平衡): 它 与另两个部分不同,因为它被设计为通过应用很大的工作负载来使软件超负荷运转。如果压力测试通过对产品保持高强度的使用(但不超过性能统计数字确定的限 制)能有效地执行,那么它就经常能够发现许多隐蔽的错误,而这些错误用上面提到的任何其他技术都是发现不了的(这些错误也经常是最难修复的)。
从检测代码错误这方面来说,可以证明这三个系统测试组件中效率最高的是压力测试部分。但由于这个过程经常跟系统的其他要素或功能测试混淆在一起,所以这个过程涉及到的方法还没有被正确着手处理或实现。
压力下的错误
使用压力测试,您有希望找到很多种用其他测试方法更难发现的错误。有两种错误类型是:
内存泄漏(Memory leak): 一种极难检测的现象。内存泄漏经常发生在已发行的产品中,原因很简单,很难设计测试 用例来检测它们。使用简单的功能测试,几乎发现不了内存泄漏问题,因为在产品完成之前测试没对产品进行足够多的使用。内存泄漏通常要求操作要重复非常多的 次数以使内存消耗达到能引起注意的程度。尽管与其它编程语言(如 C/C++)相比,Java 程序更难引入内存泄漏错误,但只要程序仍保持着对对象的引用,该对象仍有可能被实例化并且它占用的内存永远不会被释放。
并发与同步(Concurrency and Synchronization): 压 力测试在查找并发性问题上非常出众,这是因为在任何一个测试生命周期中,它都应用了许多不同的代码路径和定时条件。一般的规则是,压力测试运行的时间越 长,涉及并应用的代码路径组合和定时条件就越多。当然,这也的确使得这些问题很难再现(错误可以在 5 分钟或 5 天后发生)。死锁、线程泄漏以及任何一般的同步问题通常只能在压力测试阶段被检测出来。这些类型的问题很难通过执行单元测试来发现。开发人员不会一直考虑 他或她的代码将与其他地方的代码(在执行单元测试时这些代码可能还没写出来)进行交互。
现有的压力测试工具
有许多声称能够对 产品进行压力测试的可用工具目前正在开发中。被广泛应用的是针对 Web 服务的那些工具。然而,这些工具中有许多只是简单的 HTML/SOAP 生成器,它们模拟许多客户机连接,并因此对 Web 服务器生成高负载(这对于查找 Web 服务器的问题很有用,但对于查找 Web 服务的问题就没那么有用了)。这些工具对基本的压力测试比较有用,但它们经常是仅仅扩展功能验证阶段来重复地执行相同的功能任务。如果足够的时间和资源可 用,就可以通过创建定制构建的压力测试系统来实现更有效的测试。由于压力系统的设计者通常对要测试的产品和 Web 服务有更多的了解,所以他们将能够确保压力系统可以用于哪些具体的代码区域。
设计压力应用
设计试图对 Web 服务进行压力测试的压力测试系统时,要让它们以某种特定的方式运行代码。这些风格超越了功能验证,目的是要弄清楚被测试的 Web 服务是不是不仅能做我们认为它能做的事,而且在被施加了某些高强度压力的情况下仍然继续正常运行。压力测试必须对 Web 服务应用四个基本条件。许多已建立的压力系统应用了这些条件。有效的压力测试系统将应用以下这些关键条件:
重复(Repetition): 或许最明显的且最容易理解的压力条件就是测试的重复。换句话说,测试的重复就是一遍又一遍地执行某个操作或功能,比如重复调用一个 Web 服务。功能验证测试可以用来被弄清楚一个操作能否正常执行。而压力测试将确定一个操作能否正常执行,并且能否继续在每次执行时都正常。这对于推断一个产品 是否适用于某种生产情况至关重要。客户通常会重复使用产品,因此压力测试应该在客户之前发现代码错误。许多最简单的压力系统只实现这一个条件,但简单地扩展功能验证测试来多次重复并不能构成一个有效的压力测试。当与下面的一些原则结合起来使用时,重复就可以发现许多隐蔽的代码错误。
并发(Concurrency): 并 发是同时执行多个操作的行为。换句话说,就是在同一时间执行多个测试,例如在同一个服务器上同时调用许多 Web 服务。这个原则不一定适用于所有的产品(比如无状态服务),但是多数软件都具有某个并发行为或多线程行为元素,这一点只能通过执行多个代码示例才能测出 来。功能测试或单元测试几乎不会与任何并发设计结合。压力系统必须超越功能测试,要同时遍历多条代码路径。至于怎么做到这一点取决于具体的产品。例如,一个 Web 服务压力测试需要一次模拟多个客户机。Web 服务(或者任何多线程代码)通常会访问多个线程实例间的一些共享数据。因额外方面的编程而增加的复杂性通常意味着代码会具有许多因并发引起的错误。由于引入并发性意味着一个线程中的代码有可能被其他线程中的代码中断,所以错误只在一个指令集以特定的顺序(例如以特定的定时条件)执行时才会被发现。把这个原 则与重复原则结合在一起,您可以应用许多代码路径和定时条件。
量级(Magnitude): 压力系统应该应用于产品的另一个条件考虑到了每个操作中的负载量。压力测试可以重复执行一个操作,但是操作自身也要尽量给产品增加负担。例如,一个 Web 服务允许客户机输入一条消息,您可以通过模拟输入超长消息的客户机来使这个单独的操作进行高强度的使用。换句话说就是,您增加了这个操作的量级。这个量级 总是特定于应用的,但是可以通过查找产品的可被用户计量和修改的值来确定它。例如,数据的大小、延迟的长度、资金数量的转移、输入速度以及输入的变化等等。单独的高强度操作自身可能发现不了代码错误(或者仅能发现功能上的缺陷), 但与其他压力原则结合在一起时,您将可以增加发现问题的机会。
随机变化: 最后一点,任何压力系统都多多少少具有一些随机性。如果您随机使用前面的压力原则中介绍的无数变化形式,您就能够在每次测试运行时应用许多不同的代码路径。下面是几个关于怎样在测试生 命周期内改变测试的示例。使用重复时,在重新启动或重新连接服务之前,您可以改变重复操作间的时间间隔、重复的次数,或者也可以改变被重复的 Web 服务的顺序。使用并发,您可以改变一起执行的 Web 服务、同一时间运行的 Web 服务数目,或者也可以改变关于是运行许多不同的服务还是运行许多同样的实例的决定。量级或许是最容易更改的 — 每次重复测试时都可以更改应用程序中出现的变量(例如,发送各种大小的消息或数字输入值)。如果测试完全随机的话,因为很难一致地重现压力下的错误,所以一些系统使用基于一个固定随机种子的随机变化。这样,用同一个种子,重现错误的机会就会更大。
一个压力测试通常会结合上述的所 有原则,并且在允许的范围内尽可能长时间地运行。测试被允许的执行时间越长,就可以遍历越多的代码路径,并且发现的错误也越多。当然,一旦找到错误就必须诊断并修复它。由于一个代码错误可以在压力测试运行多日以后自己显示出来,所以系统必须保证当出现错误时所有可用的调试信息都被生成,否则可能就必须花费同样多的时间来重现这个错误。
结束语
测试是软件开发过程中至关重要的部分,并且一个重要的、经常被曲解或忽略的部分是压力测试。遵循上面详细说明的原则,您就可以设计并实现有效的压力测试系统,用来查找一些与您的代码相关的、比较隐蔽的问题。无论是利用预先写好的工具,还是创建一个完全专用的压力系统,压力测试都是用于查找 Web 服务(或其他任何程序)问题的本质方法,并能最终提高您的软件产品质量。
电脑技术 | 评论:0
| Trackbacks:0
| 阅读:79
Submitted by 海东青 on 2006, January 12, 8:26 PM
相信经常玩木马的朋友们都会知道一些木马的特性,也会有自己最喜爱的木马,不过,很多朋友依然不知道近年兴起的“DLL木马”为何物。什么是“DLL木马”呢?它与一般的木马有什么不同?
一、从DLL技术说起
要了解DLL木马,就必须知道这个“DLL”是什么意思,所以,让我们追溯到几年前,DOS系统大行其道的日子里。在那时候,写程序是一件繁琐的事情,因为每个程序的代码都是独立的,有时候为了实现一个功能,就要为此写很多代码,后来随着编程技术发展,程序员们把很多常用的代码集合(通用代码)放进一个独立的文件里,并把[separator]这个文件称为“库”(Library),在写程序的时候,把这个库文件加入编译器,就能使用这个库包含的所有功能而不必自己再去写一大堆代码,这个技术被称为“静态链接”(Static Link)。静态链接技术让劳累的程序员松了口气,一切似乎都很美好。可是事实证明,美好的事物不会存在太久,因为静态链接就像一个粗鲁的推销员,不管你想不想要宣传单,他都全部塞到你的手上来。写一个程序只想用到一个库文件包含的某个图形效果,就因为这个,你不得不把这个库文件携带的所有的图形效果都加入程序,留着它们当花瓶摆设,这倒没什么重要,可是这些花瓶却把道路都阻塞了——静态链接技术让最终的程序成了大块头,因为编译器把整个库文件也算进去了。
时代在发展,静态链接技术由于天生的弊端,不能满足程序员的愿望,人们开始寻找一种更好的方法来解决代码重复的难题。后来,Windows系统出现了,时代的分水岭终于出现。Windows系统使用一种新的链接技术,这种被称为“动态链接”(Dynamic Link)的新技术同样也是使用库文件,微软称它们为“动态链接库”——Dynamic Link Library,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些懒⑽募铮窃诒嘁敕矫妫⑷砣屏烁鋈ψ樱⒚挥胁扇“芽馕募咏绦虻姆椒ǎ前芽馕募龀梢丫嘁牒玫某绦蛭募强鼋换皇莸慕涌冢绦蛟毙闯绦虻氖焙颍坏┮褂媚掣隹馕募囊桓龉δ芎低尘桶颜飧隹馕募魅肽诖妫由险飧龀绦蛘加械娜挝窠蹋缓笾葱谐绦蛞玫墓δ芎呀峁祷馗绦蛳允境隼矗谖颐强蠢矗拖袷浅绦蜃约捍械墓δ芤谎M瓿尚枰墓δ芎螅飧鯠LL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。最重要的是,DLL绝对不会让你多拿一个花瓶,你要什么它就给你什么,你不要的东西它才不会给你。这样,写出来的程序就不能再携带一大堆垃圾了——绝对不会让你把吃剩的东西带回家,否则罚款,这是自助餐。
DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了强大的Windows系统。如果Windows使用静态链接技术,它的体积会有多大?我不敢想。
二、应用程序接口API
上面我们对DLL技术做了个大概分析,在里面我提到了“接口”,这又是什么呢?因为DLL不能像静态库文件那样塞进程序里,所以,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,让一个DLL文件像奶酪一样开了许多小洞,每个洞口都注明里面存放的功能的名字,程序只要根据标准规范找到相关洞口就可以取得它要的美味了,这个洞口就是“应用程序接口”(Application Programming Interface),每个DLL带的接口都不相同,尽最大可能的减少了代码的重复。用Steven的一句话:API就是一个工具箱,你根据需要取出螺丝刀、扳手,用完后再把它们放回原处。在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。
三、DLL与木马
DLL是编译好的代码,与一般程序没什么大差别,只是它不能独立运行,需要程序调用。那么,DLL与木马能扯上什么关系呢?如果你学过编程并且写过DLL,就会发现,其实DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,这就是DLL木马的概念。也许有人会问,既然同样的代码就可以实现木马功能,那么直接做程序就可以,为什么还要多此一举写成DLL呢?这是为了隐藏,因为DLL运行时是直接挂在调用它的程序的进程里的,并不会另外产生进程,所以相对于传统EXE木马来说,它很难被查到。
四、DLL的运行
虽然DLL不能自己运行,可是Windows在加载DLL的时候,需要一个入口函数,就如同EXE的main一样,否则系统无法引用DLL。所以根据编写规范,Windows必须查找并执行DLL里的一个函数DllMain作为加载DLL的依据,这个函数不作为API导出,而是内部函数。DllMain函数使DLL得以保留在内存里,有的DLL里面没有DllMain函数,可是依然能使用,这是因为Windows在找不到DllMain的时候,会从其它运行库中找一个不做任何操作的缺省DllMain函数启动这个DLL使它能被载入,并不是说DLL可以放弃DllMain函数。
五、DLL木马技术分析
到了这里,您也许会想,既然DLL木马有那么多好处,以后写木马都采用DLL方式不就好了吗?话虽然是这么说没错,但是DLL木马并不是一些人想象的那么容易写的。要写一个能用的DLL木马,你需要了解更多知识。
1.木马的主体
千万别把木马模块写得真的像个API库一样,这不是开发WINAPI。DLL木马可以导出几个辅助函数,但是必须有一个过程负责主要执行代码,否则这个DLL只能是一堆零碎API函数,别提工作了。
如果涉及一些通用代码,可以在DLL里写一些内部函数,供自己的代码使用,而不是把所有代码都开放成接口,这样它自己本身都难调用了,更不可能发挥作用。
DLL木马的标准执行入口为DllMain,所以必须在DllMain里写好DLL木马运行的代码,或者指向DLL木马的执行模块。
2.动态嵌入技术
Windows中,每个进程都有自己的私有内存空间,别的进程是不允许对这个私人领地进行操作的,但是,实际上我们仍然可以利用种种方法进入并操作进程的私有内存,这就是动态嵌入,它是将自己的代码嵌入正在运行的进程中的技术。动态嵌入有很多种,最常见的是钩子、API以及远程线程技术,现在的大多数DLL木马都采用远程线程技术把自己挂在一个正常系统进程中。其实动态嵌入并不少见,罗技的MouseWare驱动就挂着每一个系统进程-_-
远程线程技术就是通过在另一个进程中创建远程线程(RemoteThread)的方法进入那个进程的内存地址空间。在DLL木马的范畴里,这个技术也叫做“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,要想让木马停止惟有让挂接这个木马DLL的进程退出运行。但是,很多时候我们只能束手无策——它和Explorer.exe挂在一起了,你确定要关闭Windows吗?
3.木马的启动
有人也许会迫不及待的说,直接把这个DLL加入系统启动项目不就可以了。答案是NO,前面说过,DLL不能独立运行,所以无法在启动项目里直接启动它。要想让木马跑起来,就需要一个EXE使用动态嵌入技术让DLL搭上其他正常进程的车,让被嵌入的进程调用这个DLL的DllMain函数,激发木马运行,最后启动木马的EXE结束运行,木马启动完毕。
启动DLL木马的EXE是个重要角色,它被称为Loader,如果没有Loader,DLL木马就是破烂一堆,因此,一个算得上成熟的DLL木马会想办法保护它的Loader不会那么容易被毁灭。记得狼狈为奸的故事吗?DLL木马就是爬在狼Loader上的狈。
Loader可以是多种多样的,Windows的rundll32.exe也被一些DLL木马用来做了Loader,这种木马一般不带动态嵌入技术,它直接挂着rundll32进程运行,用rundll32的方法(rundll32.exe [DLL名],[函数] [参数])像调用API一样去引用这个DLL的启动函数激发木马模块开始执行,即使你杀了rundll32,木马本体还是在的,一个最常见的例子就是3721中文实名,虽然它不是木马。
注册表的AppInit_DLLs键也被一些木马用来启动自己,如求职信病毒。利用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。
有一些更复杂点的DLL木马通过svchost.exe启动,这种DLL木马必须写成NT-Service,入口函数是ServiceMain,一般很少见,但是这种木马的隐蔽性也不错,而且Loader有保障。
4.其它
到这里大家也应该对DLL木马有个了解了,是不是很想写一个?别急,不知道大家想过没有,既然DLL木马这么好,为什么到现在能找到的DLL木马寥寥无几?现在让我来泼冷水,最重要的原因只有一个:由于DLL木马挂着系统进程运行,如果它本身写得不好,例如没有防止运行错误的代码或者没有严格规范用户的输入,DLL就会出错崩溃。别紧张,一般的EXE也是这样完蛋的,但是DLL崩溃会导致它挂着的程序跟着遭殃,别忘记它挂接的是系统进程哦,结局就是……惨不忍睹。所以写一个能公布的DLL木马,在排错检查方面做的工作要比一般的EXE木马多,写得多了自己都烦躁……
六、DLL木马的发现和查杀
经常看看启动项有没有多出莫名其妙的项目,这是Loader的所在,只要杀了狼,狈就不能再狂了。而DLL木马本体比较难发现,需要你有一定编程知识和分析能力,在Loader里查找DLL名称,或者从进程里看多挂接了什么陌生的DLL,可是对新手来说……总之就是比较难啊比较难,所以,最简单的方法:杀毒软件和防火墙(不是万能药,切忌长期服用)。
电脑技术 | 评论:0
| Trackbacks:0
| 阅读:78
Submitted by 海东青 on 2006, January 12, 8:25 PM
虽然Linux和Windows NT/2000系统一样是一个多用户的系统,但是它们之间有不少重要的差别。对于很多习惯了Windows系统的管理员来讲,如何保证Linux操作系统安全、可靠将会面临许多新的挑战。本文将重点介绍Linux系统安全的命令。
passwd
1.作用
asswd命令原来修改账户的登陆密码,使用权限是所有用户。
2.格式
asswd [选项] 账户名称
[separator]3.主要参数
-l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。
-u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。
-x, --maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-n, --minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用。
-S:检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用。
4.应用实例
$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
从上面可以看到,使用passwd命令需要输入旧的密码,然后再输入两次新密码。
su
1.作用
u的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
2.格式
u [选项]... [-] [USER [ARG]...]
3.主要参数
-f , --fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , --login:加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m, -p ,--preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
USER:欲变更的使用者账号,ARG传入新的Shell参数。
4.应用实例
变更账号为超级用户,并在执行df命令后还原使用者。 su -c df root
umask
1.作用
umask设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。它告诉系统在创建文件时不给谁存取许可。使用权限是所有用户。
2.格式
umask [-p] [-S] [mode]
3.参数
-S:确定当前的umask设置。
-p:修改umask 设置。
[mode]:修改数值。
4.说明
传统Unix的umask值是022,这样就可以防止同属于该组的其它用户及别的组的用户修改该用户的文件。既然每个用户都拥有并属于一个自己的私有组,那么这种“组保护模式”就不在需要了。严密的权限设定构成了Linux安全的基础,在权限上犯错误是致命的。需要注意的是,umask命令用来设置进程所创建的文件的读写权限,最保险的值是0077,即关闭创建文件的进程以外的所有进程的读写权限,表示为-rw-------。在~/.bash_profile中,加上一行命令umask 0077可以保证每次启动Shell后, 进程的umask权限都可以被正确设定。
5.应用实例
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=
BR>
上述5行命令,首先显示当前状态,然后把umask值改为177,结果只有文件所有者具有读写文件的权限,其它用户不能访问该文件。这显然是一种非常安全的设置。
chgrp
1.作用
chgrp表示修改一个或多个文件或目录所属的组。使用权限是超级用户。
2.格式
chgrp [选项]... 组 文件...
或
chgrp [选项]... --reference=参考文件 文件...
将每个的所属组设定为。
3.参数
-c, --changes :像 --verbose,但只在有更改时才显示结果。
--dereference:会影响符号链接所指示的对象,而非符号链接本身。
-h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。
-f, --silent, --quiet:去除大部分的错误信息。
--reference=参考文件:使用的所属组,而非指定的。
-R, --recursive:递归处理所有的文件及子目录。
-v, --verbose:处理任何文件都会显示信息。
4.应用说明
该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
5.应用实例
改变/opt/local /book/及其子目录下的所有文件的属组为book,命令如下:
$ chgrp - R book /opt/local /book
chmod
1.作用
chmod命令是非常重要的,用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限,使用权限是超级用户。
2.格式
chmod命令有两种用法。一种是包含字母和操作符表达式的字符设定法(相对权限设定);另一种是包含数字的数字设定法(绝对权限设定)。
(1)字符设定法
chmod [who] [+ | - | =] [mode] 文件名
◆操作对象who可以是下述字母中的任一个或它们的组合
u:表示用户,即文件或目录的所有者。
g:表示同组用户,即与文件属主有相同组ID的所有用户。
o:表示其它用户。
a:表示所有用户,它是系统默认值。
◆操作符号
+:添加某个权限。
-:取消某个权限。
=:赋予给定权限,并取消其它所有权限(如果有的话)。
◆设置mode的权限可用下述字母的任意组合
r:可读。
w:可写。
x:可执行。
X:只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。
:文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t:保存程序的文本到交换设备上。
u:与文件属主拥有一样的权限。
g:与和文件属主同组的用户拥有一样的权限。
o:与其它用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
一个命令行中可以给出多个权限方式,其间用逗号隔开。
(2) 数字设定法
数字设定法的一般形式为: chmod [mode] 文件名
数字属性的格式应为3个0到7的八进制数,其顺序是(u)(g)(o)文件名,以空格分开的要改变权限的文件列表,支持通配符。
数字表示的权限的含义如下:0001为所有者的执行权限;0002为所有者的写权限;0004为所有者的读权限;0010为组的执行权限;0020为组的写权限;0040为组的读权限;0100为其他人的执行权限;0200为其他人的写权限;0400为其他人的读权限;1000为粘贴位置位;2000表示假如这个文件是可执行文件,则为组ID为位置位,否则其中文件锁定位置位;4000表示假如这个文件是可执行文件,则为用户ID为位置位。
3.实例
如果一个系统管理员写了一个表格(tem)让所有用户填写,那么必须授权用户对这个文件有读写权限,可以使用命令:#chmod 666 tem
上面代码中,这个666数字是如何计算出来的呢?0002为所有者的写权限,0004为所有者的读权限,0020为组的写权限,0040为组的读权限,0200为其他人的写权限,0400为其他人的读权限,这6个数字相加就是666(注以上数字都是八进制数),结果见图1所示。
[img]http://www.ttian.net/images/uploadimg/20050908/2155030.jpg[/img]
图1 用chmod数字方法设定文件权限
从图1可以看出,tem文件的权限是-rw-rw-rw-,即用户对这个文件有读写权限。
如果用字符权限设定使用下面命令:
#chmod a =wx tem
chown
1.作用
更改一个或多个文件或目录的属主和属组。使用权限是超级用户。
2.格式
chown [选项] 用户或组 文件
3.主要参数
--dereference:受影响的是符号链接所指示的对象,而非符号链接本身。
-h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。
--from=目前所有者:目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组。其中一个可以省略,这已省略的属性就不需要符合原有的属性。
-f, --silent, --quiet:去除大部分的错误信息。
-R, --recursive:递归处理所有的文件及子目录。
-v, --verbose:处理任何文件都会显示信息。
4.说明
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户ID;组可以是组名或组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限。
5.应用实例
1.把文件shiyan.c的所有者改为wan
$ chown wan shiyan.c
2.把目录/hi及其下的所有文件和子目录的属主改成wan,属组改成users。
$ chown - R wan.users /hi
chattr
1.作用
修改ext2和ext3文件系统属性(attribute),使用权限超级用户。
2.格式
chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录
3.主要参数
-R:递归处理所有的文件及子目录。
-V:详细显示修改内容,并打印输出。
-:失效属性。
+:激活属性。
= :指定属性。
A:Atime,告诉系统不要修改对这个文件的最后访问时间。
S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
D:检查压缩文件中的错误。
d:No dump,在进行文件系统备份时,dump程序将忽略这个文件。
C:Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。
:Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。
u:Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。
4.说明
chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。
5.应用实例
1.恢复/root目录,即子目录的所有文件
# chattr -R +u/root
2.用chattr命令防止系统中某个关键文件被修改
在Linux下,有些配置文件(passwd ,fatab)是不允许任何人修改的,为了防止被误删除或修改,可以设定该文件的“不可修改位(immutable)”,命令如下:
# chattr +i /etc/fstab
sudo
1.作用
udo是一种以限制配置文件中的命令为基础,在有限时间内给用户使用,并且记录到日志中的命令,权限是所有用户。
2.格式
sudo [-bhHpV] [-s ] [-u ] [指令]
sudo [-klv]
3.主要参数
-b:在后台执行命令。
-h:显示帮助。
-H:将HOME环境变量设为新身份的HOME环境变量。
-k:结束密码的有效期,即下次将需要输入密码。
-l:列出当前用户可以使用的命令。
-p:改变询问密码的提示符号。
-s :执行指定的Shell。
-u :以指定的用户为新身份,不使用时默认为root。
-v:延长密码有效期5分钟。
4.说明
udo命令的配置在/etc/sudoers文件中。当用户使用sudo时,需要输入口令以验证使用者身份。随后的一段时间内可以使用定义好的命令,当使用配置文件中没有的命令时,将会有报警的记录。sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序。一个明显的用途是增强了站点的安全性,如果需要每天以超级用户的身份做一些日常工作,经常执行一些固定的几个只有超级用户身份才能执行的命令,那么用sudo是非常适合的。
ps
1.作用
显示瞬间进程 (process) 的动态,使用权限是所有使用者。
2.格式
[options] [--help]
3.主要参数
的参数非常多, 此出仅列出几个常用的参数。
-A:列出所有的进程。
-l:显示长列表。
-m:显示内存信息。
-w:显示加宽可以显示较多的信息。
-e:显示所有进程。
a:显示终端上的所有进程,包括其它用户的进程。
-au:显示较详细的信息。
-aux:显示所有包含其它使用者的进程。
4.说明
要对进程进行监测和控制,首先要了解当前进程的情况,也就是需要查看当前进程。ps命令就是最基本、也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行、运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等。图2给出了ps-aux命令详解。大部分信息都可以通过执行该命令得到。最常用的三个参数是u、a、x。下面就结合这三个参数详细说明ps命令的作用:ps aux
[img]http://www.ttian.net/images/uploadimg/20050908/2155031.jpg[/img]
图2 ps-aux命令详解
图2第2行代码中,USER表示进程拥有者;PID表示进程标示符;%CPU表示占用的CPU使用率;%MEM占用的物理内存使用率;VSZ表示占用的虚拟内存大小;RSS为进程占用的物理内存值;TTY为终端的次要装置号码。
STAT表示进程的状态,其中D为不可中断的静止(I/O动作);R正在执行中;S静止状态;T暂停执行;Z不存在,但暂时无法消除;W没有足够的内存分页可分配;高优先序的进程;N低优先序的进程;L有内存分页分配并锁在内存体内 (实时系统或 I/O)。START为进程开始时间。TIME为执行的时间。COMMAND是所执行的指令。
4.应用实例
在进行系统维护时,经常会出现内存使用量惊人,而又不知道是哪一个进程占用了大量进程的情况。除了可以使用top命令查看内存使用情况之外,还可以使用下面的命令:
aux | sort +5n
who
1.作用
who显示系统中有哪些用户登陆系统,显示的资料包含了使用者ID、使用的登陆终端、上线时间、呆滞时间、CPU占用,以及做了些什么。 使用权限为所有用户。
2.格式
who - [husfV] [user]
3.主要参数
-h:不要显示标题列。
-u:不要显示使用者的动作/工作。
-s:使用简短的格式来显示。
-f:不要显示使用者的上线位置。
-V:显示程序版本。
4.说明
该命令主要用于查看当前在线上的用户情况。如果用户想和其它用户建立即时通信,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。who命令应用起来非常简单,可以比较准确地掌握用户的情况,所以使用非常广泛。
动手练习
1.使用Linux命令检测系统入侵者
安装过Mandrake Linux和Red Hat Linux的用户都会知道,Linux系统会内置三种不同级别(标准、高、更高)的防火墙,当进行了Linux服务器的安装和一些基本的设置后,服务器应该说是比较安全的,但是也会有黑客通过各种方法利用系统管理员的疏忽侵入系统。如何快速查找黑客非常重要。一般来说,可以使用命令查询黑客是否入侵,见表1。
表1 查询黑客入侵现象的命令对应表
[img]http://www.ttian.net/images/uploadimg/20050908/2155032.jpg[/img]
举例说明,如果黑客嗅探网络,那么它必须使网卡接口处于混杂模式,使用下面命令进行查询:
#ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:00:E8:A0:25:86
inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISCUOUS MTU:1500 Metric:1
......
从这个命令的输出中,可以看到上面讲到的这些概念。第一行的00:00:E8:A0:25:86是mac地址,第二行的192.168.1.7是IP地址,第四行讲的是接收数据状态,这时正在被黑客嗅探。一般而言,网卡有几种接收数据帧的状态,如Broadcast、Multicast、Promiscuous等。Broadcast是指接收所有类型为广播报文的数据帧;Multicast是指接收特定的组播报文;Promiscuous则是通常说的混杂模式,是指对报文中的目的硬件地址不加任何检查、全部接收的工作模式。
2.限制su命令的滥用
我们知道,超级用户在Linux中有最大的权利,几乎所有黑客都想得到这个目标。Linux可以增加对切换到超级用户的限制。使用PAM(Pluggable Authentication Modules)可以禁止除在wheel组以外的任何人su成root,修改/etc/pam.d/su文件,除去屏蔽标识#。使用/usr/sbin/usermod G10 bjecadm将bjecadm这个账号加入gid为10的组,就是wheel组。命令如下:
/etc/pam.d/su # 使用密码验证#
auth sufficient /lib/security/pam_wheel.so debug
# 限制只有wheel组用户才可以切换到root#
auth required /lib/security/pam_wheel.so use_uid
chmod -G10 bjecadm
另外,每当用户试图使用su命令进入系统用户时,命令将在/usr/adm/sulog文件中写一条信息,若该文件记录了大量试图用su进入root的无效操作信息,则表明了可能有人企图破译root口令。
Linux命令有着强大的功能。对于Linux系统管理员来说,往往只需要通过各种安全命令技巧,组合构成安全防线。从计算机安全的角度看,世界上没有绝对安全的计算机系统,Linux系统也不例外。
电脑技术 | 评论:0
| Trackbacks:0
| 阅读:76