什么是SMB?
Xj|j\2$ 0 !U=;e ?o 为了进行通信,我们人类需要同一种语言,如汉语或英语,计算机可不一样了,它们使用的语言规则不能称之为语言,而要称为协议。TCP/IP,NETBEUI,和Appletalk等都是协议。我们现在大家都知道什么TCP/IP,听说西安出租车司机都在谈这个东西。但是还有另外一种使用十分广泛的协议称为服务器信息块(Server Message Block)标准,它可以用户共享文件,磁盘,目录,打印机,在某些情况下甚至可以共享COM端口。Microsoft总希望把好东西叫成自己的,它希望将基于SMB的网络称为Windows网络,把这种协议叫CIFS,但我们在本文中还是称为SMB吧。
]6}|X#_ F<G.!Y8!& 一个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,这里面的东西,我们很多都没有使用过。因此不能加以详细介绍。
z[CCgs&vqe `[CXxp 既然东西这么多,那它们能不能相互协同工作呢?从短期来看是可以的,但是长期可能就有问题,因此许多生产厂商的修改使得SMB成了对话式的协议,但是用户至少可以使用SMB兼容系统进行打印机和文件的共享,因此不同厂商的产品有所差异,因此在访问异种网时可能有一些麻烦。当说SMB不说NetBIOS和NetBEUI是不可能的,因此基于SMB的网络使用的底层协议虽然不一样,但是最基本的是基于NetBEUI的NetBIOS和基于TCP/IP的NetBIOS,有时候我们也把后者称为RFC/Netbios或TCPBEUI。
/UM9g+Bb H-0deJ[> SMB客户或服务器总是希望使用NETBIOS接口,换而言之,无论底层使用什么协议,SMB总希望使用统一的接口和远程系统进行通信。我们可以把NETBIOS想象为乘客,而把它下层的协议想像成随便什么交通工具,这些交通工具载着乘客从A地到达B地,完成通信。那么在使用NetBEUI时会有什么问题呢?NetBEUI的问题我们还可以用上面的例子进行说明,在这种环境下,NetBEUI基本上就是一个NETBIOS,它被直接传上网络,这个乘客本来可以坐车的,现在要自己从A地走到B地。NETBEUI采用一种广播式的发送方式,它象一个在大街上到处大喊着找人的乘客,这样虽然也找到,而且有时候速度还挺快,可是网络(这里我们把网络比喻为大街)会变得十分乱。在默认情况下,Windows和OS/2 Warp使用NETBEUI作为默认协议,因此这种协议不同任何配置即可使用。
]TD]
vW YN?"d 我们上面还提到了在TCP/IP的基础上使用NetBIOS,那么我们为什么要使用TCP/IP呢,我们在什么时候要使用这种协议呢?因为用TCP/IP协议在计算机间进行通信有它的优势,这种方法不采用广播式的发送方法,而采用直接发送的方法,这样可以让网络内的无用噪声减少。而基于TCP/IP使用NetBIOS是一个非常流行的使用方法(当然用户也可以使用别的通信协议传送NETBIOS信息),因为互联网的广泛使用,计算机上一般都安装了TCP/IP,这对使用提供了方便,事实上,Samba甚至要求使用基于TCP/IP的NetBIOS,而根本不支持基于NetBEUI的NetBIOS。
wGb{O +F4xCz7f 因为基于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仿真,这就可以了。
d]w*fn m!!uf/ 什么是溢出?*
[.|tD tXPS@4F 溢出全名是“缓冲区溢出”缓冲区是内存中存放数据的地方。在程序试图将数据放到机器内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出。而人为的溢出则是有一定企图的,攻击者写一个超过缓冲区长度的字符串,然后植入到缓冲区,而再向一个有限空间的缓冲区中植入超长的字符串可能会出现两个结果,一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃;另有一个结果就是利用这种漏洞可以执行任意指令,甚至可以取得系统root特级权限。大多造成缓冲区溢出的原因是程序中没有仔细检查用户输入参数而造成的。
i[WTp??Uv 缓冲区是程序运行的时候机器内存中的一个连续块,它保存了给定类型的数据,随着动态分配变量会出现问题。大多时为了不占用太多的内存,一个有动态分配变量的程序在程序运行时才决定给它们分配多少内存。这样想下去的话,如果说要给程序在动态分配缓冲区放入超长的数据,它就会溢出了。一个缓冲区溢出程序使用这个溢出的数据将汇编语言代码放到机器的内存里,通常是产生root权限的地方,这就不是什么好现象了。仅仅就单个的缓冲区溢出惹眼,它并不是最大的问题根本所在。但如果溢出送到能够以root权限运行命令的区域,一旦运行这些命令,那可就等于把机器拱手相让了。
#Wh"_zpM+ 什么是虚拟主机?
rK)%n!Z S(/@.gI:f 通俗的说,虚拟主机技术是将一台(或者一组)服务器的资源(系统资源、网络带宽、存储空间等)按照一定的比例分割成若干台相对独立的“小主机”的技术。每一台这样的“小主机”在功能上都可以实现WWW、FTP、Mail等基本的Internet服务,就像使用独立的主机一样。
#WfJz}P,! $+V{2k4X, 采用虚拟主机建立网站,可以为企业节省大量的设备、人员、技术、资金、时间等各项投入,为即将建立Internet网站的企业提供了一种“物美价廉”的解决方案。目前,全球有80%的企业网站在使用虚拟主机。
MqXA8D K;S&91V)=
%~$4[,= 什么是EXA和XDA?*
D|_}~T>;& >Li
~Og@ 所谓的EXA就是“企业级X-架构”(Enterprise X Archive,EXA)含义,2001年8月,IBM在基于X架构服务器设计蓝图的基础之上在实验室里成功引入了大型机的四项核心技术(Xpand On Demand扩展、XceL4服务器加速缓存、Active内存和“远程I/O”)技术开发了“IBM 企业级X架构”。
r ZGA9duy EXA架构的基础就是XA-32和XA-64系列芯片组,适用于32位和64位工业标准服务器。
=cqaA^HQL vhKeW(z EXA架构的特点首先看重性能,毕竟用单路和双路服务器去做更关键应用时,性能是很重要的因素。其次是高可用性,EXA架构的第三个特点是可管理性,EXA在高可管理性上添加了全新设计的光通路诊断。最后一个特点就是灵活性,EXA架构要求系统能够满足各种各样的客户的需求,而IBM也许会对很多应用进行认证。
D:%$a]_f SE%i@} 这四大特点使得IBM能够与同质化的商品区分开来,在工业标准平台上做高可@@的关键应用的服务器。
D~8f6Ko"m Z1OX9]##r 我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如:
http://www.microsoft.com/china/index.htm。它的含义如下:
eN,m8A`/S 1. http://:代表超文本传输协议,通知microsoft.com服务器显示Web页,通常不用输入;
3nR|*t; 2. www:代表一个Web(万维网)服务器;
hLJO\=0rJz 3. Microsoft.com/:这是装有网页的服务器的域名,或站点服务器的名称;
yh lZdF 4. China/:为该服务器上的子目录,就好像我们的文件夹;
*4=Fy:R]O 5. Index.htm:index.htm是文件夹中的一个HTML文件(网页)。
Vv6xVX 我们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Application layer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。
4}#*M2wb HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以http://开头的原因。
AF **@iG 自WWW诞生以来,一个多姿多彩的资讯和虚拟的世界便出现在我们眼前,可是我们怎么能够更加容易地找到我们需要的资讯呢?当决定使用超文本作为WWW文档的标准格式后,于是在1990年,科学家们立即制定了能够快速查找这些超文本文档的协议,即HTTP协议。经过几年的使用与发展,得到不断的完善和扩展,目前在WWW中使用的是HTTP/1.0的第六版。
];j8vts& A\k-OP] OJ]{FI ipc$ 是什么?*
n |.- :Zy Y5Ey%Mm6 IPC$(Internet Process Connection)是共享\"命名管道\"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
M>1V3sM 利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。
b%T-nY2 我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。
kZf7 所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的.
?CM,k0 解惑:
}2DeqY 1)IPC连接是Windows NT及以上系统中特有的远程网络登陆功能,其功能相当于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函数,所以不能在Windows 9.x中运行。
GTJ\APrH 也就是说只有nt/2000/xp才可以建立ipc$连接,98/me是不能建立ipc$连接的(但有些朋友说在98下能建立空的连接,不知道是真是假,不过现在都2003年了,建议98的同志换一下系统吧,98不爽的)
C,jPr )6) 2)即使是空连接也不是100%都能建立成功,如果对方关闭了ipc$共享,你仍然无法建立连接
R)G'ILneV 3)并不是说建立了ipc$连接就可以查看对方的用户列表,因为管理员可以禁止导出用户列表
vWzNsWPK"{ PMkwY{.u 什么是病毒?*
zgVplp ?MO'WB9+JR 下面我们谈一谈病毒。您以前是否听说过电脑病毒?不要一听到病毒就浑身发抖,只要了解了病毒,对付起来还是很容易的。
`4Nc(aUr Zw"6-h4 电脑病毒与我们平时所说的医学上的生物病毒是不一样的,它实际上是一种电脑程序,只不过这种程序比较特殊,它是专门给人们捣乱和搞破坏的,它寄生在其它文件中,而且会不断地自我复制并传染给别的文件,没有一点好作用。
M,y='*\M 213D{#2 电脑病毒发作了都会有哪些症状呢?
s9O] tk zXZy:SD 电脑染上病毒后,如果没有发作,是很难觉察到的。但病毒发作时就很容易感觉出来:
:sM|~gT ("mW=Ln 有时电脑的工作会很不正常,有时会莫名其妙的死机,有时会突然重新启动,有时程序会干脆运行不了。
G{ F>=z"(l r_
r+&4n ◎ 电脑染毒后表现为:工作很不正常,莫名其妙死机,突然重新启动,程序运行不了。
2c9@n9Vx3a {`l]RIig 有的病毒发作时满屏幕会下雨,有的屏幕上会出现毛毛虫等,甚至在屏幕上出现对话框,这些病毒发作时通常会破坏文件,是非常危险的,反正只要电脑工作不正常,就有可能是染上了病毒。病毒所带来的危害更是不言而喻了。
IcaIB) f{^n<\Jh 而且,以前人们一直以为,病毒只能破坏软件,对硬件毫无办法,可是CIH病毒打破了这个神话,因为它竟然在某种情况下可以破坏硬件!
(|O;Ci 0qJ 3@d 电脑病毒和别的程序一样,它也是人编写出来的。既然病毒也是人编的程序,那就会有办法来对付它。最重要的是采取各种安全措施预防病毒,不给病毒以可乘之机。另外,就是使用各种杀毒程序了。它们可以把病毒杀死,从电脑中清除出去。
69q8t*%O 什么是路由器
N9{ivq|fO $+*ZsIo 路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。
$#"}g#u zz02F+H$Y 路由器有两大典型功能,即数据通道功能和控制功能。数据通道功能包括转发决定、背板转发以及输出链路调度等,一般由特定的硬件来完成;控制功能一般用软件来实现,包括与相邻路由器之间的信息交换、系统配置、系统管理等。
KLAnW# | %6B#uy 多少年来,路由器的发展有起有伏。90年代中期,传统路由器成为制约因特网发展的瓶颈。ATM交换机取而代之,成为IP骨干网的核心,路由器变成了配角。进入90年代末期,Internet规模进一步扩大,流量每半年翻一番,ATM网又成为瓶颈,路由器东山再起,Gbps路由交换机在1997年面世后,人们又开始以Gbps路由交换机取代ATM交换机,架构以路由器为核心的骨干网。
(;Lz`r' ux{OgFfi :UFf6T? w_A-:S
5C 什么是肉鸡?*
AGrGZ7p] F fl`;M 肉鸡就是具有最高管理权限的远程电脑。简单的说就是受你控制的远程电脑。肉鸡可以是win、Unix/Linux……等各种系统;肉鸡可以是一家公司的服务器,一家网站的服务器,甚至是美国白宫或军方的电脑,只要你有这本事入侵并控制他,呵呵。莱鸟所说用的肉鸡一般是开了3389端口的Win2K系统的服务器。
=>-b?F0(c 要登陆肉鸡,必须知道3个参数:远程电脑的IP、用户名、密码。
Zj`eR\7~ 什么是shell
TX;OA"3=\- %'^m6^g; 操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
.8.ivfmJh shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
)@))3 Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。
?86h:9 什么是交互式shell 什么是非交互式shell
Bg7?1m <J`_Qc8C 交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
{"4t`dM shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
gxt2Mq;q~} 什么是端口
AS4m227 a$;+-Y 在开始讲什么是端口之前,我们先来聊一聊什么是 port 呢?常常在网络上听说『我的主机开了多少的 port ,会不会被入侵呀!?』或者是说『开那个 port 会比较安全?又,我的服务应该对应什么 port 呀!?』呵呵!很神奇吧!怎么一部主机上面有这么多的奇怪的 port 呢?这个 port 有什么作用呢?!
:gQc@)jZ(* kl2]#G( 由于每种网络的服务功能都不相同,因此有必要将不同的封包送给不同的服务来处理,所以啰,当你的主机同时开启了 FTP 与 WWW 服务的时候,那么别人送来的资料封包,就会依照 TCP 上面的 port 号码来给 FTP 这个服务或者是 WWW 这个服务来处理,当然就不会搞乱啰!(注:嘿嘿!有些很少接触到网络的朋友,常常会问说:『咦!为什么你的计算机同时有 FTP、WWW、E-Mail 这么多服务,但是人家传资料过来,你的计算机怎么知道如何判断?计算机真的都不会误判吗?!』现在知道为什么了吗?!对啦!就是因为 port 不同嘛!你可以这样想啦,有一天,你要去银行存钱,那个银行就可以想成是『主机』,然后,银行当然不可能只有一种业务,里头就有相当多的窗口,那么你一进大门的时候,在门口的服务人员就会问你说:『嗨!你好呀!你要做些什么事?』你跟他说:『我要存钱呀!』,服务员接着就会告诉你:『喝!那么请前往三号窗口!那边的人员会帮您服务!』这个时候你总该不会往其它的窗口跑吧?! ^_^\"\"这些窗口就可以想成是『 port 』啰!所以啦!每一种服务都有特定的 port 在监听!您无须担心计算机会误判的问题呦!)
u%ih7v!r\ Mzxz- cE · 每一个 TCP 联机都必须由一端(通常为 client )发起请求这个 port 通常是随机选择大于 1024 以上的 port 号来进行!其 TCP 封包会将(且只将) SYN 旗标设定起来!这是整个联机的第一个封包;
MZ0uc2L= iAup',AZg · 如果另一端(通常为 Server ) 接受这个请求的话(当然啰,特殊的服务需要以特殊的 port 来进行,例如 FTP 的 port 21 ),则会向请求端送回整个联机的第二个封包!其上除了 SYN 旗标之外同时还将 ACK 旗标也设定起来,并同时时在本机端建立资源以待联机之需;
[iL2c=_ jY ^ndr0; · 然后,请求端获得服务端第一个响应封包之后,必须再响应对方一个确认封包,此时封包只带 ACK 旗标(事实上﹐后继联机中的所有封包都必须带有 ACK 旗标)﹔
]1D>3 7W}~c/ % · 只有当服务端收到请求端的确认( ACK )封包(也就是整个联机的第三个封包)之后﹐两端的联机才能正式建立。这就是所谓的 TCP 联机的\'三段式交握( Three-Way Handshake )\'的原理。
6jF~zI^ kv `x 经过三向交握之后,呵呵!你的 client 端的 port 通常是高于 1024 的随机取得的 port 至于主机端则视当时的服务是开启哪一个 port 而定,例如 WWW 选择 80 而 FTP 则以 21 为正常的联机信道!
r!Mr\ Q9W*)gBvn 总而言之,我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念.工具提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议姆?裉峁┑亩丝冢?簿头治猅CP端口和UDP端口。
UP, 0`fh(y 那么,如果攻击者使用软件扫描目标计算机,得到目标计算机打开的端口,也就了解了目标计算机提供了那些服务。我们都知道,提供服务就一定有服务软件的漏洞,根据这些,攻击者可以达到对目标计算机的初步了解。如果计算机的端口打开太多,而管理者不知道,那么,有两种情况:一种是提供了服务而管理者没有注意,比如安装IIS的时候,软件就会自动增加很多服务,而管理员可能没有注意到;一种是服务器被攻击者安装木马,通过特殊的端口进行通信。这两种情况都是很危险的,说到底,就是管理员不了解服务器提供的服务,减小了系统安全系数。
T_YN^za(q Q5 ohaxjF S5bk<8aPP KHF5Nt 什么是扫描?*
<<n8 P5pXt
KJ'MK~g 如果你的机子连入互联网,那么你就有被扫描的危险。这里要给大家介绍的就是:什么是扫描,为什么有人要扫描,以及有趣的秘密握手机制和不同的扫描技术。
'HOcK8}b Lg9ktRKK 扫描一个系统或者一个网络,通常是为了发现这个被扫描的对象在提供哪些服务。扫描者可以分成两种类型,一种是“好人”:比如系统管理员和网络安全顾问,他们扫描的目的纯粹是外了找出系统的缺陷或漏洞,进而想办法弥补。当然另一类的就只能是“坏人”了,比如有“脚本小孩”或者更“坏”的,他们的目的是为了找出漏洞,进而实施攻击。
xx/DD%IZ |k?,4
Pk 扫描就象是去一栋公寓然后挨家敲门看谁在家。你是否在运行一个WEB服务器,或者邮件服务器、BIND、Telnet、FTP、RPC等等。这些问题的答案扫描都可以给出。遗憾的是,这些答案通常很明显的暴露在外,使得那些技术不是很高明的人可以轻而易举的进去“参观”。
%}$6#5"'; |fRajuA; 当然,我这里指的并非是那些极为高明,技术顶尖的黑客,我指的是那些只知道如何从网络上下载文件或收发EMAIL的大学生,当然中学生也不例外,他们通常被称为“脚本孩子”,因为他们并没有高深的技术知识作后盾,仅仅是通过运行别人写出的脚本程序来扫描或攻击别人的系统。 除了这些可以随意下载的脚本外,攻击者通常还会下载一个叫做端口扫描器的软件工具。这种工具较旧的比如有ISS,较新的则如NMAP2.54的BETA22.1等。如果攻击者可以在你的系统中找到一个明显的漏洞,那么完了,你的系统很快将会属于他了,而且,扫描并不犯法,它并不是抢劫,你还无处申诉。
|vEfE{ paMw88*u 如今,“坏人”的扫描通常会遇到这样的问题,就是他们扫描过的系统往往会记录扫描行为所利用的每一个连接信息,或许扫描的人的确很浅薄,没有意识到在他们扫描过程中会在系统中留下“犯罪”的记录,但稍微留意的人都会想法抹除他们的犯罪记录。有很多方法可以达到这个目的。比如,许多黑客通过他预先攻击过的主机来扫描远程主机,这样,即使被扫描的主机记录了这一信息,逆向搜索的人能知道的也仅限于黑客预先攻击过的主机,真正的黑客信息并不能找到。这里介绍的秘密扫描就属于这样一种扫描方式,它使得逆向搜索变的更为困难,因为它的工作机制甚至不需要建立连接。
#9
}Oqm EHo"y.ODg 为了理解什么是秘密扫描以及它的工作原理,你首先应该对TCP/IP数据包的内容以及TCP的秘密握手机制有所了解。除了携带发送和接收方的IP地址和端口号外,TCP的报头还包含一个序列号和一些起着特殊作用的标记位。这里仅提到其中的三个标记位:SYN,ACK和FIN。因为它们三个的作用与这里讨论的主题密切相关。
Prjl ;[I} |,}QhR 当系统间彼此说“HELLO”或道“GOODBYE”时,就会用到所谓的握手机制。让我们先看看如何利用TCP/IP的握手机制来建立一个连接。本文中所提到的连接均指的是发生在两个IP地址间,有一定的端口号的连接。当你想网上冲浪,或者想TELNET到远程主机时,三次握手机制就会为你生成一个这样的连接。
eZ
]6Q 6p1TI1( 它的工作原理大致如下:握手的第一步,一台计算机首先请求和另外一台计算机建立连接,它通过发送一个SYN请求来完成,也即将前面提到的SYN标记位置位。消息的内容就象是说:“HI,听着,我想和你的机子端口X上的服务说话,咱们先同步一下,我用序列号Y来开始连接。” 端口X表示了连接的服务类型。至于哪些端口支持哪些类型的服务,可以参考UNIX下面的/etc/services文件。两台计算机间的每条信息都有一个由发送方产生的序列号,序列号的使用使得双方知道他们之间是同步的,而且还可以起到丢失信息时或接收顺序错误时发送警告信息的作用。
'OF)`5sj /vU9eh"% 握手的第二步,接收到SYN请求的计算机响应发送来的序列号,它会将ACK标记位置位,同时它也提供自己的序列号,这个做法类似于说:OH,亲爱的,我已经收到了你的号码,这是我的号码。
'@pav>UPD p4aM`PW8>= 到现在为止,发起连接建立请求的计算机认为连接已经建立起来,然而对方却并不这样认为,对方还要等到它自己的序列号有了应答后才能确认连接建立起来。因此现在的状态可以称为“半连接”。如果发起连接请求的计算机不对收到的序列号作出应答,那么这个连接就永远也建立不起来,而正因为没有建立连接,所以系统也不会对这次连接做任何记录。
5!y3=.j W>1\f0' rEddX S93NsrBbY 什么是加壳和脱壳?*
C"0gAN @6t3Us~/ 加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东东。软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。所以,这些的工作只是在内存中运行的,是不可以了解具体是怎么样在内存中运行的。通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。因为有的时候程序会过大,需要压缩。但是大部分的程序是因为防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。
QouTMS-b guFR5>-L 脱壳,是完全破除压缩后软件无法编辑的限制,去掉头部的解压缩指令,然后解压出加壳前的完整软件。这样,你就可以对其“动刀”了。
=YPWt>\a} 代理服务器是什么玩意
Y z%= A.z~wu%( 代理有很多种解释,而我们常常提到的代理,从计算机专业角度来说就是指代理服务器相关,针对syx-kn 的提问,我先把代理服务器向大家简单的介绍一下吧!!
[~jhOv^ 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。而且,大部分代理服务器都具有缓冲的功能,就好象一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。更重要的是:Proxy Server (代理服务器)是 Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联 (OSI) 模型的对话层。
tK8\Ib J 代理服务器(Proxy Server)就是个人网络和因特网服务商之间的中间代理机构,它负责转发合法的网络信息,并对转发进行控制和登记。在使用网络浏览器浏览网络信息的时候,如果使用代理服务器,浏览器就不是直接到Web服务器去取回网页,而是向代理服务器发出请求,由代理服务器取回浏览器所需要的信息。目前使用的因特网是一个典型的客户机/服务器结构,当用户的本地机与因特网连接时,通过本地机的客户程序比如浏览器或者软件下载工具发出请求,远端的服务器在接到请求之后响应请求并提供相应的服务。
gB
kb0 代理服务器处在客户机和服务器之间,对于远程服务器而言,代理服务器是客户机,它向服务器提出各种服务申请;对于客户机而言,代理服务器则是服务器,它接受客户机提出的申请并提供相应的服务。也就是说,客户机访问因特网时所发出的请求不再直接发送到远程服务器,而是被送到了代理服务器上,代理服务器再向远程的服务器提出相应的申请,接收远程服务器提供的数据并保存在自己的硬盘上,然后用这些数据对客户机提供相应的服务。
9rA3qj% Zz/w>kAG*{ 讲了这么多,其实对于菜鸟们所提的代理,主要是应用,这里我再附加上设置代理服务器的方法:
N<:Ra~Ay IE4.01:菜单栏“查看”-> 下拉菜单“Internet选项”-> 选项卡“连接”-> 在“代理服务器”一栏选中“通过代理服务器访问Internet”,输入地址和端口号。-> 确定。
&;%+Hduc ~ZvZk IE 5.0:菜单栏“工具”-> 下拉菜单“Internet选项”-> 选项卡“连接”-> 在“拨号设置”中选中您目前使用的连接,然后点击右侧的“设置”-> 在中间的“代理服务器”栏选中“使用代理服务器”-> 在“地址”和“端口”栏输入HTTP代理服务器地址和端口-> 确定 -> 确定。
` qt4~rD 什么是协议
y/kCzDT, gvsS:4N"Nq 协议就是对计算机之间连接的信息格式、能被收/发双方接受的传送信息内容的一组定义。协议有“多层”结构,高层协议如IPX或TCP/IP负责点到点传送信息包,较低层协议提供专门的信息和命令允许系统操作。
ZE}m\|$ PT\5P&2o@ UbMcXH8=F xFyMg& 什么是数据包?*
^z)lEO li; P,kg$ “包”(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。有人说,局域网中传输的不是“帧”(Frame)吗?没错,但是TCP/IP协议是工作在OSI模型第三层(网络层)、第四层(传输层)上的,而帧是工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输,所以在局域网中,“包”是包含在“帧”里的。
;>Z#1~8 名词解释:OSI(Open System Interconnection,开放系统互联)模型是由国际标准化组织(ISO)定义的标准,它定义了一种分层体系结构,在其中的每一层定义了针对不同通信级别的协议。OSI模型有7层,1?7层分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。OSI模型在逻辑上可分为两个部分:低层的1?4层关注的是原始数据的传输;高层的5?7层关注的是网络下的应用程序。
>n` OLHg; [a+?z6qI\} 我们可以用一个形象一些的例子对数据包的概念加以说明:我们在邮局邮寄产品时,虽然产品本身带有自己的包装盒,但是在邮寄的时候只用产品原包装盒来包装显然是不行的。必须把内装产品的包装盒放到一个邮局指定的专用纸箱里,这样才能够邮寄。这里,产品包装盒相当于数据包,里面放着的产品相当于可用的数据,而专用纸箱就相当于帧,且一个帧中只有一个数据包。
j-A
S {w b*p,s9k7 “包”听起来非常抽象,那么是不是不可见的呢?通过一定技术手段,是可以感知到数据包的存在的。比如在Windows 2000 Server中,把鼠标移动到任务栏右下角的网卡图标上(网卡需要接好双绞线、连入网络),就可以看到“发送:××包,收到:××包”的提示。通过数据包捕获软件,也可以将数据包捕获并加以分析。
av`b8cGg zb;2xTH+ 就是用数据包捕获软件Iris捕获到的数据包的界面图,在此,大家可以很清楚地看到捕获到的数据包的MAC地址、IP地址、协议类型端口号等细节。通过分析这些数据,网管员就可以知道网络中到底有什么样的数据包在活动了。
;q$<]X_S)} 6] <?+#uQ 附:
J'B; 数据包的结构
I
s8| 数据包的结构非常复杂,不是三言两语能够说清的,在这里主要了解一下它的关键构成就可以了,这对于理解TCP/IP协议的通信原理是非常重要的。数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成。
\&e+f#!u 数据包的结构与我们平常写信非常类似,目的IP地址是说明这个数据包是要发给谁的,相当于收信人地址;源IP地址是说明这个数据包是发自哪里的,相当于发信人地址;而净载数据相当于信件的内容。
HkrNh>^= 正是因为数据包具有这样的结构,安装了TCP/IP协议的计算机之间才能相互通信。我们在使用基于TCP/IP协议的网络时,网络中其实传递的就是数据包。理解数据包,对于网络管理的网络安全具有至关重要的意义`
c/g(=F__[ y`(z_5ClT B]]M?pS 什么是IRC(Internet转播交谈)?*
6j`
waK MJ92S( IRC(Internet Relay Chat)是一种基于Internet的通信协议,中文一般莆?チ??屑塘奶臁K?怯煞依?人Jarkko Oikarinen于1988年首创的一种网络聊天协议。经过十年的发展,目前世界上有超过60个国家提供了IRC的服务。在人气最旺的EFnet上,您可以看到上万的使用者在同一时间使用IRC。
4@8i,q> IRC采用客户机/服务器模式, 它能使Internet用户实时地与其他用户交谈,每个用户通过客户端程序与远程主机建立连接,远程主机接受多个来自客户端程序的连接,并实现多个用户之间的实时通话。在海湾战争期间,IRC受到了全世界的关注。当时以色列特拉维夫的居民们在空袭期间通过IRC方式,向世界各地的听众现场描述所发生的事件。
`w~ 9/sty IRC的工作原理非常简单,您只要在自己的PC上运行客户端软件,然后通过因特网以 IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。所有用户可以在一个被称为\\\"Channel\\\"(频道)的地方 就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称),所有的沟通就在他们所在的Channel内以不同的Nickname进行交谈。
-3w? y IRC工具中国际上比较好用的是英文的mirc,在国内,比较好用的是中文的Chatkey。你可以到有关的网站下载。mirc的网址为:
http://www.mirc.com (英文),Chatkey的网址是:
http://www.chatkey.com (中文)。这里以中文的Chatkey为例,带你玩转IRC。
kdWi!Hp 4|Y0$(6o wv?`3:co dC.uK^FuJ 什么是Ping?*
9&2kuLp?P c6?5?_ne ?Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,你就可以推断TCP/IP参数是否设置得正确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。
tX)]ZuEi$ 5dL-v&W ??简单的说,Ping就是一个测试程序,如果Ping运行正确,你大体上就可以排除网络访问层、网卡、MODEM的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。但由于可以自定义所发数据报的大小及无休止的高速发送,Ping也被某些别有用心的人作为DDOS(拒绝服务攻击)的工具,曾经Yahoo就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量Ping数据包而瘫痪的。
+vYm: c4;
`3 ??按照缺省设置,Windows上运行的Ping命令发送4个ICMP(网间控制报文协议)回颓肭螅?扛?2字节数据,如果一切正常,你应能得到4个回送应答。
]v9<^! @aj"12 ??Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。Ping还能显示TTL(Time To Live存在时间)值,你可以通过TTL值推算一下数据包已经通过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要通过9个路由器网段(128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。
5_`.9@eh. /&kTVuN"( 通过Ping检测网络故障的典型次序
,'ndQ{\9 XeZv%` ? ??正常情况下,当你使用Ping命令来查找问题所在或检验网络运行情况时,你需要使用许多Ping命令,如果所有都运行正确,你就可以相信基本的连通性和配置参数没有问题;如果某些Ping命令出现运行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:
k+s<;{ yGN<.IP75 ping 127.0.0.1--这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。如果没有做到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。
F.@yNr" 6\E |` ping 本机IP--这个命令被送到你计算机所配置的IP地址,你的计算机始终都应该对该Ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。
67n1s c)$/Uu ping 局域网内其他IP--这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将IP地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。
! Noabt 8fDnDA.e ping 网关IP--这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。
Dnd s"sX#l[J ping 远程IP--如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。
G1P m!CM= k@wT,?kD ping localhost--localhost是个作系统的网络保留名,它是127.0.0.1的别名,每太计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/Windows/host)中存在问题。
9Y/c<gbY <'gCI Ia2 ping
www.yahoo.com--对这个域名执行Ping命...是通过DNS服务器 如果这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障(对于拨号上网用户,某些ISP已经不需要设置DNS服务器了)。顺便说一句:你也可以利用该命令实现域名对IP地址的转换功能。
sL!6-[N =B?uNo e ??如果上面所列出的所有Ping命令都能正常运行,那么你对你的计算机进行本地和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。
@&2T0UB !(o)*S Ping命令的常用参数选项
>\>HRyt% uF<F4m; ping IP -t--连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。
@V<