什么是SMB?
[}Yci:P_ + eT
\Q 为了进行通信,我们人类需要同一种语言,如汉语或英语,计算机可不一样了,它们使用的语言规则不能称之为语言,而要称为协议。TCP/IP,NETBEUI,和Appletalk等都是协议。我们现在大家都知道什么TCP/IP,听说西安出租车司机都在谈这个东西。但是还有另外一种使用十分广泛的协议称为服务器信息块(Server Message Block)标准,它可以用户共享文件,磁盘,目录,打印机,在某些情况下甚至可以共享COM端口。Microsoft总希望把好东西叫成自己的,它希望将基于SMB的网络称为Windows网络,把这种协议叫CIFS,但我们在本文中还是称为SMB吧。
olW`.3f _p^ "! 一个SMB客户或服务器可以和许多种机器和网络相互连接,这里就不一一说明了。下面是它们的名称:Warp Connect,Warp 4,LAN Server,Lan Server/400,IBM PC Lan和IBM的Warp Server,在SMB模式下的LANtastic,MS-Client,Windows for Workgroups,Windows 95,LAN Manager和Windows NT Workstation & Server,DEC的Pathworks,LM/UX,AS/UX,Syntax 和Samba,这里面的东西,我们很多都没有使用过。因此不能加以详细介绍。
w\[*_wQp h.0&)t\q" 既然东西这么多,那它们能不能相互协同工作呢?从短期来看是可以的,但是长期可能就有问题,因此许多生产厂商的修改使得SMB成了对话式的协议,但是用户至少可以使用SMB兼容系统进行打印机和文件的共享,因此不同厂商的产品有所差异,因此在访问异种网时可能有一些麻烦。当说SMB不说NetBIOS和NetBEUI是不可能的,因此基于SMB的网络使用的底层协议虽然不一样,但是最基本的是基于NetBEUI的NetBIOS和基于TCP/IP的NetBIOS,有时候我们也把后者称为RFC/Netbios或TCPBEUI。
0hr)tYW,G ]$%4;o4O SMB客户或服务器总是希望使用NETBIOS接口,换而言之,无论底层使用什么协议,SMB总希望使用统一的接口和远程系统进行通信。我们可以把NETBIOS想象为乘客,而把它下层的协议想像成随便什么交通工具,这些交通工具载着乘客从A地到达B地,完成通信。那么在使用NetBEUI时会有什么问题呢?NetBEUI的问题我们还可以用上面的例子进行说明,在这种环境下,NetBEUI基本上就是一个NETBIOS,它被直接传上网络,这个乘客本来可以坐车的,现在要自己从A地走到B地。NETBEUI采用一种广播式的发送方式,它象一个在大街上到处大喊着找人的乘客,这样虽然也找到,而且有时候速度还挺快,可是网络(这里我们把网络比喻为大街)会变得十分乱。在默认情况下,Windows和OS/2 Warp使用NETBEUI作为默认协议,因此这种协议不同任何配置即可使用。
E8V\J FKTP0e7=9 我们上面还提到了在TCP/IP的基础上使用NetBIOS,那么我们为什么要使用TCP/IP呢,我们在什么时候要使用这种协议呢?因为用TCP/IP协议在计算机间进行通信有它的优势,这种方法不采用广播式的发送方法,而采用直接发送的方法,这样可以让网络内的无用噪声减少。而基于TCP/IP使用NetBIOS是一个非常流行的使用方法(当然用户也可以使用别的通信协议传送NETBIOS信息),因为互联网的广泛使用,计算机上一般都安装了TCP/IP,这对使用提供了方便,事实上,Samba甚至要求使用基于TCP/IP的NetBIOS,而根本不支持基于NetBEUI的NetBIOS。
$zH0$aOx YV+dUvz 因为基于TCP/IP使用NetBIOS时要使用到TCP/IP,用户必须将安全性考虑在内,这一点十分重要,不然出了问题不好办。如果用户现在使用的是Windows 95,他可能会注意到没有什么基于TCP/IP的NetBIOS,只有一个NetBEUI选项,这是因为用户没有安装TCP/IP协议,在用户安装了TCP/IP之后,就会自动出现基于TCP/IP的NetBIOS。这时,出于安全性的考虑,在网络配置中的TCP/IP一项上请不要选择文件和打印机共享。能否将OS/2作为SMB客户连接到Windows NT或Windows for Workgroups上呢?这当然是可以的,OS/2 Warp 4和Warp Connect能够和NT以及Workgroup等其它微软产品通信,在OS/2 Warp 4中就内建了TCP/IP,NETBEUI和IPX,随着用户的需要也可以再添加新的协议,OS/2 Warp 4中还内建了一个程序称为“IBM文件和打印客户”请,大家注意这个程序的使用。如果用户没有Warp 4或Warp Connect,那么使用免费的Microsoft LAN Manager Client for OS/2也可以达到同样的目的。最后我们说一下如何使MSIPX协议和NT或NetWare服务器连接。基于IPX的NETBIOS也称为IPXBEUI或MSIPX,在OS/2 Warp 4和Warp Connect中,用户可以找到基于IPX的NetWare NetBIOS仿真,这就可以了。
`e:RZ UmMYe4LQR 什么是溢出?*
rb4g<f| "pJEzC 溢出全名是“缓冲区溢出”缓冲区是内存中存放数据的地方。在程序试图将数据放到机器内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出。而人为的溢出则是有一定企图的,攻击者写一个超过缓冲区长度的字符串,然后植入到缓冲区,而再向一个有限空间的缓冲区中植入超长的字符串可能会出现两个结果,一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃;另有一个结果就是利用这种漏洞可以执行任意指令,甚至可以取得系统root特级权限。大多造成缓冲区溢出的原因是程序中没有仔细检查用户输入参数而造成的。
N>#P
1!eP 缓冲区是程序运行的时候机器内存中的一个连续块,它保存了给定类型的数据,随着动态分配变量会出现问题。大多时为了不占用太多的内存,一个有动态分配变量的程序在程序运行时才决定给它们分配多少内存。这样想下去的话,如果说要给程序在动态分配缓冲区放入超长的数据,它就会溢出了。一个缓冲区溢出程序使用这个溢出的数据将汇编语言代码放到机器的内存里,通常是产生root权限的地方,这就不是什么好现象了。仅仅就单个的缓冲区溢出惹眼,它并不是最大的问题根本所在。但如果溢出送到能够以root权限运行命令的区域,一旦运行这些命令,那可就等于把机器拱手相让了。
ymJw{&^am 什么是虚拟主机?
Cl){sP=8W Yl3PZ*#@ Q 通俗的说,虚拟主机技术是将一台(或者一组)服务器的资源(系统资源、网络带宽、存储空间等)按照一定的比例分割成若干台相对独立的“小主机”的技术。每一台这样的“小主机”在功能上都可以实现WWW、FTP、Mail等基本的Internet服务,就像使用独立的主机一样。
C F 0IP >LZ)<-Mk 采用虚拟主机建立网站,可以为企业节省大量的设备、人员、技术、资金、时间等各项投入,为即将建立Internet网站的企业提供了一种“物美价廉”的解决方案。目前,全球有80%的企业网站在使用虚拟主机。
'wHkE/83 B$eF@v" Al;oI3 什么是EXA和XDA?*
G~j<I/)" omU)hFvyS 所谓的EXA就是“企业级X-架构”(Enterprise X Archive,EXA)含义,2001年8月,IBM在基于X架构服务器设计蓝图的基础之上在实验室里成功引入了大型机的四项核心技术(Xpand On Demand扩展、XceL4服务器加速缓存、Active内存和“远程I/O”)技术开发了“IBM 企业级X架构”。
6>^k9cJp EXA架构的基础就是XA-32和XA-64系列芯片组,适用于32位和64位工业标准服务器。
]qTr4`. Q ?<9 EXA架构的特点首先看重性能,毕竟用单路和双路服务器去做更关键应用时,性能是很重要的因素。其次是高可用性,EXA架构的第三个特点是可管理性,EXA在高可管理性上添加了全新设计的光通路诊断。最后一个特点就是灵活性,EXA架构要求系统能够满足各种各样的客户的需求,而IBM也许会对很多应用进行认证。
!q1^X% a 9O_N
iu0 这四大特点使得IBM能够与同质化的商品区分开来,在工业标准平台上做高可@@的关键应用的服务器。
QE6-(/ --hnv/AjI 我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如:
http://www.microsoft.com/china/index.htm。它的含义如下:
?a_q!,8: 1. http://:代表超文本传输协议,通知microsoft.com服务器显示Web页,通常不用输入;
yM ~D.D3H 2. www:代表一个Web(万维网)服务器;
!!pi\J?sk 3. Microsoft.com/:这是装有网页的服务器的域名,或站点服务器的名称;
gDBQ\vM8 4. China/:为该服务器上的子目录,就好像我们的文件夹;
nf^k3QS\ 5. Index.htm:index.htm是文件夹中的一个HTML文件(网页)。
t|,Ex 7 我们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Application layer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。
e;Z`& HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以http://开头的原因。
+opN\`
自WWW诞生以来,一个多姿多彩的资讯和虚拟的世界便出现在我们眼前,可是我们怎么能够更加容易地找到我们需要的资讯呢?当决定使用超文本作为WWW文档的标准格式后,于是在1990年,科学家们立即制定了能够快速查找这些超文本文档的协议,即HTTP协议。经过几年的使用与发展,得到不断的完善和扩展,目前在WWW中使用的是HTTP/1.0的第六版。
9`VF
[*
9 '%7]xp {Z;GNMO: ipc$ 是什么?*
jCa;g{#@ BFRSYwPr IPC$(Internet Process Connection)是共享\"命名管道\"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
X+BSneu 利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。
y6yseR! 我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。
$+N^ s^ 所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的.
S :|*wB 解惑:
1F8EL)9 1)IPC连接是Windows NT及以上系统中特有的远程网络登陆功能,其功能相当于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函数,所以不能在Windows 9.x中运行。
-w0>4JDs 也就是说只有nt/2000/xp才可以建立ipc$连接,98/me是不能建立ipc$连接的(但有些朋友说在98下能建立空的连接,不知道是真是假,不过现在都2003年了,建议98的同志换一下系统吧,98不爽的)
y`dzo`f 2)即使是空连接也不是100%都能建立成功,如果对方关闭了ipc$共享,你仍然无法建立连接
YA8~O5 3)并不是说建立了ipc$连接就可以查看对方的用户列表,因为管理员可以禁止导出用户列表
YCdxU1V Z*B(L@H 什么是病毒?*
Kt0Tuj@CY S,>n'r[ 下面我们谈一谈病毒。您以前是否听说过电脑病毒?不要一听到病毒就浑身发抖,只要了解了病毒,对付起来还是很容易的。
cC]1D*Bn LxDhthZi_ 电脑病毒与我们平时所说的医学上的生物病毒是不一样的,它实际上是一种电脑程序,只不过这种程序比较特殊,它是专门给人们捣乱和搞破坏的,它寄生在其它文件中,而且会不断地自我复制并传染给别的文件,没有一点好作用。
_YUF /B' Q*(C)/ QW 电脑病毒发作了都会有哪些症状呢?
+5\\wGo< ,_-*/- 7;8 电脑染上病毒后,如果没有发作,是很难觉察到的。但病毒发作时就很容易感觉出来:
d8I:F9 bME3" e{O
有时电脑的工作会很不正常,有时会莫名其妙的死机,有时会突然重新启动,有时程序会干脆运行不了。
w#b2iE+Bw }e @-[RJ! ◎ 电脑染毒后表现为:工作很不正常,莫名其妙死机,突然重新启动,程序运行不了。
nJ@hzK. 9D21e(7X 有的病毒发作时满屏幕会下雨,有的屏幕上会出现毛毛虫等,甚至在屏幕上出现对话框,这些病毒发作时通常会破坏文件,是非常危险的,反正只要电脑工作不正常,就有可能是染上了病毒。病毒所带来的危害更是不言而喻了。
qa?y lR"kA gWPa8q<b 而且,以前人们一直以为,病毒只能破坏软件,对硬件毫无办法,可是CIH病毒打破了这个神话,因为它竟然在某种情况下可以破坏硬件!
2J;CiEB +.uk#K0o 电脑病毒和别的程序一样,它也是人编写出来的。既然病毒也是人编的程序,那就会有办法来对付它。最重要的是采取各种安全措施预防病毒,不给病毒以可乘之机。另外,就是使用各种杀毒程序了。它们可以把病毒杀死,从电脑中清除出去。
' 1nU[,Wj 什么是路由器
|Q;1;QXd T`;M!-)2 路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。
V0(ABi:d 1\kehCt 路由器有两大典型功能,即数据通道功能和控制功能。数据通道功能包括转发决定、背板转发以及输出链路调度等,一般由特定的硬件来完成;控制功能一般用软件来实现,包括与相邻路由器之间的信息交换、系统配置、系统管理等。
u'."E7o# GC3L2C0)k 多少年来,路由器的发展有起有伏。90年代中期,传统路由器成为制约因特网发展的瓶颈。ATM交换机取而代之,成为IP骨干网的核心,路由器变成了配角。进入90年代末期,Internet规模进一步扩大,流量每半年翻一番,ATM网又成为瓶颈,路由器东山再起,Gbps路由交换机在1997年面世后,人们又开始以Gbps路由交换机取代ATM交换机,架构以路由器为核心的骨干网。
8B9zo& #{1fb%L{i .9QQ]fLs %q^]./3p 什么是肉鸡?*
v\FD~ z$b!J$A1 肉鸡就是具有最高管理权限的远程电脑。简单的说就是受你控制的远程电脑。肉鸡可以是win、Unix/Linux……等各种系统;肉鸡可以是一家公司的服务器,一家网站的服务器,甚至是美国白宫或军方的电脑,只要你有这本事入侵并控制他,呵呵。莱鸟所说用的肉鸡一般是开了3389端口的Win2K系统的服务器。
CxV%/ChJ# 要登陆肉鸡,必须知道3个参数:远程电脑的IP、用户名、密码。
B.jYU 什么是shell
5w9<_W0d 'h=2_%l@Y 操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
RMXj)~4. shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
b5R*] Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。
Y6a|\K| 什么是交互式shell 什么是非交互式shell
J_$~OEC~ bS<p dOX_ 交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
0rUf'S
?K shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
@9a=D<'> 什么是端口
s,x]zG" A@r,A?( 在开始讲什么是端口之前,我们先来聊一聊什么是 port 呢?常常在网络上听说『我的主机开了多少的 port ,会不会被入侵呀!?』或者是说『开那个 port 会比较安全?又,我的服务应该对应什么 port 呀!?』呵呵!很神奇吧!怎么一部主机上面有这么多的奇怪的 port 呢?这个 port 有什么作用呢?!
$Plk4 o*g Tkf !Y? 由于每种网络的服务功能都不相同,因此有必要将不同的封包送给不同的服务来处理,所以啰,当你的主机同时开启了 FTP 与 WWW 服务的时候,那么别人送来的资料封包,就会依照 TCP 上面的 port 号码来给 FTP 这个服务或者是 WWW 这个服务来处理,当然就不会搞乱啰!(注:嘿嘿!有些很少接触到网络的朋友,常常会问说:『咦!为什么你的计算机同时有 FTP、WWW、E-Mail 这么多服务,但是人家传资料过来,你的计算机怎么知道如何判断?计算机真的都不会误判吗?!』现在知道为什么了吗?!对啦!就是因为 port 不同嘛!你可以这样想啦,有一天,你要去银行存钱,那个银行就可以想成是『主机』,然后,银行当然不可能只有一种业务,里头就有相当多的窗口,那么你一进大门的时候,在门口的服务人员就会问你说:『嗨!你好呀!你要做些什么事?』你跟他说:『我要存钱呀!』,服务员接着就会告诉你:『喝!那么请前往三号窗口!那边的人员会帮您服务!』这个时候你总该不会往其它的窗口跑吧?! ^_^\"\"这些窗口就可以想成是『 port 』啰!所以啦!每一种服务都有特定的 port 在监听!您无须担心计算机会误判的问题呦!)
eo[^ij 7m:, -xp · 每一个 TCP 联机都必须由一端(通常为 client )发起请求这个 port 通常是随机选择大于 1024 以上的 port 号来进行!其 TCP 封包会将(且只将) SYN 旗标设定起来!这是整个联机的第一个封包;
i/z7a%$ }XU- JAn · 如果另一端(通常为 Server ) 接受这个请求的话(当然啰,特殊的服务需要以特殊的 port 来进行,例如 FTP 的 port 21 ),则会向请求端送回整个联机的第二个封包!其上除了 SYN 旗标之外同时还将 ACK 旗标也设定起来,并同时时在本机端建立资源以待联机之需;
UJ:B:hh'' j C? · 然后,请求端获得服务端第一个响应封包之后,必须再响应对方一个确认封包,此时封包只带 ACK 旗标(事实上﹐后继联机中的所有封包都必须带有 ACK 旗标)﹔
(0S7 rJ>8|K[kt · 只有当服务端收到请求端的确认( ACK )封包(也就是整个联机的第三个封包)之后﹐两端的联机才能正式建立。这就是所谓的 TCP 联机的\'三段式交握( Three-Way Handshake )\'的原理。
f6) H!SI *Yw6UCO 经过三向交握之后,呵呵!你的 client 端的 port 通常是高于 1024 的随机取得的 port 至于主机端则视当时的服务是开启哪一个 port 而定,例如 WWW 选择 80 而 FTP 则以 21 为正常的联机信道!
R#M).2:: wxxC&! 总而言之,我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念.工具提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议姆?裉峁┑亩丝冢?簿头治猅CP端口和UDP端口。
EK_^#b 那么,如果攻击者使用软件扫描目标计算机,得到目标计算机打开的端口,也就了解了目标计算机提供了那些服务。我们都知道,提供服务就一定有服务软件的漏洞,根据这些,攻击者可以达到对目标计算机的初步了解。如果计算机的端口打开太多,而管理者不知道,那么,有两种情况:一种是提供了服务而管理者没有注意,比如安装IIS的时候,软件就会自动增加很多服务,而管理员可能没有注意到;一种是服务器被攻击者安装木马,通过特殊的端口进行通信。这两种情况都是很危险的,说到底,就是管理员不了解服务器提供的服务,减小了系统安全系数。
`R RORzXoS S{6u\Vy yM@cml6Ox mr? ii 什么是扫描?*
\mloR
' '>BHwc 如果你的机子连入互联网,那么你就有被扫描的危险。这里要给大家介绍的就是:什么是扫描,为什么有人要扫描,以及有趣的秘密握手机制和不同的扫描技术。
0saEcJ- v]~[~\|a 扫描一个系统或者一个网络,通常是为了发现这个被扫描的对象在提供哪些服务。扫描者可以分成两种类型,一种是“好人”:比如系统管理员和网络安全顾问,他们扫描的目的纯粹是外了找出系统的缺陷或漏洞,进而想办法弥补。当然另一类的就只能是“坏人”了,比如有“脚本小孩”或者更“坏”的,他们的目的是为了找出漏洞,进而实施攻击。
[qB=OxH? \BW(c)Q 扫描就象是去一栋公寓然后挨家敲门看谁在家。你是否在运行一个WEB服务器,或者邮件服务器、BIND、Telnet、FTP、RPC等等。这些问题的答案扫描都可以给出。遗憾的是,这些答案通常很明显的暴露在外,使得那些技术不是很高明的人可以轻而易举的进去“参观”。
QR4o j f`e.c_n( 当然,我这里指的并非是那些极为高明,技术顶尖的黑客,我指的是那些只知道如何从网络上下载文件或收发EMAIL的大学生,当然中学生也不例外,他们通常被称为“脚本孩子”,因为他们并没有高深的技术知识作后盾,仅仅是通过运行别人写出的脚本程序来扫描或攻击别人的系统。 除了这些可以随意下载的脚本外,攻击者通常还会下载一个叫做端口扫描器的软件工具。这种工具较旧的比如有ISS,较新的则如NMAP2.54的BETA22.1等。如果攻击者可以在你的系统中找到一个明显的漏洞,那么完了,你的系统很快将会属于他了,而且,扫描并不犯法,它并不是抢劫,你还无处申诉。
>Mn.|:DF]& R0[Gfq9M= 如今,“坏人”的扫描通常会遇到这样的问题,就是他们扫描过的系统往往会记录扫描行为所利用的每一个连接信息,或许扫描的人的确很浅薄,没有意识到在他们扫描过程中会在系统中留下“犯罪”的记录,但稍微留意的人都会想法抹除他们的犯罪记录。有很多方法可以达到这个目的。比如,许多黑客通过他预先攻击过的主机来扫描远程主机,这样,即使被扫描的主机记录了这一信息,逆向搜索的人能知道的也仅限于黑客预先攻击过的主机,真正的黑客信息并不能找到。这里介绍的秘密扫描就属于这样一种扫描方式,它使得逆向搜索变的更为困难,因为它的工作机制甚至不需要建立连接。
)SuJK.IF 3]acfCacC 为了理解什么是秘密扫描以及它的工作原理,你首先应该对TCP/IP数据包的内容以及TCP的秘密握手机制有所了解。除了携带发送和接收方的IP地址和端口号外,TCP的报头还包含一个序列号和一些起着特殊作用的标记位。这里仅提到其中的三个标记位:SYN,ACK和FIN。因为它们三个的作用与这里讨论的主题密切相关。
VbjW$? p
WH u[Fu 当系统间彼此说“HELLO”或道“GOODBYE”时,就会用到所谓的握手机制。让我们先看看如何利用TCP/IP的握手机制来建立一个连接。本文中所提到的连接均指的是发生在两个IP地址间,有一定的端口号的连接。当你想网上冲浪,或者想TELNET到远程主机时,三次握手机制就会为你生成一个这样的连接。
.anL}OA_q uHYI :(O 它的工作原理大致如下:握手的第一步,一台计算机首先请求和另外一台计算机建立连接,它通过发送一个SYN请求来完成,也即将前面提到的SYN标记位置位。消息的内容就象是说:“HI,听着,我想和你的机子端口X上的服务说话,咱们先同步一下,我用序列号Y来开始连接。” 端口X表示了连接的服务类型。至于哪些端口支持哪些类型的服务,可以参考UNIX下面的/etc/services文件。两台计算机间的每条信息都有一个由发送方产生的序列号,序列号的使用使得双方知道他们之间是同步的,而且还可以起到丢失信息时或接收顺序错误时发送警告信息的作用。
q`hg@uwA{` 75y#^pD?c 握手的第二步,接收到SYN请求的计算机响应发送来的序列号,它会将ACK标记位置位,同时它也提供自己的序列号,这个做法类似于说:OH,亲爱的,我已经收到了你的号码,这是我的号码。
b%(0AL <>TBM^ 到现在为止,发起连接建立请求的计算机认为连接已经建立起来,然而对方却并不这样认为,对方还要等到它自己的序列号有了应答后才能确认连接建立起来。因此现在的状态可以称为“半连接”。如果发起连接请求的计算机不对收到的序列号作出应答,那么这个连接就永远也建立不起来,而正因为没有建立连接,所以系统也不会对这次连接做任何记录。
yyc&'J 3B+Rx;>h iKwVYL .PgkHb=l@ 什么是加壳和脱壳?*
*6L^A`_1] uY,FugWbl 加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东东。软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。所以,这些的工作只是在内存中运行的,是不可以了解具体是怎么样在内存中运行的。通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。因为有的时候程序会过大,需要压缩。但是大部分的程序是因为防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。
mD!imq%= _ sd?l 脱壳,是完全破除压缩后软件无法编辑的限制,去掉头部的解压缩指令,然后解压出加壳前的完整软件。这样,你就可以对其“动刀”了。
CfU)+20 代理服务器是什么玩意
4)_ [)MZ\j OuoZd!"qf 代理有很多种解释,而我们常常提到的代理,从计算机专业角度来说就是指代理服务器相关,针对syx-kn 的提问,我先把代理服务器向大家简单的介绍一下吧!!
$)3/N&GXR 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。而且,大部分代理服务器都具有缓冲的功能,就好象一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。更重要的是:Proxy Server (代理服务器)是 Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联 (OSI) 模型的对话层。
?9:\1)] 代理服务器(Proxy Server)就是个人网络和因特网服务商之间的中间代理机构,它负责转发合法的网络信息,并对转发进行控制和登记。在使用网络浏览器浏览网络信息的时候,如果使用代理服务器,浏览器就不是直接到Web服务器去取回网页,而是向代理服务器发出请求,由代理服务器取回浏览器所需要的信息。目前使用的因特网是一个典型的客户机/服务器结构,当用户的本地机与因特网连接时,通过本地机的客户程序比如浏览器或者软件下载工具发出请求,远端的服务器在接到请求之后响应请求并提供相应的服务。
?jbam!A 代理服务器处在客户机和服务器之间,对于远程服务器而言,代理服务器是客户机,它向服务器提出各种服务申请;对于客户机而言,代理服务器则是服务器,它接受客户机提出的申请并提供相应的服务。也就是说,客户机访问因特网时所发出的请求不再直接发送到远程服务器,而是被送到了代理服务器上,代理服务器再向远程的服务器提出相应的申请,接收远程服务器提供的数据并保存在自己的硬盘上,然后用这些数据对客户机提供相应的服务。
a$
}^z UWHC]V? 讲了这么多,其实对于菜鸟们所提的代理,主要是应用,这里我再附加上设置代理服务器的方法:
Hg4Ut/0 IE4.01:菜单栏“查看”-> 下拉菜单“Internet选项”-> 选项卡“连接”-> 在“代理服务器”一栏选中“通过代理服务器访问Internet”,输入地址和端口号。-> 确定。
<Vim\ ]+AI: IE 5.0:菜单栏“工具”-> 下拉菜单“Internet选项”-> 选项卡“连接”-> 在“拨号设置”中选中您目前使用的连接,然后点击右侧的“设置”-> 在中间的“代理服务器”栏选中“使用代理服务器”-> 在“地址”和“端口”栏输入HTTP代理服务器地址和端口-> 确定 -> 确定。
$1e@3mzM 什么是协议
H\T
h4teE `8I&(k<wLe 协议就是对计算机之间连接的信息格式、能被收/发双方接受的传送信息内容的一组定义。协议有“多层”结构,高层协议如IPX或TCP/IP负责点到点传送信息包,较低层协议提供专门的信息和命令允许系统操作。
@OpcS>:R ;
OsN^ 8'y|cF%U 8Bhng;jX 什么是数据包?*
4J s>yP r"+
WUU “包”(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。有人说,局域网中传输的不是“帧”(Frame)吗?没错,但是TCP/IP协议是工作在OSI模型第三层(网络层)、第四层(传输层)上的,而帧是工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输,所以在局域网中,“包”是包含在“帧”里的。
dn Xc- < 名词解释:OSI(Open System Interconnection,开放系统互联)模型是由国际标准化组织(ISO)定义的标准,它定义了一种分层体系结构,在其中的每一层定义了针对不同通信级别的协议。OSI模型有7层,1?7层分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。OSI模型在逻辑上可分为两个部分:低层的1?4层关注的是原始数据的传输;高层的5?7层关注的是网络下的应用程序。
+] #>6/2q V4 7Fp 我们可以用一个形象一些的例子对数据包的概念加以说明:我们在邮局邮寄产品时,虽然产品本身带有自己的包装盒,但是在邮寄的时候只用产品原包装盒来包装显然是不行的。必须把内装产品的包装盒放到一个邮局指定的专用纸箱里,这样才能够邮寄。这里,产品包装盒相当于数据包,里面放着的产品相当于可用的数据,而专用纸箱就相当于帧,且一个帧中只有一个数据包。
vd~O:=)4 x{m)I<.: “包”听起来非常抽象,那么是不是不可见的呢?通过一定技术手段,是可以感知到数据包的存在的。比如在Windows 2000 Server中,把鼠标移动到任务栏右下角的网卡图标上(网卡需要接好双绞线、连入网络),就可以看到“发送:××包,收到:××包”的提示。通过数据包捕获软件,也可以将数据包捕获并加以分析。
=GF+hM/~ deNU[ 就是用数据包捕获软件Iris捕获到的数据包的界面图,在此,大家可以很清楚地看到捕获到的数据包的MAC地址、IP地址、协议类型端口号等细节。通过分析这些数据,网管员就可以知道网络中到底有什么样的数据包在活动了。
4{|lzo'& J [1GP_ 附:
x;+,lP 数据包的结构
(H$eXW7 数据包的结构非常复杂,不是三言两语能够说清的,在这里主要了解一下它的关键构成就可以了,这对于理解TCP/IP协议的通信原理是非常重要的。数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成。
*;Vq0a! 数据包的结构与我们平常写信非常类似,目的IP地址是说明这个数据包是要发给谁的,相当于收信人地址;源IP地址是说明这个数据包是发自哪里的,相当于发信人地址;而净载数据相当于信件的内容。
m +gVGK
正是因为数据包具有这样的结构,安装了TCP/IP协议的计算机之间才能相互通信。我们在使用基于TCP/IP协议的网络时,网络中其实传递的就是数据包。理解数据包,对于网络管理的网络安全具有至关重要的意义`
aUnm9ur &IcDUr]L -Je+7#P1 什么是IRC(Internet转播交谈)?*
rP'oUV_ &+\wYa, IRC(Internet Relay Chat)是一种基于Internet的通信协议,中文一般莆?チ??屑塘奶臁K?怯煞依?人Jarkko Oikarinen于1988年首创的一种网络聊天协议。经过十年的发展,目前世界上有超过60个国家提供了IRC的服务。在人气最旺的EFnet上,您可以看到上万的使用者在同一时间使用IRC。
;(XSw%Y
H IRC采用客户机/服务器模式, 它能使Internet用户实时地与其他用户交谈,每个用户通过客户端程序与远程主机建立连接,远程主机接受多个来自客户端程序的连接,并实现多个用户之间的实时通话。在海湾战争期间,IRC受到了全世界的关注。当时以色列特拉维夫的居民们在空袭期间通过IRC方式,向世界各地的听众现场描述所发生的事件。
SV.*Z|"^N IRC的工作原理非常简单,您只要在自己的PC上运行客户端软件,然后通过因特网以 IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。所有用户可以在一个被称为\\\"Channel\\\"(频道)的地方 就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称),所有的沟通就在他们所在的Channel内以不同的Nickname进行交谈。
8]O|$8'" IRC工具中国际上比较好用的是英文的mirc,在国内,比较好用的是中文的Chatkey。你可以到有关的网站下载。mirc的网址为:
http://www.mirc.com (英文),Chatkey的网址是:
http://www.chatkey.com (中文)。这里以中文的Chatkey为例,带你玩转IRC。
<^=k~7m z, OMR`W &HWH
UWB Y, P-@( 什么是Ping?*
7
ir T6O<. }5~;jN=k ?Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,你就可以推断TCP/IP参数是否设置得正确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。
X@arUs7 ,GK>|gNsb ??简单的说,Ping就是一个测试程序,如果Ping运行正确,你大体上就可以排除网络访问层、网卡、MODEM的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。但由于可以自定义所发数据报的大小及无休止的高速发送,Ping也被某些别有用心的人作为DDOS(拒绝服务攻击)的工具,曾经Yahoo就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量Ping数据包而瘫痪的。
eu#| | m'pihFR:f ??按照缺省设置,Windows上运行的Ping命令发送4个ICMP(网间控制报文协议)回颓肭螅?扛?2字节数据,如果一切正常,你应能得到4个回送应答。
\ .:CL?m# !n7?w@2a' ??Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。Ping还能显示TTL(Time To Live存在时间)值,你可以通过TTL值推算一下数据包已经通过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要通过9个路由器网段(128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。
!o`al` q' {Z|C 通过Ping检测网络故障的典型次序
/:S.("Unv eA!aUu ??正常情况下,当你使用Ping命令来查找问题所在或检验网络运行情况时,你需要使用许多Ping命令,如果所有都运行正确,你就可以相信基本的连通性和配置参数没有问题;如果某些Ping命令出现运行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:
w:qwU\U>x .N%$I6w ping 127.0.0.1--这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。如果没有做到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。
|Oo
WGVc f~]5A%=cZ ping 本机IP--这个命令被送到你计算机所配置的IP地址,你的计算机始终都应该对该Ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。
WYq, i}S \UXQy{Ex ping 局域网内其他IP--这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将IP地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。
PgVM>_nHk ar6Z?v$ ping 网关IP--这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。
MFC= oKD (F
@IUbnl ping 远程IP--如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。
8}U/fQ~ ^0r@", ping localhost--localhost是个作系统的网络保留名,它是127.0.0.1的别名,每太计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/Windows/host)中存在问题。
e@6}?q; &P\T{d2" ping
www.yahoo.com--对这个域名执行Ping命...是通过DNS服务器 如果这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障(对于拨号上网用户,某些ISP已经不需要设置DNS服务器了)。顺便说一句:你也可以利用该命令实现域名对IP地址的转换功能。
9Vp$A$7M }>grGr%oR ??如果上面所列出的所有Ping命令都能正常运行,那么你对你的计算机进行本地和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。
pD){K dZZHk Ping命令的常用参数选项
Q[}mH: w =14p Ee ping IP -t--连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。
=~R0U oL<^m?-u ping IP -l 2000--指定Ping命令中的数据长度为2000字节,而不是缺省的32字节。
&R 0BuFL8 QII>XJ9 ping IP -n--执行特定次数的Ping命令。
$Q?UyEi Lg'z%pi Q 5Ln'La$ d~.#K S 什么是系统的进程?*
A>X#[qx EB)0 iQ 我先让朋友们了解一下在任务管理器里的进程。其实在谈到进程时,还要涉及到线程的概念。 进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于操 作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。
u!t'J+: 那进程与线程的区别到底是什么?进程是执行程序的实例。例如,当你运行记事本程序(Nodepad)时,你就创建了一个用来容纳组成Notepad.exe的代码及其所需调用动态链接库的进程。每个进程均运行在其专用且受保护的地址空间内。因此,如果你同时运行记事本的两个拷贝,该程序正在使用的数据在各自实例中是彼此独立的。在记事本的一个拷贝中将无法看到该程序的第二个实例打开的数据。
5^%FEZ&Sp 我这里以沙箱为例进行阐述。一个进程就好比一个沙箱。线程就如同沙箱中的孩子们。孩子们在沙箱子中跑来跑去,并且可能将沙子攘到别的孩子眼中,他们会互相踢打或撕咬。但是,这些沙箱略有不同之处就在于每个沙箱完全由墙壁和顶棚封闭起来,无论箱中的孩子如何狠命地攘沙,他们也不会影响到其它沙箱中的其他孩子。因此,每个进程就象一个被保护起来的沙箱。未经许可,无人可以进出。
vwP83b0ov" 实际上线程运行而进程不运行。两个进程彼此获得专用数据或内存的唯一途径就是通过协议来共享内存块。这是一种协作策略。下面让我们分析一下任务管理器里的进程选项卡。
l!GAMK 6o 这里的进程是指一系列进程,这些进程是由它们所运行的可执行程序实例来识别的,这就是进程选项卡中的第一列给出了映射名称的原因。请注意,这里并没有进程名称列。进程并不拥有独立于其所归属实例的映射名称。换言之,如果你运行5个记事本拷贝,你将会看到5个称为Notepad.exe的进程。它们是如何彼此区别的呢?其中一种方式是通过它们的进程ID,因为每个进程都拥有其独一无二的编码。该进程ID由Windows NT或Windows 2000生成,并可以循环使用。因此,进程ID将不会越编越大,它们能够得到循环利用。
,\Cy'TSz 6n>+cX>E 第三列是被进程中的线程所占用的CPU时间百分比。它不是CPU的编号,而是被进程占用的CPU时间百分比。此时我的系统基本上是空闲的。尽管系统看上去每一秒左右都只使用一小部分CPU时间,但该系统空闲进程仍旧耗用了大约99%的CPU时间。
kg_TXB Z{%h6"" 第四列,CPU时间,是CPU被进程中的线程累计占用的小时、分钟及秒数。请注意,我对进程中的线程使用占用一词。这并不一定意味着那就是进程已耗用的CPU时间总和,因为,如我们一会儿将看到的,NT计时的方式是,当特定的时钟间隔激发时,无论谁恰巧处于当前的线程中,它都将计算到CPU周期之内。通常情况下,在大多数NT系统中,时钟以10毫秒的间隔运行。每10毫秒NT的心脏就跳动一下。有一些驱动程序代码片段运行并显示谁是当前的线程。让我们将CPU时间的最后10毫秒记在它的帐上。因此,如果一个线程开始运行,并在持续运行8毫秒后完成,接着,第二个线程开始运行并持续了2毫秒,这时,时钟激发,请猜一猜这整整10毫秒的时钟周期到底记在了哪个线程的帐上?答案是第二个线程。因此,NT中存在一些固有的不准确性,而NT恰是以这种方式进行计时,实际情况也如是,大多数32位操作系统中都存在一个基于间隔的计时机制。请记住这一点,因为,有时当你观察线程所耗用的CPU总和时,会出现尽管该线程或许看上去已运行过数十万次,但其CPU时间占用量却可能是零或非常短暂的现象,那么,上述解释便是原因所在。上述也就是我们在任务管理器的进程选项卡中所能看到的基本信息列。
|`,%%p|T% Zu5`-[mw 说到这里,我想大家对进程有一定的认识了吧,最后我对平时见到的各进程项细述一下,有哪些是能关的,有哪些是不能关的........
Lw3Z^G 3uN;*f CA{c-kG 什么是Sniffer?*
T,k`WR w@hm>6j 现在人们谈到黑客攻击,一般所指的都是以主动方式进行的,例如利用漏洞或者猜测系统密码的方式对系统进行攻击。但是其实还有一类危害非常大的被动攻击方式往往为大家所忽视,那就是利用Sniffer进行嗅探攻击。
`2GHB@S"k Sniffer,中文可以翻译为嗅探器,是一种威胁性极大的被动攻击工具。使用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,便可以将网上传输的源源不断的信息截获。黑客们常常用它来截获用户的口令。据说某个骨干网络的路由器曾经被黑客攻人,并嗅探到大量的用户口令。
2 &R-zG ;hRo}
+\l [IiwpC DMA是什么?*
b8>rUGA{ *ozeoX'5D 当我们向计算机中加入了一块新的声卡或其它适配卡时,安装程序可能会提醒我们应该选择一个DMA通道。那DMA是什么呢?
ZVeY`o(uE DMA(Direct Memory Access) ,即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。DMA技术的重要性在于,利用它进行数据传送时不需要CPU的参与。每台电脑主机板上都有DMA控制器,通常计算机对其编程,并用一个适配器上的ROM(如软盘驱动控制器上的ROM)来储存程序,这些程序控制DMA传送数据。一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。在DMA传送开始的短暂时间内,基本上有两个处理器为它工作,一个执行程序代码,一个传送数据。
la
f b^ 利用DMA传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要中间媒介。如果通过CPU把一个字节从适配卡传送至内存,需要两步操作。首先,CPU把这个字节从适配卡读到内部寄存器中,然后再从寄存器传送到内存的适当地址。DMA控制器将这些操作简化为一步,它操作总线上的控制信号,使写字节一次完成。这样大大提高了计算机运行速度和工作效率。
94H 6` 计算机发展到今天,DMA已不再用于内存到内存的数据传送,因为CPU速度非常快,做这件事,比用DMA控制还要快,但要在适配卡和内存之间传送数据,仍然是非DMA莫属。要从适配卡到内存传送数据,DMA同时触发从适配卡读数据总线(即I/O读操作)和向内存写数据的总线。激活I/O读操作就是让适配卡把一个数据单位(通常是一个字节或一个字)放到PC数据总线上,因为此时内存写总线也被激活,数据就被同时从PC总线上拷贝到内存中。对于每一次写操作,DMA控制器都控制地址总线,通知应将数据写到哪段内存中去。
d'PjO-"g DMA控制数据从内存传送到适配卡的方法与上面类似。对每一个要传送的单位数据,DMA控制器激活读内存和I/O写操作的总线。内存地址被放到地址总线上,像从适配卡到内存传送数据一样,以数据总线为通道,数据从源地址直接传送到目的地址。
q4Q1Ib-<2 DMA从DMA请求线(DREQ)上接收DMA请求,正像中断控制器从中断请求线(IRQ)上接收中断请求一样。一个典型的从适配卡到内存的数据传送是这样进行的,首先,对DMA控制器编程,写入数据要到达的内存地址和要传送的字节数。适配器可以开始传送数据时,它将激活DREQ线,与DMA控制器连通。DMA控制器在与CPU取得总线控制权后,输出内存地址,发送控制信号,使得一个字节或一个字从适配器读出并写入相应内存中,然后更新内存地址,指向下一个字节(或字)要写入的地址,重复上面的操作,直至数据传送完毕。对控制器进行不同编程,就可以实现单字节传送(即每传送一个字节都要求一个DREQ信号)或块数据传送(即全部数据传送只需要一个DREQ信号)。
D (yRI 如果你要往计算机中插一块适配卡,而且适配卡使用DMA,通常安装程序会让你选择一个DMA通道,设定DIP开关或跳线,来为相应适配器设置DMA通道。尽管从理论上讲,只要不是同时使用DREQ线,不同的适配卡可以共享这条线的,但是按常规,我们最好为每个适配卡单独安排一个DMA通道,这样就可以保证不会发生DMA冲突。附表是DMA的缺省分配情况。
Uh*V>HA# 通道 功能 通道 功能
B1 'Ds O 空闲 4 用于级联DMA控制器
&g|-3)A 1 空闲 5 空闲
{D$#m 2 软盘 6 空闲
,LG6py&aT 3 空闲 7 空闲
!MoGdI-<r[ 从中可以看出,DMA通道2和4已被占用,在大多数微机上,通道1、3、5、6和7可由你任意分配。我们平时最好对自己的计算机上DMA通道的分配情况记录下来,以免我们向计算机增加新硬件时出现两个适配卡共用一个通道,导致冲突。
]>&au8 Rs7=v2>I &d=j_9 YMC*<wXN IRQ是什么?*
|]^OX$d F?TAyD* IRQ就是一个中断,通过中断,外设可以取得CPU的处理时间。下表表示了通常的NT系统中的IRQ设置。
5_{C \S`T @99@do|C 中断级别 通常用途 说明
1)H+iN|im/ 0 时钟
{i3]3V"Xp 1 键盘
`5Q0U%`W 2 与IRQ 9级连
/z`LB 3 COM2或COM4
zuXJf+] 4 COM1或COM3
UP^{'eh 5 LPT2 因为许多用户没有第二个并行口,因此它常常空闲,声卡可以使用此中断
}~yhkt5K 6 软盘控制器
_z~|*7@ 7 LPT1 声卡可以使用此中断
A@+pvC& 8 实时时钟
rD
fUTfv|Q 9 与IRQ 2级连 直接与2相连,有时通知软件9时意味着2
^lf{IM-Y 10 未使用 通常用于网卡
cV=h8F 11 未使用 由SCSI控制器使用
;i> |5tEy 12 PS/2,总线鼠标 如果用户没有PS/2或总线鼠标,此中断空闲
u05Zg*.[ 13 协处理器 通知CPU协处理器错误
?(4=:o 14 硬盘控制器 如果用户未使用IDE硬盘,可以将它用于其它设备
yY[N\*P 15 有些计算机将此中断分配为第二个IDE控制器 I如果用户未使用第二个IDE硬盘控制器,可以将它用于其它设备
qf7lQovK o{lR_ g7rn|<6FI hr(E,TAe 什么是木马?*
{|bf` ;5?$q 特洛伊木马(以下简称木马),英文叫做“Trojan house”,其名称取自希腊神话的特洛伊木马记。
hxGZ}zq*S 6j+_)7.V 它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。
QVsOB$ 所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。
C65(
m 所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。
*6?h,Dt L GBVw6+(c 从木马的发展来看,基本上可以分为两个阶段。
a)/!ifJ; 最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。
d@JjqE[ 而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。
FQ26(. 所以所木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。
a^>0XXr}Y TDq(%IW S2'./!3yv 什么是ASP PHP CGI?*
.k|8nNj ?zM]p"M 这个话题是个很大的话题,要让我细说来,实在不容易,还是大至的说说吧,有不明白的再问。
xp.~i*!` 首先,ASP、PHP、CGI都是基于服务器的脚本程序,这是他们的联系。说白一点吧,普通的html页面,都是基于客户端的。也可以说,我用HTML写出什么页面,你查一下源码,就可以看到我最初是怎么写的,很多朋友就是这么盗人家的网页的。而我用ASP、PHP、CGI中的任何一种来写,你将查到的我的源程序都是经过服务器编译后的,如果我最初的源码如果不公布,你是不可能知道的。
3{O^q/R 至于区别,我个人为认为PHP最好,我也是最喜欢PHP。说起理由我也能说很多很多,但这里,我简要的说说吧。
FIDV5Y/f 哦,对了,我有一次发现网上有一个对比的表,不错,拿来给朋友们看看吧。
+:+q,0~*] ^9UKsy/q 程式介面 | PHP | ASP | CGI |
HM/2/
/ 作业系统 | 均可 | Win32 | 均可 |
DKp+ nq$ Web伺服器| 数种 | IIS | 均可 |
Q,S~+bD(z 执行效率 | 快 | 快 | 慢 |
j|c 稳定性 | 佳 | 中等 | 最高 |
;*Ldnj;B 开发奔?| 短 | 短 | 中等 |
.Cwgl 修改时间 | 短 | 短 | 中等 |
Qo+I98LX[ 程式语言 | PHP | VB | 不限 |
h(l4\) 网页结合 | 佳 | 佳 | 差 |
]yiwdQ 学习门槛 | 低 | 低 | 高 |
w9Bbvr6 函式支援 | 多 | 少 | 不定 |
SvLI%>B=9 系统安全 | 佳 | 极差 | 最佳 |
>08'+\~:b 改版速度 | 快 | 慢 | 无 |
6 GqR]KD y@Z@ eK3 CGI是Common Gateway Interface(公共网关接口)的缩写,它是一个用于定Web服务器与外部程序之间通信方式的标准。CGI可以用任何一种语言编写,只要这种语言具有标准的输入,输出和环境变量,比较常见的的语言Perl C/C++ JavaVisal BasicFoxpo等....
xp7`[. c@>Tzk%?" ASP即Active Server Page的缩写,是基于WEB的一种编程技术,可以说是CGI的一种。它可以完成以往CGI程序的所有功能,如计数器、留言簿、公告板、聊天室等等。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互。是一种简单、方便的编程工具。在了解了VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。
FL*qV"r^n XEl-5-M" PHP,一个嵌套的缩写名称,是英文“超级文本预处理语言”(PHP: Hypertext Preprocessor)的缩写。PHP与微软的ASP颇有几分相似,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言javascript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要诚信编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者javascript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
-fKo~\Pr F9IrbLS9c 7u73v+9qn: 什么是“套接字”?*
la+RK E">FH>8K} 套接字(Socket)可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序中。
lA>^k;+> Y@B0.5U2 我们来分析一下附件里的图,Host A上的程序A将一段信息写入Socket中,Socket的内容被Host A的网络管理软件访问,并将这段信息通过Host A的网络接口卡发送到Host B,Host B的网络接口卡接收到这段信息后,传送给Host B的网络管理软件,网络管理软件将这段信息保存在Host B的Socket中,然后程序B才能在Socket中阅读这段信息。
R~
n[g P'MfuTtT& 假设在图中的网络中添加第三个主机Host C,那么Host A怎么知道信息被正确传送到Host B而不是被传送到Host C中了呢?基于TCP/IP网络中的每一个主机均被赋予了一个唯一的IP地址,IP地址是一个32位的无符号整数,由于没有转变成二进制,因此通常以小数点分隔,如:198.168.0.1,正如所见IP地址均由四个部分组成,每个部分的范围都是0-255,以表示8位地址。
)_BQ@5NK (?4m0Sn>#h 假设第二个程序被加入图中的网络的Host B中,那么由Host A传来的信息如何能被正确的传给程序B而不是传给新加入的程序呢?这是因为每一个基于TCP/IP网络通讯的程序都被赋予了唯一的端口和端口号,端口是一个信息缓冲区,用于保留Socket中的输入/输出信息,端口号是一个16位无符号整数,范围是0-65535,以区别主机上的每一个程序(端口号就像房屋中的房间号),低于256的短口号保留给标准应用程序,比如pop3的端口号就是110,每一个套接字都组合进了IP地址、端口、端口号,这样形成的整体就可以区别每一个套接字t,还有两种套接字:流套接字和自寻址数据套接字,在这里我们就不细说了
.5*5S[ 什么是适配器
G'<:O(Imu Mtq\xF,/+ 其实它就是一个物理设备,它允许硬件或电子接口与其它硬件或电子接口相连。在计算机中,适配器通常内置于可插入主板上插槽的卡中(也有外置的)...卡中的适配信息与处理器和适配器支持的设备间进行交换。
1k"<T7K 了解了适配器。网络适配器就很好理解了。不用我太费口水来讲吧。常用的网络适配器为拔号适配器和网卡适配器。。
|qTvy,U[ ?gD^K,A Hd 现在我再为楼上的说一下网卡适配器出问题的检查思路吧。首先确定一下是不是驱动正常。。检查方法为打开网上邻居。在邻近的计算机那里如果能找到本机。。那么确定你的网卡可以正常工作。。如果找不到。。可以更新网卡驱动。。不果不是驱动的问题。。一般就是硬件上的问题了
X?whyD)vE@ 2t
7':X >%LZ|*U 什么是MIB?*
AQ+MjS, ynY( 网络管理信息库(MIB)是网络管理数据的标准,在这个标准里规定了网络代理设备必须保存的数据项目,数据类型,以及允许在每个数据项目中的操作。通过对这些数据项目的存取访问,就可以得到该网关的所有统计内容。再通过对多个网关统计内容的综合分析即可实现基本的网络管理。
Vi1l^ Za )S"!)\4 b GWd71ZtFO 5,dKha 什么是BitTorrent(BT)?*
^m
pWQ`R &GYnGrw?@ 简单的说BitTorrent ( 简称BT,被国内网友昵称为“变态下载”)就是一种传输工具,它利用了P2P(多点对多点) 的特性将档案的传输效率发挥到最高。 是一种多点共享协议和软件,是由美国加州一名叫Bram Cohen的程序员开发出来。
%x{jmZ$} o_ng{SL BitTorrent专门为大容量文件的共享而设计,它采用了一种有点像传销的工作方式 。
6)=`&>9 XNbeYj BT首先在上传者端把一个文件分成了很多部分,用户甲随机下载了其中的一些部分,而用户乙则随机下载了另外一些部分。
,^wjtA3j8 Jj%" 这样甲的BT就会根据情况(根据与不同电脑之间的网络连接速度自动选择最快的一端)到乙的电脑上去拿乙已经下载好的部分,同样乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的部分,这样不但减轻了服务器端的负荷,也加快了双方的下载速度。
m-?hHdO SzXR],dA 实际上每个用户在下载的同时,也在作为源在上传(别人从你的电脑上拿那个文件的某个部分)。这种情况有效的利用了上行的带宽,也避免了传统的FTP大家都挤到服务器上下载同一个文件的瓶颈。而加入下载的人越多,实际上传的人也多,其它用户下载得就越快,BT的优势就在这里体现出来。
8_$[SV$q F^4mO| 和通常的FTP、HTTP下载不同,使用BT下载不需要指定服务器,虽然在BT里面还是有服务器的概念,但下载的人并不需要关心服务器在哪里。只有发布原始共享文件的人才需要了解。
`4IZ4sPi k4T`{s}e 提供BT的服务器称为Tracker,把文件用BT发布出来的人需要知道该使用哪个服务器来为要发布的文件提供Tracker。
*'&]DJj oD<aWZ"Z 由于不指定服务器,BitTorrent采用BT文件来确定下载源。BT文件后缀名为torrent,容量很小,通常是几十K的样子,这个文件里面存放了对应的发布文件的描述信息、该使用哪个Tracker(记录下载用户信息的服务器)、文件的校验信息等。BT客户端通过处理BT文件来找到下载源和进行相关的下载操作。
a=_+8RyVQ %Yw?!GvL[ BT把提供完整文件档案的人称为种子(SEED),正在下载的人称为客户(Client),某一个文件现在有多少种子多少客户是可以看到的,只要有一个种子,就可以放心的下载,一定能抓完。当然,种子越多、客户越多的文件抓起来的速度会越快。
U/ds(*g@ gug9cmA/Q7 如果发现种子数为0,那么就不要去尝试了。通常来说,至少有一个种子,当下载的人多了起来,通常做种子的人也会随之增加,下载速度也就越快。当你下载完成后,如没有选择关闭,其它人就可以从你这里继续下载。
_ \&vA5- 什么是 TCP SYN Flood 攻击
Mbm'cM&} !#&`1cYX 在 TCP/IP 协议里,开取一次正常的连接时需要经过三次“握手”,在第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。
V_\9t8 POXd ,ON9 在攻击发生时,客户端的来源IP地址是经过伪造的(spoofed),现行的IP路由机制仅检查目的IP地址并进行转发,该IP包到达目的主机后返回路径无法通过路由达到的,于是目的主机无法通过TCP三次握手建立连接。在此期间因为TCP缓存队列已经填满,而拒绝新的连接请求。目的主机一直尝试直至超时(大约75秒)。这就是该攻击类型的基本机制。发动攻击的主机只要发送较少的,来源地址经过伪装而且无法通过路由达到的SYN连接请求至目标主机提供TCP服务的端口,将目的主机的TCP缓存队列填满,就可以实施一次成功的攻击。实际情况下,发动攻击时往往是持续且高速的。
*? V boyU rF ?gKk 附:TCP SYN Flood是一种常见,而且有效的远程拒绝服务(Denial of Service)攻击方式,它通过一定的操作破坏TCP三次握手建立正常连接,占用并耗费系统资源,使得提供TCP服务的主机系统无法正常工作。 由于TCP SYN Flood是通过网络底层对服务器进行攻击的,它可以在任意改变自己的网络地址的同时,不被网络上的其他设备所识别,这样就给889977.com部门追查犯罪来源造成很大的困难。 在国内与国际的网站中,这种攻击屡见不鲜。例:在一个拍卖网站上,曾经有犯罪分子利用这种手段,在低价位时阻止其他用户继续对商品拍卖,干扰拍卖过程的正常运作。前两天
www.cn90.net服务器也受到过SYN Flood攻击....不过也让我认清了blackICE的抗DDoS能力...唉....
O,.c gX
h4ozwVA Q&5s,)w- !#y_vz9 什么是缓冲区溢出?*
+-X
68` ?kM2/a"{G 一个程序在运行时,为了保存变量,会分配一定的内存区域来存放这些变量,当变量的长度超过程序分配区域的长度时,就会导致缓冲区溢出。对缓冲区溢出的额外数据的处理依赖于操作系统,而有所不同。黑客可以使用它来引起系统部分功能失常,甚至能利用它来执行任意的代码。
<S ae:m4 Tfq7<<0$N 许多的缓冲区溢出问题集中在用户输入了超过缓冲区长度的数据,这些额外的数据可能会在堆栈区被执行,从而打开另外的存取通道。黑客通常使用它来提升权限。
+h]~m_O 缓冲区溢出问题几乎在所有的操作系统上都存在。
PPAcEXsIu 什么是WinFS文件系统
Kj53"eW w`YN#G RE0ud_q2 WinFS文件系统全称是Windows Future Storage[Windows未来的储存系统],这种文件格式将会在微软公司下一代操作系统Windows Longhorn中进行部署,该文件系统格式将淘汰现在的FAT和NTFS格式.
d H N"pNNs -----------------------------------------------------
"f~*4g 一、什么是WinFS?*
l4bLN po9f[/s'+o WinFS是Longhorn操作系统引入的全新的存储系统。它针对原先的Microsoft Windows 平台作了三方面的改进:
_.%U}U [_HY6gr 1、WinFS允许你用多种方式来对你的存储信息进行分类,并且允许你将信息的某个数据项(item)同其它信息的数据项进行关联。
@ /.w% =O%Hf bx 2、WinFS为日常信息提供了公共存储格式(common storage format),比如:用于处理人、地点、照片等信息的存储格式。
G!)Q"+ ;~,)6UX7 3、WinFS支持多个应用程序间公共信息的共享。往往这些应用程序来自于不同的开发商。
N?EeT}m _ utu
V'5GD 二、WinFS是一个信息存储平台:
FW"n+7T Nn#;Kjul. WinFS是一个用于组织、搜索和共享各类信息的存储平台。WinFS定义了丰富的数据模型(data model )。你可以使用这些数据模型来定义能让WinFS可以使用的数据类型(data type)。WinFS还包含了很多的模式(schema)。模式是用来描述类似照片、文档、人、地点、事件、任务和消息等真实世界的实体。这些实体可以非常的复杂。比如:一个人能够有多个名字、多个住址、多个e-mail地址,甚至拥有更多的实体。
<EKTFHJ! U3**x5F_ 每个软件提供商(ISV)也可以定义自己的数据类型,并将相应的模式提供给WinFS。通过将复杂的存储问题交给WinFS去管理,ISV可以将精力集中于开发应用程序的逻辑、将WinFS提供的便利应用到自己的日常和定制数据上来。
v?Zo5uVoq DuQW?9^232 WinFS提供了一个关系引擎(relational engine )。通过它,你可以运用强大的关系查询方式来定位一个存储类型的实例。WinFS允许使用关系来组合多个存储实体。一个联系人(contact)可以是一个组织(Organization)的雇员(Employee)组中的一个成员,同时他也可以是某个住址的室友(Household)组中的一个成员。ISV可以在自己定制的数据类型之间或是在WinFS预定义的数据类型之间,自动获取搜索、复制、设置安全属性和建立关系的能力。
{h*)|J Y'y
yrn} 这种结构允许用户向系统提问,并且通过回答相应的定位信息来查找数据,而不同于Longhorn之前系统提供的搜索方式。比如:你可以要求WinFS从你的即时通讯好友中查找所有没有电话号码的人的e-mail地址。使用关系,你能够在所有室友中找到本周过生日的特定成员。
8|L;y[v 7!F -.kG WinFS也支持多种灵活的编程方式。使用这些编程方式,你可以选择适当的编程接口(API)来完成相应的任务。你可以使用传统的关系查询语句SQL来访问存储系统。同样,你也可以使用.NET类和对象来访问存储系统。你也可以使用基于XML的API来访问数据存储系统。WinFS也支持传统的Microsoft Win32文件系统API函数访问数据的方式。你甚至可以混合使用上述的几种API来完成单一的任务。然而,在大多数情况下,开发人员总是使用托管类API来操作WinFS存储系统中的数据。使用SQL语句来实现数据更新远比使用对象API要复杂得多。
KwHlpW* XvSng"f. 此外,WinFS提供了一个数据服务函数集合,用于监视、管理和操作数据。你可以通过注册所感兴趣的事件(event)来接收类似数据项(item)改变的事件。你也可以安排WinFS定期地将数据复制到其它系统中。
icK$W2<8mg =4[
U<opP 三、WinFS是一个文件系统:
Hk
f<.U 3ytlD ' 不同于传统的基于文件的文件系统,WinFS是一个全新的Windows文件系统。通常,你会把文件的主要数据,即“文件流”(file stream)作为一个文件存放在NTFS卷中。然而,每当你调用API来改变或添加NTFS文件流,WinFS将从文件流中提取出元数据(metadata),并将元数据添加到WinFS存储系统中。元数据描述了文件流的信息,包括文件的路径和其它WinFS从文件流中所提取出来的信息。根据文件的内容,元数据也许是文档的创建者,音频文件的类型或者是PDF文件的关键字等信息。文件流是驻留在NTFS中的,而相应的元数据则驻留在WinFS中,WinFS则对两者进行一致性控制。新的Longhorn应用程序可以选择将文件流直接存放在WinFS中。文件流能够用现有的Win32文件系统API或者新的WinFS API来访问。