第一个
什么是FTP?
FTP是英文File Transfer Protocol的缩写,意思是文件传输协议。它和HTTP同样都是Internet上普遍使用的协议,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的缘由,是由于FTP协议要用到两个TCP链接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另外一个是数据链路,用来上传或下载数据。
FTP协议有两种工做方式:PORT方式和PASV方式,中文意思为主动式和被动式。
PORT(主动)方式的链接过程是:客户端向服务器的FTP端口(默认是21)发送链接请求,服务器接受链接,创建一条命令链路。当须要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来链接我”。因而服务器从20端口向客户端的XXXX端口发送链接请求,创建一条数据链路来传送数据。
PASV(被动)方式的链接过程是:客户端向服务器的FTP端口(默认是21)发送链接请求,服务器接受链接,创建一条命令链路。当须要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来链接我”。因而客户端向服务器的XXXX端口发送链接请求,创建一条数据链路来传送数据。
从上面能够看出,两种方式的命令链路链接方法是同样的,而数据链路的创建方法就彻底不一样。而FTP的复杂性就在于此。
第二个 : HTTP是什么?
当咱们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就能够了,例如:
www.microsoft.com,可是在浏览器的地址栏里面出现的倒是:
http://www.microsoft.com ,你知道为何会多出一个“http”吗?
1、HTTP协议是什么
咱们在浏览器的地址栏里输入的网站地址叫作URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址同样,每一个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级连接时,URL就肯定了要浏览的地址。浏览器经过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。所以,在咱们认识HTTP以前,有必要先弄清楚URL的组成,例如:
http://www.microsoft.com/china/index.htm。它的含义以下:
1. http://:表明超文本传输协议,通知microsoft.com服务器显示Web页,一般不用输入;
2. www:表明一个Web(万维网)服务器;
3. Microsoft.com/:这是装有网页的服务器的域名,或站点服务器的名称;
4. China/:为该服务器上的子目录,就好像咱们的文件夹;
5. Index.htm:index.htm是文件夹中的一个HTML文件(网页)。
咱们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Application layer),它包含全部高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。
HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它能够使浏览器更加高效,使网络传输减小。它不只保证计算机正确快速地传输超文本文档,还肯定传输文档中的哪一部分,以及哪部份内容首先显示(如文本先于图形)等。这就是你为何在浏览器中看到的网页地址都是以http://开头的缘由。
自WWW诞生以来,一个多姿多彩的资讯和虚拟的世界便出如今咱们眼前,但是咱们怎么可以更加容易地找到咱们须要的资讯呢?当决定使用超文本做为WWW文档的标准格式后,因而在1990年,科学家们当即制定了可以快速查找这些超文本文档的协议,即HTTP协议。通过几年的使用与发展,获得不断的完善和扩展,目前在WWW中使用的是HTTP/1.0的第六版。
2、HTTP是怎样工做的
既然咱们明白了URL的构成,那么HTTP是怎么工做呢?咱们接下来就要讨论这个问题。
因为HTTP协议是基于请求/响应范式的(至关于客户机/服务器)。一个客户机与服务器创建链接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
许多HTTP通信是由一个用户代理初始化的而且包括一个申请在源服务器上资源的请求。最简单的状况多是在用户代理和服务器之间经过一个单独的链接来完成。在Internet上,HTTP通信一般发生在TCP/IP链接之上。缺省端口是TCP 80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。
这个过程就好像咱们打电话定货同样,咱们能够打电话给商家,告诉他咱们须要什么规格的商品,而后商家再告诉咱们什么商品有货,什么商品缺货。这些,咱们是经过电话线用电话联系(HTTP是经过TCP/IP),固然咱们也能够经过传真,只要商家那边也有传真。
以上简要介绍了HTTP协议的宏观运做方式,下面介绍一下HTTP协议的内部操做过程。
在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的链接期间,即在某个链接中的客户在另外一个链接中可能做为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:创建链接、发送请求信息、发送响应信息、关闭链接。这就好像上面的例子,咱们电话定货的全过程。
其实简单说就是任何服务器除了包括HTML文件之外,还有一个HTTP驻留程序,用于响应用户请求。你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级连接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操做后回送所要求的文件。在这一过程当中,在网络上发送和接收的数据已经被分红一个或多个数据包(packet),每一个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP决定了每一个数据包的格式。若是事先不告诉你,你可能不会知道信息被分红用于传输和再从新组合起来的许多小块。
也就是说商家除了拥有商品以外,它也有一个职员在接听你的电话,当你打电话的时候,你的声音转换成各类复杂的数据,经过电话线传输到对方的电话机,对方的电话机又把各类复杂的数据转换成声音,使得对方商家的职员可以明白你的请求。这个过程你不须要明白声音是怎么转换成复杂的数据的。
第三个 : ipc$ 是什么?
IPC$(Internet Process Connection)是共享/"命名管道/"的资源(你们都是这么说的),它是为了让进程间通讯而开放的命名管道,能够经过验证用户名和密码得到相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
利用IPC$,链接者甚至能够与目标主机创建一个空的链接而无需用户名与密码(固然,对方机器必须开了ipc$共享,不然你是链接不上的),而利用这个空的链接,链接者还能够获得目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。
咱们总在说ipc$漏洞ipc$漏洞,其实,ipc$并非真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登录功能,并且还打开了默认共享,即全部的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。
全部的这些,初衷都是为了方便管理员的管理,但好的初衷并不必定有好的收效,一些别有用心者(究竟是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄但愿于得到更高的权限,从而达到不可告人的目的.
解惑:
1)IPC链接是Windows NT及以上系统中特有的远程网络登录功能,其功能至关于Unix中的Telnet,因为IPC$功能须要用到Windows NT中的不少DLL函数,因此不能在Windows 9.x中运行。
也就是说只有nt/2000/xp才能够创建ipc$链接,98/me是不能创建ipc$链接的(但有些朋友说在98下能创建空的链接,不知道是真是假,不过如今都2003年了,建议98的同志换一下系统吧,98不爽的)
2)即便是空链接也不是100%都能创建成功,若是对方关闭了ipc$共享,你仍然没法创建链接
3)并非说创建了ipc$链接就能够查看对方的用户列表,由于管理员能够禁止导出用户列表第四个 : ASP 是什么?
ASP即Active Server Page的缩写。它是一种包含了使用VB Script或Jscript脚本程序代码的网页。当浏览器浏览ASP网页时, Web服务器就会根据请求生成相应的HTML代码而后再返回给浏览器,这样浏览器端看到的就是动态生成的网页。ASP是微软公司开发的代替CGI脚本程序的一种应用,它能够与数据库和其它程序进行交互。是一种简单、方便的编程工具。在了解了VBSCRIPT的基本语法后,只须要清楚各个组件的用途、属性、方法,就能够轻松编写出本身的ASP系统。ASP的网页文件的格式是.ASP。
第五个 : 什么是病毒
下面咱们谈一谈病毒。您之前是否据说过电脑病毒?不要一听到病毒就浑身发抖,只要了解了病毒,对付起来仍是很容易的。
电脑病毒与咱们平时所说的医学上的生物病毒是不同的,它其实是一种电脑程序,只不过这种程序比较特殊,它是专门给人们捣乱和搞破坏的,它寄生在其它文件中,并且会不断地自我复制并传染给别的文件,没有一点好做用。
电脑病毒发做了都会有哪些症状呢?
电脑染上病毒后,若是没有发做,是很难觉察到的。但病毒发做时就很容易感受出来:
有时电脑的工做会很不正常,有时会莫名其妙的死机,有时会忽然从新启动,有时程序会干脆运行不了。
◎电脑染毒后表现为:工做很不正常,莫名其妙死机,忽然从新启动,程序运行不了。
有的病毒发做时满屏幕会下雨,有的屏幕上会出现毛毛虫等,甚至在屏幕上出现对话框,这些病毒发做时一般会破坏文件,是很是危险的,反正只要电脑工做不正常,就有多是染上了病毒。病毒所带来的危害更是不言而喻了。
并且,之前人们一直觉得,病毒只能破坏软件,对硬件毫无办法,但是CIH病毒打破了这个神话,由于它居然在某种状况下能够破坏硬件!
电脑病毒和别的程序同样,它也是人编写出来的。既然病毒也是人编的程序,那就会有办法来对付它。最重要的是采起各类安全措施预防病毒,不给病毒以可乘之机。另外,就是使用各类杀毒程序了。它们能够把病毒杀死,从电脑中清除出去。
#6
病毒后记
其实如今的病毒,随着网络的发展。已经变的更加的复杂。它与黑客技术、木马等技术相结合,让你没法轻易查杀!其威害之大,由近期的冲击波病毒,仅见一斑! 因此你们学习了解电脑知识与安全知识,是必不可少的。咱们这里学习黑客等技术,也不是教你如何去攻击别人,这样是不道德的,主要是了解技术后,用于防范。 再一个,如何作好防范,让病毒没法入手。才是最重要的。对于初学的朋友,一个好的杀毒工具是必须的。我的认为正版的瑞星仍是不错的,其网上升级速度很快,防与杀的效果也很好!
=====+++++++=============== 我在普及最基本的知识时,遇到一个难题,我有时不知道该讲些什么?以什么为主题呢?因此但愿你们在回贴时,若是但愿了解什么相关的问题,请提出来。我好跟据提问,来安排主题! 对于所发布的主题,若有不明白的,也请及时提出,我会尽力做出完美的解答!
|
#7
第六个 : 什么是路由器
路由器是一种链接多个网络或网段的网络设备,它能将不一样网络或网段之间的数据信息进行“翻译”,以使它们可以相互“读”懂对方的数据,从而构成一个更大的网络。 路由器有两大典型功能,即数据通道功能和控制功能。数据通道功能包括转发决定、背板转发以及输出链路调度等,通常由特定的硬件来完成;控制功能通常用软件来实现,包括与相邻路由器之间的信息交换、系统配置、系统管理等。
多少年来,路由器的发展有起有伏。90年代中期,传统路由器成为制约因特网发展的瓶颈。ATM交换机取而代之,成为IP骨干网的核心,路由器变成了配角。进入90年代末期,Internet规模进一步扩大,流量每半年翻一番,ATM网又成为瓶颈,路由器东山再起,Gbps路由交换机在1997年面世后,人们又开始以Gbps路由交换机取代ATM交换机,架构以路由器为核心的骨干网。
附:路由器原理及路由协议 近十年来,随着计算机网络规模的不断扩大,大型互联网络(如Internet)的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。用户的需求推进着路由技术的发展和路由器的普及,人们已经不知足于仅在本地网络上共享信息,而但愿最大限度地利用全球各个地区、各类类型的网络资源。而在目前的状况下,任何一个有必定规模的计算机网络(如企业网、校园网、智能大厦等),不管采用的是快速以大网技术、FDDI技术,仍是ATM技术,都离不开路由器,不然就没法正常运做和管理。
1 网络互连 把本身的网络同其它的网络互连起来,从网络中获取更多的信息和向网络发布本身的消息,是网络互连的最主要的动力。网络的互连有多种方式,其中使用最多的是网桥互连和路由器互连。
1.1 网桥互连的网络
网桥工做在OSI模型中的第二层,即链路层。完成数据帧(frame)的转发,主要目的是在链接的网络间提供透明的通讯。网桥的转发是依据数据帧中的源地址和目的地址来判断一个帧是否应转发和转发到哪一个端口。帧中的地址称为“MAC”地址或“硬件”地址,通常就是网卡所带的地址。
网桥的做用是把两个或多个网络互连起来,提供透明的通讯。网络上的设备看不到网桥的存在,设备之间的通讯就如同在一个网上同样方便。因为网桥是在数据帧上进行转发的,所以只能链接相同或类似的网络(相同或类似结构的数据帧),如以太网之间、以太网与令牌环(token ring)之间的互连,对于不一样类型的网络(数据帧结构不一样),如以太网与X.25之间,网桥就无能为力了。
网桥扩大了网络的规模,提升了网络的性能,给网络应用带来了方便,在之前的网络中,网桥的应用较为普遍。但网桥互连也带来了很多问题:一个是广播风暴,网桥不阻挡网络中广播消息,当网络的规模较大时(几个网桥,多个以太网段),有可能引发广播风暴(broadcasting storm),致使整个网络全被广播信息充满,直至彻底瘫痪。第二个问题是,当与外部网络互连时,网桥会把内部和外部网络合二为一,成为一个网,双方都自动向对方彻底开放本身的网络资源。这种互连方式在与外部网络互连时显然是难以接受的。问题的主要根源是网桥只是最大限度地把网络沟通,而无论传送的信息是什么。
1.2 路由器互连网络
路由器互连与网络的协议有关,咱们讨论限于TCP/IP网络的状况。
路由器工做在OSI模型中的第三层,即网络层。路由器利用网络层定义的“逻辑”上的网络地址(即IP地址)来区别不一样的网络,实现网络的互连和隔离,保持各个网络的独立性。路由器不转发广播消息,而把广播消息限制在各自的网络内部。发送到其余网络的数据茵先被送到路由器,再由路由器转发出去。
IP路由器只转发IP分组,把其他的部分挡在网内(包括广播),从而保持各个网络具备相对的独立性,这样能够组成具备许多网络(子网)互连的大型的网络。因为是在网络层的互连,路由器可方便地链接不一样类型的网络,只要网络层运行的是IP协议,经过路由器就可互连起来。
网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通讯。IP地址是与硬件地址无关的“逻辑”地址。路由器只根据IP地址来转发数据。IP地址的结构有两部分,一部分定义网络号,另外一部分定义网络内的主机号。目前,在Internet网络中采用子网掩码来肯定IP地址中网络地址和主机地址。子网掩码与IP地址同样也是32bit,而且二者是一一对应的,并规定,子网掩码中数字为“1”所对应的IP地址中的部分为网络号,为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个网络中的主机IP地址,其网络号必须是相同的,这个网络称为IP子网。
通讯只能在具备相同网络号的IP地址之间进行,要与其它IP子网的主机进行通讯,则必须通过同一网络上的某个路由器或网关(gateway)出去。不一样网络号的IP地址不能直接通讯,即便它们接在一块儿,也不能通讯。
路由器有多个端口,用于链接多个IP子网。每一个端口的IP地址的网络号要求与所链接的IP子网的网络号相同。不一样的端口为不一样的网络号,对应不一样的IP子网,这样才能使各子网中的主机经过本身子网的IP地址把要求出去的IP分组送到路由器上
2 路由原理
当IP子网中的一台主机发送IP分组给同一IP子网的另外一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不一样IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。若是没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(default gateway)”的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。
路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端口,把IP分组送出去。同主机同样,路由器也要断定端口所接的是不是目的子网,若是是,就直接把分组经过端口送到网络上,不然,也要选择下一个路由器来传送分组。路由器也有它的缺省网关,用来传送不知道往哪儿送的IP分组。这样,经过路由器把知道如何传送的IP分组正确转发出去,不知道的IP分组送给“缺省网关”路由器,这样一级级地传送,IP分组最终将送到目的地,送不到目的地的IP分组则被网络丢弃了。
目前TCP/IP网络,所有是经过路由器互连起来的,Internet就是成千上万个IP子网经过路由器互连起来的国际性网络。这种网络称为以路由器为基础的网络(router based network),造成了以路由器为节点的“网间网”。在“网间网”中,路由器不只负责对IP分组的转发,还要负责与别的路由器进行联络,共同肯定“网间网”的路由选择和维护路由表。
路由动做包括两项基本内容:寻径和转发。寻径即断定到达目的地的最佳路径,由路由选择算法来实现。因为涉及到不一样的路由选择协议和路由选择算法,要相对复杂一些。为了断定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不一样信息填入路由表中,根据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。路由器间互通讯息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路径。这就是路由选择协议(routing protocol),例如路由信息协议(RIP)、开放式最短路径优先协议(OSPF)和边界网关协议(BGP)等。
转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否知道如何将分组发送到下一个站点(路由器或主机),若是路由器不知道如何发送分组,一般将该分组丢弃;不然就根据路由表的相应表项将分组发送到下一个站点,若是目的网络直接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协议(routed protocol)。
路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。下文中提到的路由协议,除非特别说明,都是指路由选择协议,这也是广泛的习惯。
3 路由协议
典型的路由选择方式有两种:静态路由和动态路由。
静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,不然静态路由不会发生变化。因为静态路由不能对网络的改变做出反映,通常用于网络规模不大、拓扑结构固定的网络中。静态路由的优势是简单、高效、可靠。在全部的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
动态路由是网络中的路由器之间相互通讯,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。若是路由更新信息代表发生了网络变化,路由选择软件就会从新计算路由,并发出新的路由更新信息。这些信息经过各个网络,引发各路由器从新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。固然,各类动态路由协议会不一样程度地占用网络带宽和CPU资源。
静态路由和动态路由有各自的特色和适用范围,所以在网络中动态路由一般做为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,若是查到则根据相应的静态路由转发分组;不然再查找动态路由。
根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。这里的自治域指一个具备统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内部网关协议,经常使用的有RIP、OSPF;外部网关协议主要用于多个自治域之间的路由选择,经常使用的是BGP和BGP-4。下面分别进行简要介绍。
3.1 RIP路由协议
RIP协议最初是为Xerox网络系统的Xerox parc通用协议而设计的,是Internet中经常使用的路由协议。RIP采用距离向量算法,即路由器根据距离选择路由,因此也称为距离向量协议。路由器收集全部可到达目的地的不一样路径,而且保存有关到达每一个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。
RIP使用很是普遍,它简单、可靠,便于配置。可是RIP只适用于小型的同构网络,由于它容许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达。并且RIP每隔30s一次的路由信息广播也是形成网络的广播风暴的重要缘由之一。
3.2 OSPF路由协议
80年代中期,RIP已不能适应大规模异构网络的互连,0SPF随之产生。它是网间工程任务组织(1ETF)的内部网关协议工做组为IP网络而开发的一种路由协议。
0SPF是一种基于链路状态的路由协议,须要每一个路由器向其同一管理域的全部其它路由器发送链路状态广播信息。在OSPF的链路状态广播中包括全部接口信息、全部的量度和其它一些变量。利用0SPF的路由器首先必须收集有关的链路状态信息,并根据必定的算法计算出到每一个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。
与RIP不一样,OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:当源和目的地在同一区时,采用区内路由选择;当源和目的地在不一样区时,则采用区间路由选择。这就大大减小了网络开销,并增长了网络的稳定性。当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工做,这也给网络的管理、维护带来方便。
3.3 BGP和BGP-4路由协议
BGP是为TCP/IP互联网设计的外部网关协议,用于多个自治域之间。它既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。它的主要功能是与其它自治域的BGP交换网络可达信息。各个自治域能够运行不一样的内部网关协议。BGP更新信息包括网络号/自治域路径的成对信息。自治域路径包括到达某个特定网络须通过的自治域串,这些更新信息经过TCP传送出去,以保证传输的可靠性。
为了知足Internet日益扩大的须要,BGP还在不断地发展。在最新的BGp4中,还能够将类似路由合并为一条路由。
3.4 路由表项的优先问题
在一个路由器中,可同时配置静态路由和一种或多种动态路由。它们各自维护的路由表都提供给转发程序,但这些路由表的表项间可能会发生冲突。这种冲突可经过配置各路由表的优先级来解决。一般静态路由具备默认的最高优先级,当其它路由表表项与它矛盾时,均按静态路由转发。
4 路由算法
路由算法在路由协议中起着相当重要的做用,采用何种算法每每决定了最终的寻径结果,所以选择路由算法必定要仔细。一般须要综合考虑如下几个设计目标:
——(1)最优化:指路由算法选择最佳路径的能力。
——(2)简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能。
——(3)坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载太高或操做失误时,都能正确运行。因为路由器分布在网络联接点上,因此在它们出故障时会产生严重后果。最好的路由器算法一般能经受时间的考验,并在各类网络环境下被证明是可靠的。
——(4)快速收敛:收敛是在最佳路径的判断上全部路由器达到一致的过程。当某个网络事件引发路由可用或不可用时,路由器就发出更新信息。路由更新信息遍布整个网络,引起从新计算最佳路径,最终达到全部路由器一致公认的最佳路径。收敛慢的路由算法会形成路径循环或网络中断。
——(5)灵活性:路由算法能够快速、准确地适应各类网络环境。例如,某个网段发生故障,路由算法要能很快发现故障,并为使用该网段的全部路由选择另外一条最佳路径。
路由算法按照种类可分为如下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。前面几种的特色与字面意思基本一致,下面着重介绍链路状态和距离向量算法。
链路状态算法(也称最短路径算法)发送路由信息到互联网上全部的结点,然而对于每一个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。距离向量算法(也称为Bellman-Ford算法)则要求每一个路由器发送其路由表所有或部分信息,但仅发送到邻近结点上。从本质上来讲,链路状态算法将少许更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。
因为链路状态算法收敛更快,所以它在必定程度上比距离向量算法更不易产生路由循环。但另外一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间,所以链路状态算法将会在实现时显得更昂贵一些。除了这些区别,两种算法在大多数环境下都能很好地运行。
最后须要指出的是,路由算法使用了许多种不一样的度量标准去决定最佳路径。复杂的路由算法可能采用多种度量来选择路由,经过必定的加权运算,将它们合并为单个的复合度量、再填入路由表中,做为寻径的标准。一般所使用的度量有:路径长度、可靠性、时延、带宽、负载、通讯成本等
5 新一代路由器
因为多媒体等应用在网络中的发展,以及ATM、快速以太网等新技术的不断采用,网络的带宽与速率飞速提升,传统的路由器已不能知足人们对路由器的性能要求。由于传统路由器的分组转发的设计与实现均基于软件,在转发过程当中对分组的处理要通过许多环节,转发过程复杂,使得分组转发的速率较慢。另外,因为路由器是网络互连的关键设备,是网络与其它网络进行通讯的一个“关口”,对其安全性有很高的要求,所以路由器中各类附加的安全措施增长了CPU的负担,这样就使得路由器成为整个互联网上的“瓶颈”。
传统的路由器在转发每个分组时,都要进行一系列的复杂操做,包括路由查找、访问控制表匹配、地址解析、优先级管理以及其它的附加操做。这一系列的操做大大影响了路由器的性能与效率,下降了分组转发速率和转发的吞吐量,增长了CPU的负担。而通过路由器的先后分组间的相关性很大,具备相同目的地址和源地址的分组每每连续到达,这为分组的快速转发提供了实现的可能与依据。新一代路由器,如IP Switch、Tag Switch等,就是采用这一设计思想用硬件来实现快速转发,大大提升了路由器的性能与效率。
新一代路由器使用转发缓存来简化分组的转发操做。在快速转发过程当中,只需对一组具备相同目的地址和源地址的分组的前几个分组进行传统的路由转发处理,并把成功转发的分组的目的地址、源地址和下一网关地址(下一路由器地址)放人转发缓存中。当其后的分组要进行转发时,茵先查看转发缓存,若是该分组的目的地址和源地址与转发缓存中的匹配,则直接根据转发缓存中的下一网关地址进行转发,而无须通过传统的复杂操做,大大减轻了路由器的负担,达到了提升路由器吞吐量的目标。
|
|
第七个:什么是肉鸡
肉鸡就是具备最高管理权限的远程电脑。简单的说就是受你控制的远程电脑。肉鸡能够是win、Unix/Linux……等各类系统;肉鸡能够是一家公司的服务器,一家网站的服务器,甚至是美国白宫或军方的电脑,只要你有这本事入侵并控制他,呵呵。莱鸟所说用的肉鸡通常是开了3389端口的Win2K系统的服务器。
要登录肉鸡,必须知道3个参数:远程电脑的IP、用户名、密码。
第八个:什么是shell
操做系统与外部最主要的接口就叫作shell。shell是操做系统最外面的一层。shell管理你与操做系统之间的交互:等待你输入,向操做系统解释你的输入,而且处理各类各样的操做系统的输出结果。
shell提供了你与操做系统之间通信的方式。这种通信能够以交互方式(从键盘输入,而且能够当即获得响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操做系统命令,它们能够被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
Shell基本上是一个命令解释器,相似于DOS下的command.com。它接收用户命令(如ls等),而后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。
交互式shell和非交互式shell
交互式模式就是shell等待你的输入,而且执行你提交的命令。这种模式被称做交互式是由于shell与用户进行交互。这种模式也是大多数用户很是熟悉的:登陆、执行一些命令、签退。当你签退后,shell也终止了。
shell也能够运行在另一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,而且执行它们。当它读到文件的结尾,shell也就终止了。
shell的类型
在UNIX中主要有两大类shell
Bourne shell (包括 sh, ksh, and bash)
Bourne shell ( sh)
Korn shell ( ksh)
Bourne Again shell ( bash)
POSIX shell ( sh)
C shell (包括 csh and tcsh)
C shell ( csh)
TENEX/TOPS C shell ( tcsh)
Bourne Shell
最初的UNIX shell是由Stephen R. Bourne于20世纪70年代中期在新泽西的AT&T贝尔实验室编写的,这就是Bourne shell。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell 能够运行为login shell或者login shell的子shell(subshell)。只有login命令能够调用Bourne shell做为一个login shell。此时,shell先读取/etc/profile文件和$HOME/.profile文件。/etc/profile文件为全部的用户定制环境,$HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。
C Shell
Bill Joy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、做业控制等功能。
Korn Shell
有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种情况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了全部的C shell的交互式特性,并融入了Bourne shell的语法。所以,Korn shell广受用户的欢迎。它还新增了数学计算,进程协做(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言.它符合POSIX——一个操做系统的国际标准.POSIX不是一个操做系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。
Bourne Again Shell (bash)
bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat, Slackware, Caldera)都以bash做为缺省的shell,而且运行sh时,其实调用的是bash。
POSIX Shell
POSIX shell 是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0 , POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh.
各主要操做系统下缺省的shell:
AIX 下是Korn Shell.
Solaris和FreeBSD缺省的是Bourne shell.
HP-UX缺省的是POSIX shell.
Linux是Bourne Again shell.
【TIP】
#!/usr/bin/sh的用途
shell script的第一行通常都是#!/usr/bin/sh或#!/usr/bin/ksh等,它的用途就是指出本脚本是用的哪一种shell写的,执行时系统应该用哪一种shell来解释执行它。
附:LINUX系统的shell原理
Linux系统的shell做为操做系统的外壳,为用户提供使用操做系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。
shell是用户和Linux内核之间的接口程序,若是把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其余程序向Linux传递命令时,内核会作出相应的反应。 shell是一个命令语言解释器,它拥有本身内建的shell命令集,shell也能被系统中其余应用程序所调用。用户在提示符下输入的命令都由shell先解释而后传给Linux核心。
有一些命令,好比改变工做目录命令cd,是包含在shell内部的。还有一些命令,例如拷贝命令cp和移动命令rm,是存在于文件系统中某个目录下的单独的程序。对用户而言,没必要关心一个命令是创建在shell内部仍是一个单独的程序。
shell首先检查命令是不是内部命令,若不是再检查是不是一个应用程序(这里的应用程序能够是Linux自己的实用程序,如ls和rm,也能够是购买的商业程序,如xv,或者是自由软件,如emacs)。而后shell在搜索路径里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。若是键入的命令不是一个内部命令而且在路径里没有找到这个可执行文件,将会显示一条错误信息。若是可以成功找到命令,该内部命令或应用程序将被分解为系统调用并传给Linux内核。
shell的另外一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。
当普通用户成功登陆,系统将执行一个称为shell的程序。正是shell进程提供了命令行提示符。做为默认值(TurboLinux系统默认的shell是BASH),对普通用户用“$”做提示符,对超级用户(root)用“#”做提示符。
一旦出现了shell提示符,就能够键入命令名称及命令所须要的参数。shell将执行这些命令。若是一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,能够从键盘上按ctrl+c发出中断信号来中断它(在正常结束以前,停止它的执行)。
当用户准备结束登陆对话进程时,能够键入logout命令、exit命令或文件结束符(EOF)(按ctrl+d实现),结束登陆。
咱们来实习一下shell是如何工做的。
$ make work
make:***No rule to make target ‘work’. Stop.
$
注释:make是系统中一个命令的名字,后面跟着命令参数。在接收到这个命令后,shell便执行它。本例中,因为输入的命令参数不正确,系统返回信息后中止该命令的执行。
在例子中,shell会寻找名为make的程序,并以work为参数执行它。make是一个常常被用来编译大程序的程序,它以参数做为目标来进行编译。在“make work”中,make编译的目标是work。由于make找不到以work为名字的目标,它便给出错误信息表示运行失败,用户又回到系统提示符下。
另外,用户键入有关命令行后,若是shell找不到以其中的命令名为名字的程序,就会给出错误信息。例如,若是用户键入:
$ myprog
bash:myprog:command not found
$
能够看到,用户获得了一个没有找到该命令的错误信息。用户敲错命令后,系统通常会给出这样的错误信息。
#10 这个重点看!!!
第九个:什么是端口?
在开始讲什么是端口以前,咱们先来聊一聊什么是 port 呢?经常在网络上据说『个人主机开了多少的 port ,会不会被入侵呀!?』或者是说『开那个 port 会比较安全?又,个人服务应该对应什么 port 呀!?』呵呵!很神奇吧!怎么一部主机上面有这么多的奇怪的 port 呢?这个 port 有什么做用呢?!
因为每种网络的服务功能都不相同,所以有必要将不一样的封包送给不一样的服务来处理,因此啰,当你的主机同时开启了 FTP 与 WWW 服务的时候,那么别人送来的资料封包,就会依照 TCP 上面的 port 号码来给 FTP 这个服务或者是 WWW 这个服务来处理,固然就不会搞乱啰!(注:嘿嘿!有些不多接触到网络的朋友,经常会问说:『咦!为何你的计算机同时有 FTP、WWW、E-Mail 这么多服务,可是人家传资料过来,你的计算机怎么知道如何判断?计算机真的都不会误判吗?!』如今知道为何了吗?!对啦!就是由于 port 不一样嘛!你能够这样想啦,有一天,你要去银行存钱,那个银行就能够想成是『主机』,而后,银行固然不可能只有一种业务,里头就有至关多的窗口,那么你一进大门的时候,在门口的服务人员就会问你说:『嗨!你好呀!你要作些什么事?』你跟他说:『我要存钱呀!』,服务员接着就会告诉你:『喝!那么请前往三号窗口!那边的人员会帮您服务!』这个时候你总该不会往其它的窗口跑吧?! ^_^/"/"这些窗口就能够想成是『 port 』啰!因此啦!每一种服务都有特定的 port 在监听!您无须担忧计算机会误判的问题呦!)
· 每个 TCP 联机都必须由一端(一般为 client )发起请求这个 port 一般是随机选择大于 1024 以上的 port 号来进行!其 TCP 封包会将(且只将) SYN 旗标设定起来!这是整个联机的第一个封包;
· 若是另外一端(一般为 Server ) 接受这个请求的话(固然啰,特殊的服务须要以特殊的 port 来进行,例如 FTP 的 port 21 ),则会向请求端送回整个联机的第二个封包!其上除了 SYN 旗标以外同时还将 ACK 旗标也设定起来,并同时时在本机端创建资源以待联机之需;
· 而后,请求端得到服务端第一个响应封包以后,必须再响应对方一个确认封包,此时封包只带 ACK 旗标(事实上﹐后继联机中的全部封包都必须带有 ACK 旗标)﹔
· 只有当服务端收到请求端的确认( ACK )封包(也就是整个联机的第三个封包)以后﹐两端的联机才能正式创建。这就是所谓的 TCP 联机的/'三段式交握( Three-Way Handshake )/'的原理。
通过三向交握以后,呵呵!你的 client 端的 port 一般是高于 1024 的随机取得的 port 至于主机端则视当时的服务是开启哪个 port 而定,例如 WWW 选择 80 而 FTP 则以 21 为正常的联机信道!
总而言之,咱们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念.工具提供服务类型的不一样,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通讯的时候,分为两种方式:一种是发送信息之后,能够确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送之后就无论了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议姆裉峁┑亩丝冢簿头治猅CP端口和UDP端口。 那么,若是攻击者使用软件扫描目标计算机,获得目标计算机打开的端口,也就了解了目标计算机提供了那些服务。咱们都知道,提供服务就必定有服务软件的漏洞,根据这些,攻击者能够达到对目标计算机的初步了解。若是计算机的端口打开太多,而管理者不知道,那么,有两种状况:一种是提供了服务而管理者没有注意,好比安装IIS的时候,软件就会自动增长不少服务,而管理员可能没有注意到;一种是服务器被攻击者安装木马,经过特殊的端口进行通讯。这两种状况都是很危险的,说到底,就是管理员不了解服务器提供的服务,减少了系统安全系数。
|
#11
第十个:什么是扫描 (但愿你们主动提出想了解什么?)
若是你的机子连入互联网,那么你就有被扫描的危险。这里要给你们介绍的就是:什么是扫描,为何有人要扫描,以及有趣的秘密握手机制和不一样的扫描技术。
扫描一个系统或者一个网络,一般是为了发现这个被扫描的对象在提供哪些服务。扫描者能够分红两种类型,一种是“好人”:好比系统管理员和网络安全顾问,他们扫描的目的纯粹是外了找出系统的缺陷或漏洞,进而想办法弥补。固然另外一类的就只能是“坏人”了,好比有“脚本小孩”或者更“坏”的,他们的目的是为了找出漏洞,进而实施攻击。
扫描就象是去一栋公寓而后挨家敲门看谁在家。你是否在运行一个WEB服务器,或者邮件服务器、BIND、Telnet、FTP、RPC等等。这些问题的答案扫描均可以给出。遗憾的是,这些答案一般很明显的暴露在外,使得那些技术不是很高明的人能够垂手可得的进去“参观”。
固然,我这里指的并不是是那些极为高明,技术顶尖的黑客,我指的是那些只知道如何从网络上下载文件或收发EMAIL的大学生,固然中学生也不例外,他们一般被称为“脚本孩子”,由于他们并无高深的技术知识做后盾,仅仅是经过运行别人写出的脚本程序来扫描或攻击别人的系统。 除了这些能够随意下载的脚本外,攻击者一般还会下载一个叫作端口扫描器的软件工具。这种工具较旧的好比有ISS,较新的则如NMAP2.54的BETA22.1等。若是攻击者能够在你的系统中找到一个明显的漏洞,那么完了,你的系统很快将会属于他了,并且,扫描并不犯法,它并非抢劫,你还无处申诉。
现在,“坏人”的扫描一般会遇到这样的问题,就是他们扫描过的系统每每会记录扫描行为所利用的每个链接信息,或许扫描的人的确很浅薄,没有意识到在他们扫描过程当中会在系统中留下“犯罪”的记录,但稍微留意的人都会想法抹除他们的犯罪记录。有不少方法能够达到这个目的。好比,许多黑客经过他预先攻击过的主机来扫描远程主机,这样,即便被扫描的主机记录了这一信息,逆向搜索的人能知道的也仅限于黑客预先攻击过的主机,真正的黑客信息并不能找到。这里介绍的秘密扫描就属于这样一种扫描方式,它使得逆向搜索变的更为困难,由于它的工做机制甚至不须要创建链接。
为了理解什么是秘密扫描以及它的工做原理,你首先应该对TCP/IP数据包的内容以及TCP的秘密握手机制有所了解。除了携带发送和接收方的IP地址和端口号外,TCP的报头还包含一个序列号和一些起着特殊做用的标记位。这里仅提到其中的三个标记位:SYN,ACK和FIN。由于它们三个的做用与这里讨论的主题密切相关。
当系统间彼此说“HELLO”或道“GOODBYE”时,就会用到所谓的握手机制。让咱们先看看如何利用TCP/IP的握手机制来创建一个链接。本文中所提到的链接均指的是发生在两个IP地址间,有必定的端口号的链接。当你想网上冲浪,或者想TELNET到远程主机时,三次握手机制就会为你生成一个这样的链接。
它的工做原理大体以下:握手的第一步,一台计算机首先请求和另一台计算机创建链接,它经过发送一个SYN请求来完成,也即将前面提到的SYN标记位置位。消息的内容就象是说:“HI,听着,我想和你的机子端口X上的服务说话,我们先同步一下,我用序列号Y来开始链接。” 端口X表示了链接的服务类型。至于哪些端口支持哪些类型的服务,能够参考UNIX下面的/etc/services文件。两台计算机间的每条信息都有一个由发送方产生的序列号,序列号的使用使得双方知道他们之间是同步的,并且还能够起到丢失信息时或接收顺序错误时发送警告信息的做用。
握手的第二步,接收到SYN请求的计算机响应发送来的序列号,它会将ACK标记位置位,同时它也提供本身的序列号,这个作法相似于说:OH,亲爱的,我已经收到了你的号码,这是个人号码。
到如今为止,发起链接创建请求的计算机认为链接已经创建起来,然而对方却并不这样认为,对方还要等到它本身的序列号有了应答后才能确认链接创建起来。所以如今的状态能够称为“半链接”。若是发起链接请求的计算机不对收到的序列号做出应答,那么这个链接就永远也创建不起来,而正由于没有创建链接,因此系统也不会对此次链接作任何记录。
握手的第三步,发起链接请求的计算机对收到的序列号做出应答,这样,两台计算机之间的链接才算创建起来。
两台计算机说”GOODBYE“时的握手状况与此相似:当一台计算机说没有更多的数据须要发送了,它发送一个FIN信号(将FIN标记位置位)通知另外一端,接收到FIN的另外一端计算机可能发送完了数据,也可能没发送完,但它会对此做出应答,而当它真正完成全部须要发送的数据后,它会再发送一个本身的FIN信号,等对方对此做出应答后,链接才完全解除。
FIN秘密扫描的工做原理就是向它的目的地一个根本不存在的链接发送FIN信息,若是这项服务没有开,那么目的地会响应一条错误信息,但若是是有这项服务,那么它将忽略这条消息。这样,扫描者的问题“你运行X吗”就有了答案,并且还不会在系统中有所记录。
还有两种其余的扫描手段值得注意。一种叫作圣诞树扫描,由于,它将全部的标记位都置位(不只仅是SYN,ACK,FIN);另外一种叫作空扫描,由于全部的标记位都被复位。这些秘密的扫描行为将会根据接收端所运行的平台不一样而产生不一样的错误响应信息。
现代的端口扫描工具,象NMAP就是利用这样的原理来检测在一个系统上有那些服务是开着的。NMAP不光是最著名的,同时也是最出色的端口扫描工具。它被系统管理人员和“坏人”们普遍的应用,有关NMAP的介绍,你们能够经过搜索引擎去查找相关的资料。
++++++++不过对于扫描工具来讲,菜鸟们用Scan和流光比较简单,功能也不错!+++++++++
|
#12
第十一个:什么是钩子函数
WINDOWS的钩子函数能够认为是WINDOWS的主要特性之一。利用它们,您能够捕捉您本身进程或其它进程发生的事件。经过“钩挂”,您能够给WINDOWS一个处理或过滤事件幕氐骱煤步凶觥肮匙雍保泵看畏⑸行巳さ氖录保琖INDOWS都将调用该函数。一共有两种类型的钩子:局部的和远程的。 局部钩子仅钩挂您本身进程的事件。 远程的钩子还能够将钩挂其它进程发生的事件。远程的钩子又有两种: 基于线程的 它将捕获其它进程中某一特定线程的事件。简言之,就是能够用来观察其它进程中的某一特定线程将发生的事件。 系统范围的 将捕捉系统中全部进程将发生的事件消息。 当您建立一个钩子时,WINDOWS会先在内存中建立一个数据结构,该数据结构包含了钩子的相关信息,而后把该结构体加到已经存在的钩子链表中去。新的钩子将加到老的前面。当一个事件发生时,若是您安装的是一个局部钩子,您进程中的钩子函数将被调用。若是是一个远程钩子,系统就必须把钩子函数插入到其它进程的地址空间,要作到这一点要求钩子函数必须在一个动态连接库中,因此若是您想要使用远程钩子,就必须把该钩子函数放到动态连接库中去。固然有两个例外:工做日志钩子和工做日志回放钩子。这两个钩子的钩子函数必须在安装钩子的线程中。缘由是:这两个钩子是用来监控比较底层的硬件事件的,既然是记录和回放,全部的事件就固然都是有前后次序的。因此若是把回调函数放在DLL中,输入的事件被放在几个线程中记录,因此咱们没法保证获得正确的次序。故解决的办法是:把钩子函数放到单个的线程中,譬如安装钩子的线程。 钩子一共有14种,如下是它们被调用的时机: WH_CALLWNDPROC 当调用SendMessage时 WH_CALLWNDPROCRET 当SendMessage的调用返回时 WH_GETMESSAGE 当调用GetMessage 或 PeekMessage时 WH_KEYBOARD 当调用GetMessage 或 PeekMessage 来从消息队列中查询WM_KEYUP 或 WM_KEYDOWN 消息时 WH_MOUSE 当调用GetMessage 或 PeekMessage 来从消息队列中查询鼠标事件消息时 WH_HARDWARE 当调用GetMessage 或 PeekMessage 来从消息队列种查询非鼠标、键盘消息时 WH_MSGFILTER 当对话框、菜单或滚动条要处理一个消息时。该钩子是局部的。它时为那些有本身的消息处理过程的控件对象设计的。 WH_SYSMSGFILTER 和WH_MSGFILTER同样,只不过是系统范围的 WH_JOURNALRECORD 当WINDOWS从硬件队列中得到消息时 WH_JOURNALPLAYBACK 当一个事件从系统的硬件输入队列中被请求时 WH_SHELL 当关于WINDOWS外壳事件发生时,譬如任务条须要重画它的按钮. WH_CBT 当基于计算机的训练(CBT)事件发生时 WH_FOREGROUNDIDLE 由WINDOWS本身使用,通常的应用程序不多使用 WH_DEBUG 用来给钩子函数除错
附:如何使用钩子函数(接收到字母A按下时,窗体由最小化弹出的完整的代码) Public Declare Function CallNextHookEx Lib /"user32/" _ (ByVal hHook As Long, _ ByVal nCode As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib /"user32/" _ (ByVal hHook As Long) As Long
Public Declare Function SetWindowsHookEx Lib /"user32/" _ Alias /"SetWindowsHookExA/" _ (ByVal idHook As Long, _ ByVal lpfn As Long, _ ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long
Public Const WH_KEYBOARD = 2
Public Const KEY_WINSTART = 91 Public Const KEY_WINMENU = 93
Global hHook As Long
Public Function KeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If nCode >= 0 Then If wParam = KEY_WINMENU Or wParam = KEY_WINSTART Then If (lParam And &HC0000000) = 0 Then MsgBox /"/", , /"/" KeyboardProc = 1 Exit Function End If End If End If KeyboardProc = CallNextHookEx(hHook, nCode, wParam, lParam) End Function
Option Explicit
Private Sub Command1_Click() Form2.Show 1
End Sub
Private Sub Form_Load() hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, 0&, App.ThreadID) Me.Show End Sub
Private Sub Form_Unload(Cancel As Integer) Call UnhookWindowsHookEx(hHook) End Sub 第十二个:什么是加壳和脱壳!
加壳:实际上是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。相似WINZIP 的效果,只不过这个压缩以后的文件,能够独立运行,解压过程彻底隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压本身。如今的CPU都很快,因此这个解压过程你看不出什么东东。软件一会儿就打开了,只有你机器配置很是差,才会感受到不加壳和加壳后的软件运行速度的差异。当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,之后的就交给真正的程序。因此,这些的工做只是在内存中运行的,是不能够了解具体是怎么样在内存中运行的。一般说的对外壳加密,都是指不少网上免费或者非免费的软件,被一些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。由于有的时候程序会过大,须要压缩。可是大部分的程序是由于防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。
脱壳,是彻底破除压缩后软件没法编辑的限制,去掉头部的解压缩指令,而后解压出加壳前的完整软件。这样,你就能够对其“动刀”了。呵呵~~固然是和加壳相反哟。从字面上也该明白了吧,我就很少说了~~
|
#14
第十三个:什么是代理服务器
代理有不少种解释,而咱们经常提到的代理,从计算机专业角度来讲就是指代理服务器相关,针对syx-kn 的提问,我先把代理服务器向你们简单的介绍一下吧!! 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在通常状况下,咱们使用网络浏览器直接去链接其余Internet站点取得网络信息时,须送出Request信号来获得回答,而后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它以后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所须要的信息并传送给你的浏览器。并且,大部分代理服务器都具备缓冲的功能,就好象一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,若是浏览器所请求的数据在它本机的存储器上已经存在并且是最新的,那么它就不从新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提升浏览速度和效率。更重要的是:Proxy Server (代理服务器)是 Internet链路级网关所提供的一种重要的安全功能,它的工做主要在开放系统互联 (OSI) 模型的对话层。 代理服务器(Proxy Server)就是我的网络和因特网服务商之间的中间代理机构,它负责转发合法的网络信息,并对转发进行控制和登记。在使用网络浏览器浏览网络信息的时候,若是使用代理服务器,浏览器就不是直接到Web服务器去取回网页,而是向代理服务器发出请求,由代理服务器取回浏览器所须要的信息。目前使用的因特网是一个典型的客户机/服务器结构,当用户的本地机与因特网链接时,经过本地机的客户程序好比浏览器或者软件下载工具发出请求,远端的服务器在接到请求以后响应请求并提供相应的服务。 代理服务器处在客户机和服务器之间,对于远程服务器而言,代理服务器是客户机,它向服务器提出各类服务申请;对于客户机而言,代理服务器则是服务器,它接受客户机提出的申请并提供相应的服务。也就是说,客户机访问因特网时所发出的请求再也不直接发送到远程服务器,而是被送到了代理服务器上,代理服务器再向远程的服务器提出相应的申请,接收远程服务器提供的数据并保存在本身的硬盘上,而后用这些数据对客户机提供相应的服务。
讲了这么多,其实对于菜鸟们所提的代理,主要是应用,这里我再附加上设置代理服务器的方法: IE4.01:菜单栏“查看”-> 下拉菜单“Internet选项”-> 选项卡“链接”-> 在“代理服务器”一栏选中“经过代理服务器访问Internet”,输入地址和端口号。-> 肯定。
IE 5.0:菜单栏“工具”-> 下拉菜单“Internet选项”-> 选项卡“链接”-> 在“拨号设置”中选中您目前使用的链接,而后点击右侧的“设置”-> 在中间的“代理服务器”栏选中“使用代理服务器”-> 在“地址”和“端口”栏输入HTTP代理服务器地址和端口-> 肯定 -> 肯定。
#15
第十四个:什么是协议
协议就是对计算机之间链接的信息格式、能被收/发双方接受的传送信息内容的一组定义。协议有“多层”结构,高层协议如IPX或TCP/IP负责点到点传送信息包,较低层协议提供专门的信息和命令容许系统操做。
#16
第十五个:什么是数据包
“包”(Packet)是TCP/IP协议通讯传输中的数据单位,通常也称“数据包”。有人说,局域网中传输的不是“帧”(Frame)吗?没错,可是TCP/IP协议是工做在OSI模型第三层(网络层)、第四层(传输层)上的,而帧是工做在第二层(数据链路层)。上一层的内容由下一层的内容来传输,因此在局域网中,“包”是包含在“帧”里的。 名词解释:OSI(Open System Interconnection,开放系统互联)模型是由国际标准化组织(ISO)定义的标准,它定义了一种分层体系结构,在其中的每一层定义了针对不一样通讯级别的协议。OSI模型有7层,17层分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。OSI模型在逻辑上可分为两个部分:低层的14层关注的是原始数据的传输;高层的57层关注的是网络下的应用程序。
咱们能够用一个形象一些的例子对数据包的概念加以说明:咱们在邮局邮寄产品时,虽然产品自己带有本身的包装盒,可是在邮寄的时候只用产品原包装盒来包装显然是不行的。必须把内装产品的包装盒放到一个邮局指定的专用纸箱里,这样才可以邮寄。这里,产品包装盒至关于数据包,里面放着的产品至关于可用的数据,而专用纸箱就至关于帧,且一个帧中只有一个数据包。
“包”听起来很是抽象,那么是否是不可见的呢?经过必定技术手段,是能够感知到数据包的存在的。好比在Windows 2000 Server中,把鼠标移动到任务栏右下角的网卡图标上(网卡须要接好双绞线、连入网络),就能够看到“发送:××包,收到:××包”的提示。经过数据包捕获软件,也能够将数据包捕获并加以分析。
(见:附件图)就是用数据包捕获软件Iris捕获到的数据包的界面图,在此,你们能够很清楚地看到捕获到的数据包的MAC地址、IP地址、协议类型端口号等细节。经过分析这些数据,网管员就能够知道网络中到底有什么样的数据包在活动了。
附: 数据包的结构 数据包的结构很是复杂,不是三言两语可以说清的,在这里咱们主要了解一下它的关键构成就能够了,这对于理解TCP/IP协议的通讯原理是很是重要的。数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成。 数据包的结构与咱们日常写信很是相似,目的IP地址是说明这个数据包是要发给谁的,至关于收信人地址;源IP地址是说明这个数据包是发自哪里的,至关于发信人地址;而净载数据至关于信件的内容。 正是由于数据包具备这样的结构,安装了TCP/IP协议的计算机之间才能相互通讯。咱们在使用基于TCP/IP协议的网络时,网络中其实传递的就是数据包。理解数据包,对于网络管理的网络安全具备相当重要的意义。 第十六个:什么是IPX
IPX(Internetwork Packet eXchange‘网络报文分组交换’)是Novell公司用于Netware网络操做系统的通讯协议。基于此协议可实现客户机/服务器模式的局域网,所以在局域网领域被普遍采用。随着Internet和Intranet的迅速发展,这种协议将被Internet的基本通讯协议TCP/IP协议取代,由于采用TCP/IP协议可创建更加简单而统一的信息交换平台。
#18
第十七个:什么是Internet/Intranet
Internet(国际互联网)是一个由各类不一样类型和规模的独立运行与管理的计算机网络组成的全球范围的计算机网络。组成Internet的计算机网络包括局域网(LAN)、城域网(MAN)以及大规模的广域网(WAN)等。这些网络经过普通电话线、高速率专用线路、卫星、微波和光缆等通讯线路把不一样国家的大学、公司、科研机构以及军事和政府等组织的网络链接起来。Internet网络互连采用的基本协议是TCP/IP。 任何一个地方的任意一个Internet用户均可以从Internet中得到任何方面的信息,如天然、社会、政治、历史、科技、教育、卫生、娱乐、政治决策、金融、商业和天气预报等等。
Intranet(内部网)指采用Internet技术创建的企业内部专用网络。它以TCP/IP协议做为基础,以Web为核心应用,构成统一各便利的信息交换平台。Intranet可实现的功能极为普遍和强大。
|
|
|
19
第十七个:什么是IRC(Internet转播交谈)?
IRC(Internet Relay Chat)是一种基于Internet的通讯协议,中文通常莆チ屑塘奶臁K怯煞依?人Jarkko Oikarinen于1988年独创的一种网络聊天协议。通过十年的发展,目前世界上有超过60个国家提供了IRC的服务。在人气最旺的EFnet上,您能够看到上万的使用者在同一时间使用IRC。
IRC采用客户机/服务器模式,它能使Internet用户实时地与其余用户交谈,每一个用户经过客户端程序与远程主机创建链接,远程主机接受多个来自客户端程序的链接,并实现多个用户之间的实时通话。在海湾战争期间,IRC受到了全世界的关注。当时以色列特拉维夫的居民们在空袭期间经过IRC方式,向世界各地的听众现场描述所发生的事件。
IRC的工做原理很是简单,您只要在本身的PC上运行客户端软件,而后经过因特网以 IRC协议链接到一台IRC服务器上便可。它的特色是速度很是之快,聊天时几乎没有延迟的现象,而且只占用很小的带宽资源。全部用户能够在一个被称为///"Channel///"(频道)的地方就某一话题进行交谈或密谈。每一个IRC的使用者都有一个Nickname(昵称),全部的沟通就在他们所在的Channel内以不一样的Nickname进行交谈。
IRC工具中国际上比较好用的是英文的mirc,在国内,比较好用的是中文的Chatkey。你能够到有关的网站下载。mirc的网址为:
http://www.mirc.com (英文),Chatkey的网址是:
http://www.chatkey.com (中文)。这里以中文的Chatkey为例,带你玩转IRC。
第十八个:什么是Ping
Ping是个使用频率极高的实用程序,用于肯定本地主机是否能与另外一台主机交换(发送与接收)数据报。根据返回的信息,你就能够推断TCP/IP参数是否设置得正确以及运行是否正常。须要注意的是:成功地与另外一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。
简单的说,Ping就是一个测试程序,若是Ping运行正确,你大致上就能够排除网络访问层、网卡、MODEM的输入输出线路、电缆和路由器等存在的故障,从而减少了问题的范围。但因为能够自定义所发数据报的大小及无休止的高速发送,Ping也被某些别有用心的人做为DDOS(拒绝服务攻击)的工具,曾经Yahoo就是被黑客利用数百台能够高速接入互联网的电脑连续发送大量Ping数据包而瘫痪的。
按照缺省设置,Windows上运行的Ping命令发送4个ICMP(网间控制报文协议)回颓肭螅扛?2字节数据,若是一切正常,你应能获得4个回送应答。
Ping可以以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。若是应答时间短,表示数据报没必要经过太多的路由器或网络链接速度比较快。Ping还能显示TTL(Time To Live存在时间)值,你能够经过TTL值推算一下数据包已经经过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回时TTL值。例如,返回TTL值为119,那么能够推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要经过9个路由器网段(128-119);若是返回TTL值为246,TTL起始值就是256,源地点到目标地点要经过9个路由器网段。
经过Ping检测网络故障的典型次序
正常状况下,当你使用Ping命令来查找问题所在或检验网络运行状况时,你须要使用许多Ping命令,若是全部都运行正确,你就能够相信基本的连通性和配置参数没有问题;若是某些Ping命令出现运行故障,它也能够指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:
ping 127.0.0.1--这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。若是没有作到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。
ping 本机IP--这个命令被送到你计算机所配置的IP地址,你的计算机始终都应该对该Ping命令做出应答,若是没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,而后从新发送该命令。若是网线断开后本命令正确,则表示另外一台计算机可能配置了相同的IP地址。
ping 局域网内其余IP--这个命令应该离开你的计算机,通过网卡及网络电缆到达其余计算机,再返回。收到回送应答代表本地网络中的网卡和载体运行正确。但若是收到0个回送应答,那么表示子网掩码(进行子网分割时,将IP地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。
ping 网关IP--这个命令若是应答正确,表示局域网中的网关路由器正在运行并可以做出应答。
ping 远程IP--若是收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示可以成功的访问Internet(但不排除ISP的DNS会有问题)。
ping localhost--localhost是个做系统的网络保留名,它是127.0.0.1的别名,每太计算机都应该可以将该名字转换成该地址。若是没有作到这一带内,则表示主机文件(/Windows/host)中存在问题。
ping
www.yahoo.com--对这个域名执行Ping命...是经过DNS服务器若是这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障(对于拨号上网用户,某些ISP已经不须要设置DNS服务器了)。顺便说一句:你也能够利用该命令实现域名对IP地址的转换功能。
若是上面所列出的全部Ping命令都能正常运行,那么你对你的计算机进行本地和远程通讯的功能基本上就能够放心了。可是,这些命令的成功并不表示你全部的网络配置都没有问题,例如,某些子网掩码错误就可能没法用这些方法检测到。
Ping命令的经常使用参数选项
ping IP -t--连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。
ping IP -l 2000--指定Ping命令中的数据长度为2000字节,而不是缺省的32字节。
ping IP -n--执行特定次数的Ping命令。
第十九个:什么是代码
代码是一组有序的数字或字母的排列,是表明客观实体及其属性的符号。
代码设计的原则包括唯一肯定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。
第二十个:什么是系统的进程
我先让朋友们了解一下在任务管理器里的进程。其实在谈到进程时,还要涉及到线程的概念。进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程以内独立执行的一个单元。对于操做系统而言,其调度单元是线程。一个进程至少包括一个线程,一般将该线程称为主线程。一个进程从主线程的执行开始进而建立一个或多个附加线程,就是所谓基于多线程的多任务。
那进程与线程的区别究竟是什么?进程是执行程序的实例。例如,当你运行记事本程序(Nodepad)时,你就建立了一个用来容纳组成Notepad.exe的代码及其所需调用动态连接库的进程。每一个进程均运行在其专用且受保护的地址空间内。所以,若是你同时运行记事本的两个拷贝,该程序正在使用的数据在各自实例中是彼此独立的。在记事本的一个拷贝中将没法看到该程序的第二个实例打开的数据。
我这里以沙箱为例进行阐述。一个进程就比如一个沙箱。线程就如同沙箱中的孩子们。孩子们在沙箱子中跑来跑去,而且可能将沙子攘到别的孩子眼中,他们会互相踢打或撕咬。可是,这些沙箱略有不一样之处就在于每一个沙箱彻底由墙壁和顶棚封闭起来,不管箱中的孩子如何狠命地攘沙,他们也不会影响到其它沙箱中的其余孩子。所以,每一个进程就象一个被保护起来的沙箱。未经许可,无人能够进出。
实际上线程运行而进程不运行。两个进程彼此得到专用数据或内存的惟一途径就是经过协议来共享内存块。这是一种协做策略。下面让咱们分析一下任务管理器里的进程选项卡。
这里的进程是指一系列进程,这些进程是由它们所运行的可执行程序实例来识别的,这就是进程选项卡中的第一列给出了映射名称的缘由。请注意,这里并无进程名称列。进程并不拥有独立于其所归属实例的映射名称。换言之,若是你运行5个记事本拷贝,你将会看到5个称为Notepad.exe的进程。它们是如何彼此区别的呢?其中一种方式是经过它们的进程ID,由于每一个进程都拥有其独一无二的编码。该进程ID由Windows NT或Windows 2000生成,并能够循环使用。所以,进程ID将不会越编越大,它们可以获得循环利用。
第三列是被进程中的线程所占用的CPU时间百分比。它不是CPU的编号,而是被进程占用的CPU时间百分比。此时个人系统基本上是空闲的。尽管系统看上去每一秒左右都只使用一小部分CPU时间,但该系统空闲进程仍旧耗用了大约99%的CPU时间。
第四列,CPU时间,是CPU被进程中的线程累计占用的小时、分钟及秒数。请注意,我对进程中的线程使用占用一词。这并不必定意味着那就是进程已耗用的CPU时间总和,由于,如咱们一下子将看到的,NT计时的方式是,当特定的时钟间隔激发时,不管谁恰巧处于当前的线程中,它都将计算到CPU周期以内。一般状况下,在大多数NT系统中,时钟以10毫秒的间隔运行。每10毫秒NT的心脏就跳动一下。有一些驱动程序代码片断运行并显示谁是当前的线程。让咱们将CPU时间的最后10毫秒记在它的账上。所以,若是一个线程开始运行,并在持续运行8毫秒后完成,接着,第二个线程开始运行并持续了2毫秒,这时,时钟激发,请猜一猜这整整10毫秒的时钟周期到底记在了哪一个线程的账上?答案是第二个线程。所以,NT中存在一些固有的不许确性,而NT恰是以这种方式进行计时,实际状况也如是,大多数32位操做系统中都存在一个基于间隔的计时机制。请记住这一点,由于,有时当你观察线程所耗用的CPU总和时,会出现尽管该线程或许看上去已运行过数十万次,但其CPU时间占用量却多是零或很是短暂的现象,那么,上述解释即是缘由所在。上述也就是咱们在任务管理器的进程选项卡中所能看到的基本信息列。
说到这里,我想你们对进程有必定的认识了吧,最后我对平时见到的各进程项细述一下,有哪些是能关的,有哪些是不能关的........
最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正常运行):
smss.exe Session Manager
csrss.exe 子系统服务器进程
winlogon.exe 管理用户登陆
services.exe 包含不少系统服务
lsass.exe 管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。(系统服务)
产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务)
svchost.exe 包含不少系统服务
svchost.exe
SPOOLSV.EXE 将文件加载到内存中以便迟后打印。(系统服务)
explorer.exe 资源管理器
internat.exe 托盘区的拼音图标
附加的系统进程(这些进程不是必要的,你能够根据须要经过服务管理器来增长或减小):
mstask.exe 容许程序在指定时间运行。(系统服务)
regsvc.exe 容许远程注册表操做。(系统服务)
winmgmt.exe 提供系统管理信息(系统服务)。
inetinfo.exe 经过 Internet 信息服务的管理单元提供 FTP 链接和管理。(系统服务)
tlntsvr.exe 容许远程用户登陆到系统而且使用命令行运行控制台程序。(系统服务)
容许经过 Internet 信息服务的管理单元管理 Web 和 FTP 服务。(系统服务)
tftpd.exe 实现 TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务)
termsrv.exe 提供多会话环境容许客户端设备访问虚拟的 Windows 2000 Professional 桌面会话以及运行在服务器上的基
于 Windows 的程序。(系统服务)
dns.exe 应答对域名系统(DNS)名称的查询和更新请求。(系统服务)
如下服务不多会用到,上面的服务都对安全有害,若是不是必要的应该关掉
tcpsvcs.exe 提供在 PXE 可远程启动客户计算机上远程安装 Windows 2000 Professional 的能力。(系统服务)
支持如下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。(系统服务)
ismserv.exe 容许在 Windows Advanced Server 站点间发送和接收消息。(系统服务)
ups.exe 管理链接到计算机的不间断电源(UPS)。(系统服务)
wins.exe 为注册和解析 NetBIOS 型名称的 TCP/IP 客户提供 NetBIOS 名称服务。(系统服务)
llssrv.exe License Logging Service(system service)
ntfrs.exe 在多个服务器间维护文件目录内容的文件同步。(系统服务)
RsSub.exe 控制用来远程储存数据的媒体。(系统服务)
locator.exe 管理 RPC 名称服务数据库。(系统服务)
lserver.exe 注册客户端许可证。(系统服务)
dfssvc.exe 管理分布于局域网或广域网的逻辑卷。(系统服务)
clipsrv.exe 支持“剪贴簿查看器”,以即可以从远程剪贴簿查阅剪贴页面。(系统服务)
msdtc.exe 并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器。(系统服务)
faxsvc.exe 帮助您发送和接收传真。(系统服务)
cisvc.exe Indexing Service(system service)
dmadmin.exe 磁盘管理请求的系统管理服务。(系统服务)
mnmsrvc.exe 容许有权限的用户使用 NetMeeting 远程访问 Windows 桌面。(系统服务)
netdde.exe 提供动态数据交换 (DDE) 的网络传输和安全特性。(系统服务)
smlogsvc.exe 配置性能日志和警报。(系统服务)
rsvp.exe 为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和本地通讯控制安装功能。(系统服务)
RsEng.exe 协调用来储存不经常使用数据的服务和管理工具。(系统服务)
RsFsa.exe 管理远程储存的文件的操做。(系统服务)
grovel.exe 扫描零备份存储(SIS)卷上的重复文件,而且将重复文件指向一个数据存储点,以节省磁盘空间。(系统服务)
SCardSvr.exe 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。(系统服务)
snmp.exe 包含代理程序能够监视网络设备的活动而且向网络控制台工做站汇报。(系统服务)
snmptrap.exe 接收由本地或远程 SNMP 代理程序产生的陷阱消息,而后将消息传递到运行在这台计算机上 SNMP 管理程序
。(系统服务)
UtilMan.exe 从一个窗口中启动和配置辅助工具。(系统服务)
msiexec.exe 依据 .MSI 文件中包含的命令来安装、修复以及删除软件。(系统服务)
详细说明:
win2k运行进程
Svchost.exe
Svchost.exe文件对那些从动态链接库中运行的服务来讲是一个普通的主机进程名。Svhost.exe文件定位
在系统的%systemroot%//system32文件夹下。在启动的时候,Svchost.exe检查注册表中的位置来构建须要
加载的服务列表。这就会使多个Svchost.exe在同一时间运行。每一个Svchost.exe的回话期间都包含一组服务,
以致于单独的服务必须依靠Svchost.exe怎样和在那里启动。这样就更加容易控制和查找错误。
Svchost.exe 组是用下面的注册表值来识别。
HKEY_LOCAL_MACHINE//Software//Microsoft//Windows NT//CurrentVersion//Svchost
每一个在这个键下的值表明一个独立的Svchost组,而且当你正在看活动的进程时,它显示做为一个单独的
例子。每一个键值都是REG_MULTI_SZ类型的值并且包括运行在Svchost组内的服务。每一个Svchost组都包含一个
或多个从注册表值中选取的服务名,这个服务的参数值包含了一个ServiceDLL值。
HKEY_LOCAL_MACHINE//System//CurrentControlSet//Services//Service
更多的信息
为了能看到正在运行在Svchost列表中的服务。
开始-运行-敲入cmd
而后在敲入 tlist -s (tlist 应该是win2k工具箱里的冬冬)
Tlist 显示一个活动进程的列表。开关 -s 显示在每一个进程中的活动服务列表。若是想知道更多的关于
进程的信息,能够敲 tlist pid。
Tlist 显示Svchost.exe运行的两个例子。
0 System Process
8 System
132 smss.exe
160 csrss.exe Title:
180 winlogon.exe Title: NetDDE Agent
208services.exe
Svcs: AppMgmt,Browser,Dhcp,dmserver,Dnscache,Eventlog,lanmanserver,LanmanWorkstation,LmHosts,Messenger,PlugPlay,
ProtectedStorage,seclogon,TrkWks,W32Time,Wmi
220 lsass.exe Svcs: Netlogon,PolicyAgent,SamSs
404 svchost.exe Svcs: RpcSs
452 spoolsv.exe Svcs: Spooler
544 cisvc.exe Svcs: cisvc
556 svchost.exe Svcs: EventSystem,Netman,NtmsSvc,RasMan,SENS,TapiSrv
580 regsvc.exe Svcs: RemoteRegistry
596 mstask.exe Svcs: Schedule
660 snmp.exe Svcs: SNMP
728 winmgmt.exe Svcs: WinMgmt
852 cidaemon.exe Title: OleMainThreadWndName
812 explorer.exe Title: Program Manager
1032 OSA.EXE Title: Reminder
1300 cmd.exe Title: D://WINNT5//System32//cmd.exe - tlist -s
1080 MAPISP32.EXE Title: WMS Idle
1264 rundll32.exe Title:
1000 mmc.exe Title: Device Manager
1144 tlist.exe
在这个例子中注册表设置了两个组。
HKEY_LOCAL_MACHINE//Software//Microsoft//Windows NT//CurrentVersion//Svchost:
netsvcs: Reg_Multi_SZ: EventSystem Ias Iprip Irmon Netman Nwsapagent Rasauto Rasman Remoteaccess SENS Sharedaccess
Tapisrv Ntmssvc
rpcss :Reg_Multi_SZ: RpcSs
smss.exe
csrss.exe
这个是用户模式Win32子系统的一部分。csrss表明客户/服务器运行子系统并且是一个基本的子系统
必须一直运行。csrss 负责控制windows,建立或者删除线程和一些16位的虚拟MS-DOS环境。
explorer.exe
这是一个用户的shell(我实在是不知道怎么翻译shell),在咱们看起来就像任务条,桌面等等。这个
进程并非像你想象的那样是做为一个重要的进程运行在windows中,你能够从任务管理器中停掉它,或者从新启动。
一般不会对系统产生什么负面影响。
internat.exe
这个进程是能够从任务管理器中关掉的。
internat.exe在启动的时候开始运行。它加载由用户指定的不一样的输入点。输入点是从注册表的这个位置
HKEY_USERS//.DEFAULT//Keyboard Layout//Preload 加载内容的。
internat.exe 加载“EN”图标进入系统的图标区,容许使用者能够很容易的转换不一样的输入点。
当进程停掉的时候,图标就会消失,可是输入点仍然能够经过控制面板来改变。
lsass.exe
这个进程是不能够从任务管理器中关掉的。
这是一个本地的安全受权服务,而且它会为使用winlogon服务的受权用户生成一个进程。这个进程是
经过使用受权的包,例如默认的msgina.dll来执行的。若是受权是成功的,lsass就会产生用户的进入
令牌,令牌别使用启动初始的shell。其余的由用户初始化的进程会继承这个令牌的。
mstask.exe
这个进程是不能够从任务管理器中关掉的。
这是一个任务调度服务,负责用户事先决定在某一时间运行的任务的运行。
smss.exe
这个进程是不能够从任务管理器中关掉的。
这是一个会话管理子系统,负责启动用户会话。这个进程是经过系统进程初始化的而且对许多活动的,
包括已经正在运行的Winlogon,Win32(Csrss.exe)线程和设定的系统变量做出反映。在它启动这些
进程后,它等待Winlogon或者Csrss结束。若是这些过程时正常的,系统就关掉了。若是发生了什么
不可预料的事情,smss.exe就会让系统中止响应(就是挂起)。
spoolsv.exe
这个进程是不能够从任务管理器中关掉的。
缓冲(spooler)服务是管理缓冲池中的打印和传真做业。
service.exe
这个进程是不能够从任务管理器中关掉的。
大多数的系统核心模式进程是做为系统进程在运行。
System Idle Process
这个进程是不能够从任务管理器中关掉的。
这个进程是做为单线程运行在每一个处理器上,并在系统不处理其余线程的时候分派处理器的时间。
winlogon.exe
这个进程是管理用户登陆和推出的。并且winlogon在用户按下CTRL+ALT+DEL时就激活了,显示安全对话框。
winmgmt.exe
winmgmt是win2000客户端管理的核心组件。当客户端应用程序链接或当管理程序须要他自己的服务时这个进程初始化
taskmagr.exe
这个进程固然就是任务管理器了.不要忘哟.
第二十一:TCP/IP协议介绍
TCP/IP的通信协议
这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之因此流行,部分缘由是由于它能够用在各类各样的信道和底层协议(例如T1和X.2五、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其余一些协议的协议组。
TCP/IP总体构架概述
TCP/IP协议并不彻底符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通讯协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各类硬件在相同的层次上相互通讯。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通信协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成本身的需求。这4层分别为:
应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,而且肯定数据已被送达并接收。
互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都可以到达目的主机(但不检查是否被正确接收),如网际协议(IP)。
网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。
TCP/IP中的协议
如下简单介绍TCP/IP中的协议都具有什么样的功能,都是如何工做的:
1. IP
网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。
IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,由于IP并无作任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
高层的TCP和UDP服务在接收数据包时,一般假设包中的源地址是有效的。也能够这样说,IP地址造成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫做IP source routing,能够用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来讲,使用了该选项的IP包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它能够被用来欺骗系统来进行日常是被禁止的链接。那么,许多依靠IP源地址作确认的服务将产生问题而且会被非法入侵。
2. TCP
若是IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的链接。TCP数据包中包括序号和确认,因此未按照顺序收到的包能够被排序,而损坏的包能够被重传。
TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。
面向链接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)须要高度的可靠性,因此它们使用了TCP。DNS在某些状况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。
3.UDP
UDP与TCP位于同一层,但对于数据包的顺序错误或重发。所以,UDP不被应用于那些使用虚电路的面向链接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务须要交换的信息量较小。使用UDP的服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)。
欺骗UDP包比欺骗TCP包更容易,由于UDP没有创建初始化链接(也能够称为握手)(由于在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
4.ICMP
ICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其余系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,若是路径不可用了,ICMP能够使TCP链接‘体面地’终止。PING是最经常使用的基于ICMP的服务。
5. TCP和UDP的端口结构
TCP和UDP服务一般有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着链接。用户使用Telnet客户程序与服务进程创建一个链接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。于是,这个链接是双工的,能够用来进行读写。
两个系统间的多重Telnet链接是如何相互确认并协调一致呢?TCP或UDP链接惟一地使用每一个信息中的以下四项进行确认:
源IP地址---发送包的IP地址。
目的IP地址---接收包的IP地址。
源端口---源系统上的链接的端口。
目的端口---目的系统上的链接的端口。
端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程一般使用一个固定的端口,例如,SMTP使用2五、Xwindows使用6000。这些端口号是‘广为人知’的,由于在创建与特定的主机或服务的链接时,须要这些地址和目的地址进行通信。
第二十二个:什么是Sniffer
如今人们谈到黑客攻击,通常所指的都是以主动方式进行的,例如利用漏洞或者猜想系统密码的方式对系统进行攻击。可是其实还有一类危害很是大的被动攻击方式每每为你们所忽视,那就是利用Sniffer进行嗅探攻击。
Sniffer,中文能够翻译为嗅探器,是一种威胁性极大的被动攻击工具。使用这种工具,能够监视网络的状态、数据流动状况以及网络上传输的信息。当信息以明文的形式在网络上传输时,即可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,即可以将网上传输的源源不断的信息截获。黑客们经常用它来截获用户的口令。听说某个骨干网络的路由器曾经被黑客攻人,并嗅探到大量的用户口令。本文将详细介绍Sniffer的原理和应用。
1、Sniffer 原理
1.网络技术与设备简介
在讲述Sni计er的概念以前,首先须要讲述局域网设备的一些基本概念。
数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不一样的部分执行不一样的功能。帧经过特定的称为网络驱动程序的软件进行成型,而后经过网卡发送到网线上,经过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操做系统帧已到达,而后对其进行存储。就是在这个传输和接收的过程当中,嗅探器会带来安全方面的问题。
每个在局域网(LAN)上的工做站都有其硬件地址,这些地址唯一地表示了网络上的机器(这一点与Internet地址系统比较类似)。当用户发送一个数据包时,这些数据包就会发送到LAN上全部可用的机器。
在通常状况下,网络上全部的机器均可以“听”到经过的流量,但对不属于本身的数据包则不予响应(换句话说,工做站A不会捕获属于工做站B的数据,而是简单地忽略这些数据)。若是某个工做站的网络接口处于混杂模式(关于混杂模式的概念会在后面解释),那么它就能够捕获网络上全部的数据包和帧。
2.网络监听原理
Sniffer程序是一种利用以太网的特性把网络适配卡(NIC,通常为以太网卡)置为杂乱(promiscuous)模式状态的工具,一旦网卡设置为这种模式,它就能接收传输在网络上的每个信息包。
普通的状况下,网卡只接收和本身的地址有关的信息包,即传输到本地主机的信息包。要使Sniffer能接收并处理这种方式的信息,系统须要支持BPF,Linux下须要支持SOCKET一PACKET。但通常状况下,网络硬件和TCP/IP堆栈不支持接收或者发送与本地计算机无关的数据包,因此,为了绕过标准的TCP/IP堆栈,网卡就必须设置为咱们刚开始讲的混杂模式。通常状况下,要激活这种方式,内核必须支持这种伪设备Bpfilter,并且须要root权限来运行这种程序,因此sniffer须要root身份安装,若是只是以本地用户的身份进人了系统,那么不可能唤探到root的密码,由于不能运行Sniffer。
基于Sniffer这样的模式,能够分析各类信息包并描述出网络的结构和使用的机器,因为它接收任何一个在同一网段上传输的数据包,因此也就存在着捕获密码、各类信息、秘密文档等一些没有加密的信息的可能性。这成为黑客们经常使用的扩大战果的方法,用来夺取其余主机的控制权
3 Snifffer的分类
Sniffer分为软件和硬件两种,软件的Sniffer有 NetXray、Packetboy、Net monitor等,其优势是物美价廉,易于学习使用,同时也易于交流;缺点是没法抓取网络上全部的传输,某些状况下也就没法真正了解网络的故障和运行状况。硬件的Sniffer一般称为协议分析仪,通常都是商业性的,价格也比较贵。
实际上本文中所讲的Sniffer指的是软件。它把包抓取下来,而后打开并查看其中的内容,能够获得密码等。Sniffer只能抓取一个物理网段内的包,就是说,你和监听的目标中间不能有路由或其余屏蔽广播包的设备,这一点很重要。因此,对通常拨号上网的用户来讲,是不可能利用Sniffer来窃听到其余人的通讯内容的。
4.网络监听的目的
当一个黑客成功地攻陷了一台主机,并拿到了root权限,并且还想利用这台主机去攻击同一网段上的其余主机时,他就会在这台主机上安装Sniffer软件,对以太网设备上传送的数据包进行侦听,从而发现感兴趣的包。若是发现符合条件的包,就把它存到一个LOg文件中去。一般设置的这些条件是包含字“username”或“password”的包,这样的包里面一般有黑客感兴趣的密码之类的东西。一旦黑客截得到了某台主机的密码,他就会马上进人这台主机。
若是Sniffer运行在路由器上或有路由功能的主机上,就能对大量的数据进行监控,由于全部进出网络的数据包都要通过路由器。
Sniffer属于第M层次的攻击。就是说,只有在攻击者已经进入了目标系统的状况下,才能使用Sniffer这种攻击手段,以便获得更多的信息。
Sniffer除了能获得口令或用户名外,还能获得更多的其余信息,好比一个重要的信息、在网上传送的金融信息等等。Sniffer几乎能获得任何在以太网上传送的数据包。
Sniffer是一种比较复杂的攻击手段,通常只有黑客老手才有能力使用它,而对于一个网络新手来讲,即便在一台主机上成功地编译并运行了Sniffer,通常也不会获得什么有用的信息,由于一般网络上的信息流量是至关大的,若是不加选择地接收全部的包,而后从中找到所须要的信息很是困难;并且,若是长时间进行监听,还有可能把放置Sniffer的机器的硬盘撑爆。
5.一个简单的Sniffer程序
下面是一个很是简单的C程序,它能够完成通常的监听功能,/* */中的内容是本文的注解。
/*下面是包含进行调用系统和网络函数的头文件*/
#include〈stdio.h〉
#include〈sys/socket.h〉
#include〈netinet/in.h〉
#include〈arpa/inet.h〉
/*下面是IP和TCP包头结构*/
struct IP{
unsigned int ip_length:4;
/*定义IP头的长度*/
unsigned int ip_version:4;
/*IP版本,Ipv4 */
unsigned char ip_tos;
/*服务类型*/
unsigned short
ip_total_length; /*IP数据包的总长度*/
unsigned short ip_id;
/*鉴定城*/
unsigned short ip_flags;
/*IP 标志 */
unsigned char ip_ttl;
/*IP 包的存活期*/
unsigned char ip_protocol;
/*IP 上层的协议*/
unsigned short ip_cksum;
/*IP头校验和*/
unsigned int ip_source ;
/*源IP地址*/
unsigned int ip_source;
/*目的IP地址*/
};
struct tcp{
unsigned short tcp_source_port;
/*定义TCP源端口*
unsigned short tcp_dest_port;
/*TCP目的端口*/
unsigned short tcp_seqno;
/*TC P序列号*/
unsigned int tcp_ackno;
/*发送者指望的下一个序列号*/
unsigned int tcp_res1:4;
/*下面几个是TCP标志*/
tcp_hlen:4
tcp_fin:1,
tcp_syn:1,
tcp_rst:1,
tcp_psh:1,
tcp_ack:1,
tcp_urg:1,
tcp_res2:2;
unsignd short tcp_winsize; /*能接收的最大字节数*/
unsigned short tcp_cksum;
/* TCP校验和*/
unsigned short tcp_urgent;
/* 紧急事件标志*/
};
/*主函数*/
int main()
{
int sock,bytes_recieved,fromlen;
char buffer[65535];
struct sockaddr_in from;
/*定义socket结构*/
struct ip ip;
/*定义IP和TCP*/
struct tcp *tcp;
sock=socket(AF_INET,SOCK_RAW,IPPROTO_TCP);
/* 上面是创建socket链接,第一个参数是地址族类型,用INTERNET类型*/
/* 第二个参数是socket类型,这里用了SOCK_RAW,它能够绕过传输层*/
/* 直接访问IP层的包,为了调用SOCK_RAW,须要有root权限*/
/* 第三个参数是协议,选IPPROTO_TCP指定了接收TCP层的内容*/
while(1)
/*创建一个死循环,不停的接收网络信息*/
{
fromlen=sizeof from;
bytes_recieved=recvfrom(sock,buffer,sizeofbuffer,0,(struct sockaddr *)&from,&fromlen);
/*上面这个函数是从创建的socket链接中接收数据*/
/*由于recvfrom()须要一个sockaddr数据类型,因此咱们用了一个强制类型转换*/
print(/"//nBytes received ::: %5d//n/",bytes_recieved);
/*显示出接收的数据字节数*/
printf(/"source address ::: %s//n/",inet_ntoa(from.sin_addr));
/*显示出源地址*/
ip=(struct ip *)buffer;
/*把接收的数据转化为咱们预先定义的结构,便于查看*/
printf(/"IP header length ::: %d//n/",ip->ip_length);
/*显示IP头的长度*/
print(/"Protocol ::: %d//n/",ip->ip_protocol);
/*显示协议类型,6是TCP,17是UDP*/
tcp=(struct tcp *)(buffer + (4*ip->ip_iplength));
/*上面这名须要详细解释一下,由于接收的包头数据中,IP头的大小是固定的4字节*/
/*因此我用IP长度乘以4,指向TCP头部分*/
printf(/"Source port ::: %d//n/",ntohs(tcp->tcp_source_port); /*显示出端口*/
printf(/"Dest prot ::: %d//n/",ntohs(tcp->tcp_dest_port));/*显示出目标端口*/
以上这个C程序是为了说明Sniffer的接收原理而列举的一个最简单的例子,它只是完成了Sniffer的接收功能,在运行它以前,咱们还须要手工把同卡设为混杂模式,在root权限下用以下命令设置:
ifconfig eth0 promisc
假设etho是你的以太网设备接口,而后运行编译好的程序,就能够看到接收的数据包了。
这个程序虽然简单,可是它说明了Sniffer的基本原理,就是先把同卡设备设为混杂模式,而后直接接收IP层的数据。
固然这个程序的功能也太简单,只能显示源地址、目标地址和源端口、目标端口等极为简单的信息,这对于黑客来讲是没有什么用处的,黑客要的是密码之类的信息,这能够使用一些免费的Sniffer程序来完成。
想了解更全面的Sniffer知识,请进入这个页面:
http://www.cn90.net/viewthread.php?tid=2358&pid=10814
第二十三个:什么是PID值 针对5minglei 的提问,我真是很差回答,由于PID有不少解释,其中之一是: PID是比例(p)+积分(I)+微分(D)控制程序 可是你说的是PID值,我猜你是否是指进程里的PID项呢? 若是是这样的话,其实PID一列表明了各进程的进程ID,也就是说,PID就是各进程的身份标识. 呵~~原本我还想多说点,但是下班了,没时间了,不写了,这样吧,我拿出(部分)进程的编程源码你们参考一下吧 建立新进程:fork函数 #include #include pid_t fork(void); ‘fork()’函数用于从已存在进程中建立一个新进程。新进程称为子进程,而原进程称为 父进程。你能够经过检查‘fork()’函数的返回值知道哪一个是父进程,哪一个是子进程。父 进程获得的返回值是子进程的进程号,而子进程则返回0。如下这个范例程序说明它的基本 功能: pid_t pid; switch (pid = fork()) { case -1: /* 这里pid为-1,fork函数失败 */ /* 一些可能的缘由是 */ /* 进程数或虚拟内存用尽 */ perror(/"The fork failed!/"); break; case 0: /* pid为0,子进程 */ /* 这里,咱们是孩子,要作什么? */ /* ... */ /* 可是作完后, 咱们须要作相似下面: */ _exit(0); default: /* pid大于0,为父进程获得的子进程号 */ printf(/"Child/'s pid is %d//n/",pid); } 固然,有人能够用‘if() ... else ...’语句取代‘switch()’语句,可是上面的形式是 一个有用的惯用方法。 第二十四个:什么是主机、服务器、空间?他们的区别是什么? 街街的提问,因为我如今时间有限,我做一下简单的解答,但愿你能理解~~ 主机通常是指我的使用的电脑PC机。而在专业术语中,主机仅是电脑的一部分。而咱们常说的主机却每每表明整个电脑,你目前理解为这个也行。。。 服务器通常是指用于专业用的电脑PC机,在实质上,服务器和主机没有什么意义上的区别。主机若是作为服务器也是能够的,服务器也能够当我的主机用。 然而咱们平时要作为真正的服务器来使用时(通常是企业)。服务器的硬件要求要比普通的我的PC要求要高的多。好比WEB服务器,要24小时不能离线。因此在散热,耐热等方面就比普通PC要高不少。 至于空间,就是能经过网络访问到的计计算机磁盘空间,咱们通常是指WEB服务器空间。若是你的主机有固定的IP地址。也能24在线,那么你的硬盘也是能够做为空间使用的,固然,仍是须要进行一系列的服务器配置,别人才能访问的到的~~