黑客攻防实战技术完全手册:扫描、嗅探、入侵与防御(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-17 07:57:21

点击下载

作者:夏添,李绍文 编著

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

黑客攻防实战技术完全手册:扫描、嗅探、入侵与防御

黑客攻防实战技术完全手册:扫描、嗅探、入侵与防御试读:

前言

如果有一天,一个未曾谋面的陌生人在QQ或MSN上告诉您说:“您的计算机的密码是×××,您的QQ和邮箱密码是×××,您的×××文件……”您一定会在气愤的同时感到非常惊讶,并且非常佩服对方非同寻常的能力。可是您的密码未曾告诉过任何人,也没有把文件给任何人看过,为什么对方就可以掌握自己存储在计算机中的隐私资料呢?其实这就是黑客攻击。类似的网络攻击或入侵方面的例子很多,这已成为了每一位网民的必修课,为了揭开这些谜底,帮助读者保护自己计算机信息的安全,我们特意撰写了本书。

本书特色

● 内容丰富,实例经典

本书追求理论与实践的结合,用浅显的语言讲述精心设计的经典实例,将黑客攻防的基本理论和实战技巧融入到范例当中,全面覆盖黑客攻防的各个角落。

● 实例众多,讲解通俗

为了贴近实战,作者都结合更多的案例讲解每一个知识点,这些实例都是真实案例的提炼和总结。并且攻防的每一步都通过图解形式给出,通俗易懂、详略得当。

● 知识面宽,重点突出

本书涉及的内容众多,有基本的黑客攻防实战技巧,也有深入的黑客攻防技术;既有个人用户的防范知识,也有针对Internet、局域网、无线网的攻防知识,是真正成为防范高手的晋级知识。每章讲解都遵循“学习目标→攻防原理剖析→实战防范技术与技巧→案例总结”这种读者易于学习和实践的方式进行,达到了既授之以鱼,又授之以渔的目的。

本书内容

我们计算机上一般都装有杀毒和防火墙等安全软件,看似已经打造得铜墙铁壁了,但为什么突然我们的数据或密码就被改变了呢?陌生人是如何知道自己的计算机的 IP 地址的呢?又是如何知道自己的计算机存在漏洞呢?网络服务器怎么被入侵的呢?所有这些疑问都将通过本书得到详细的答案。

本书主要内容是从“扫描、嗅探、入侵和防御”几个方面来阐述黑客常用的攻击和防御技术,这几种技术都是目前在黑客的攻防中使用率最高的。第1章~第2章介绍网络安全的基础知识以及扫描器分类及原理;第3章~第5章介绍黑客收集信息的方式以及大型扫描器的使用方法;从第6章开始逐步过渡到嗅探攻击技术,其中第6章~第7章介绍基于嗅探的被动攻击方式以及攻击工具的原理;第8章~第11章为读者介绍目前主流的木马以及攻击工具的原理及防范,读者在阅读和学习本书介绍的技术和实战案例时,按照章节顺序阅读就可以达到防范黑客攻击的最佳效果。

读者对象

本书以清晰明朗的写作思路,图文并茂的讲解形式,由浅入深地引导读者学习黑客常用的攻击和防御方法。本书适合于初、中级用户学习网络安全知识时阅读,同时也可作为高级安全工程师的参考资料。

本书由夏添、李绍文编著,在编写过程中,张博、王洪、叶凤云、教青、陈芳、管西京、柯华坤、王大平、林丁报、张英男、张鹏、温才燚、刘冉、李新峰、李连闯、范洪彬、裴要强等提供了很大帮助,在此,对他们表示衷心的感谢。由于时间仓促,加上编者水平有限,书中难免存在一些不足和错误之处,恳请广大读者批评指正,联系邮箱为:zhangtao@ptpress.com.cn。

需要声明的是,本书的目的绝不是为那些怀有不良动机的人提供支持,也不承担因为技术被滥用所产生的连带责任,本书的目的在于普及网络安全知识,增强人们防范病毒及木马攻击的能力,提高防范技术水平。编者第1章网络安全概述

随着网络的不断发展,全球信息化已成为人类发展的必然趋势。但由于计算机网络具有开放性、互连性等特征,致使Internet用户易受到黑客(hacker)等不法人员的攻击,使得网上信息的安全性和保密性已成为一个至关重要的问题。

随着人们越来越依赖于计算机进行工作,网络安全也越来越受到人们的关注,在世界各个国家的网络不断受到黑客攻击的同时,信息安全技术也得到了突飞猛进的发展。面对信息安全的严峻形势,在网络安全成为普遍问题的情况下,如何保护自己的主机免受黑客的侵犯,已成为每一位网络用户的首要任务。因此,对网络安全有一个较全面的了解显得尤为重要。1.1 网络安全的定义与所受威胁1.1.1 网络安全定义

一般来说,网络安全是指保护网络系统中的软件、硬件及信息资源,使之免受偶然或恶意的破坏、篡改和泄露,确保网络系统的正常运行、网络服务不中断。

对用户而言,网络安全的总体目标是确保系统的可持续运行和数据的安全性。

而从广义来讲,网络安全包括硬件资源和信息资源的安全性。

网络安全需要保护的5个方面为。

● 可用性。可用性是指得到授权的实体在需要时可以得到所需要的网络资源和服务。

● 机密性。机密性是指网络中的信息不被非授权实体(包括用户和进程等)获取与使用。

● 完整性。完整性是指网络信息的真实可信性,即网络中的信息不会被偶然或者蓄意地进行删除、修改、伪造、插入等破坏,确保已授权用户得到的信息是真实的。

● 可靠性。可靠性是指系统在规定的条件下和规定的时间内,完成规定功能的概率。

● 不可抵赖性。不可抵赖性也称为不可否认性。是指通信的双方在通信过程中,对于自己所发送或接收的消息不可抵赖。1.1.2 网络安全威胁

目前对网络安全威胁分类主要有3种方式:一种是对安全威胁的实施者即攻击者进行分类,一种是根据网络安全威胁的行为方式进行分类,另一种是根据安全威胁的技术类型不同进行分类。

1.根据网络攻击者进行分类

著名的网络安全研究学者John D. Howard 博士认为,网络系统的攻击者有黑客、间谍、恐怖主义者、公司职员、职业犯罪者、破坏者共6类,不同类型的攻击者其攻击目的不同。

对于黑客最流行的说法是黑客源于网络共享精神,在几十年前美国国防部刚刚开始ARPANET 实验的时候,由一些程序设计专家和网络名人组成了具有共享性质的文化群体,这些成员为自己创造了“hacker”这个名词。

黑客专注于发明新技术,而与黑客相对应的骇客(cracker)的定义是指那些专注于搞破坏活动的无聊分子。他们利用网络中现有的技术和软件,乐于表现自己的能力、喜欢看到被破坏者无可奈何的苦笑。黑客们对骇客不屑一顾,他们认为这些人懒惰、不负责任,并且不够光明正大。懒惰表现为只知道将别人的数据、成果据为己有,而不做丝毫贡献;不负责任是指对网络的恶意攻击。人们普遍认为黑客和骇客的区别是,他们是否对新技术的发展有贡献、是否对他人进行恶意的攻击。

本书所说的黑客是指所有对网络节点实施攻击的个人,包括John D.Howard 博士所说的网络系统的攻击者中的黑客、公司职员、职业犯罪者、破坏者。

我国对网络安全威胁根据攻击者进行分类的另一种方式是,根据攻击来源分为外部攻击、内部攻击和行为滥用攻击。攻击者来自该计算机系统的外部时称作外部攻击;当攻击者就是那些有权使用计算机,但无权访问某些特定的数据、程序或资源的人企图越权使用系统资源时则视为内部攻击,包括假冒者(即那些使用其他合法用户的身份和口令的人)、秘密使用者;特权滥用者也是计算机系统资源的合法用户,表现为有意或无意地滥用他们的特权。

2.根据网络攻击行为方式进行分类

我国最常见的一种攻击类型分类方式为主动攻击和被动攻击两种。

被动方式是指,利用 Internet 可交互的特点,在网络上发布或向用户推出一些含有恶意代码的网页、软件、电子邮件;当用户浏览网页、运行软件、打开电子邮件时,恶意代码在用户计算机中将发挥作用,破坏系统或者安装后门,使用户对计算机失去控制,或者利用被攻击计算机显示出来的信息对其进行全面的分析,从而获得足够的信息。被动攻击方式主要有:搭线窃听,无线截获,用程序和病毒截获信息,流量分析,通信模式、数据模式和数据分析。被动攻击成功与否主要取决于攻击目标的安全意识,如果攻击目标对外来信息特别注意,被动攻击很难取得成功。

主动方式是指,通过网络主动发送违规请求,令目标系统失去响应或者获得目标系统的控制权限,从而达到进一步破坏的目的。因为被动攻击成功的可能性比较小,黑客的攻击大多数都采用主动攻击方式。随着用户安全意识的不断提高,主动攻击成功的可能性也在不断减少,所以被动攻击中通过电子邮件进行攻击的方式得到了更多的应用,这一攻击方式黑客将其称为“社工”。

3.根据网络攻击技术进行分类

美国的CERT(Computer Emergency Response Team)组织号称是计算机应急分队,是由美国联邦政府资助的专门研究计算机及网络安全的组织,能随时提供最新发现的计算机及网络安全问题,并提供一些解决方法。该组织将攻击分成以下几种类型:

缓冲区溢出、文件非安全处理、参数检查不完全、非安全程序特征、特洛伊木马、弱认证或加密、配置错误、程序实现错误。

可以看出,该分类方式的优点是能够容易地识别攻击方法的技术特征,缺点是很多攻击方法不能包含在其中。

4.微软公司对安全威胁来源的分类

微软公司对恶意软件的传播方式进行了分析,将安全威胁的来源分为了如下12种。

● 电子邮件。许多恶意软件攻击都选择电子邮件作为传输机制。

● 网页仿冒。网页仿冒攻击会尝试诱使他人泄露其个人详细信息,如信用卡号或其他财务或个人信息。虽然这些攻击很少用于传播恶意软件,但可能会造成信息泄露,因此它们仍属主要的安全问题。

● 可移动媒体。此类威胁包括软盘、CD-ROM 或DVD-ROM 光盘、Zip 驱动器、USB驱动器和内存卡(媒体),如数码照相机和移动设备中使用的内存卡。

● Internet下载。恶意软件可能会从Internet 网站(如社交网站)直接被下载。

● 即时消息。多数即时消息程序允许用户与其联系人列表中的成员共享文件,这就为恶意软件提供了一条传播途径。此外,这些程序也是许多恶意软件攻击的直接目标。

● 对等(P2P)网络。要启用文件共享,用户首先要安装 P2P 程序的客户端组件并使用已批准的网络端口(如端口80)。在Internet上很容易下载众多的P2P程序。

● 文件共享。在将计算机配置为允许通过网络共享文件时,也为恶意代码的传播提供了另一种传输机制。

● 恶意网站。恶意网站开发人员可利用网站的功能尝试散布恶意软件或不良材料。

● 远程攻击。恶意软件可能会试图利用服务或应用程序中特定的弱点进行自我复制。Internet蠕虫病毒经常使用这种伎俩。

● 网络扫描。恶意软件编写者利用这一机制来扫描网络,寻找有开放端口的易受攻击的计算机或随机选择IP地址进行攻击。

● 词典式攻击。恶意软件编写者逐个尝试词典中的每个词来猜测用户密码,直到成功为止。1.2 网络安全漏洞

无论是何种类型的网络威胁,都或多或少与网络安全漏洞有关。通俗来讲,漏洞是指受限制的计算机、组件、应用程序或其他联机资源无意中留下的不受保护的入口点。有人曾对漏洞给出了一个更为通俗的定义:能够被利用来干“原本以为”不能干的事,并且是和安全相关的缺陷。

漏洞的一般定义为:在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。

从漏洞的定义可以看出,漏洞既有软件上的漏洞,也有硬件上的漏洞。由于黑客很难利用硬件漏洞,只有最顶尖级的少数黑客才有能力较好地利用硬件漏洞,因此,常说的漏洞一般均指软件漏洞。因人为原因,漏洞在程序编写过程中几乎是不可避免的,据对几百万行C语言编写的软件源代码进行统计,每1 000 行代码中将存在5~10 个漏洞可以被利用。

漏洞的利用与时间、运行环境和用户存在不可分割的联系,因此,网络安全漏洞也有多种分类方式。1.2.1 根据漏洞发现时间分类

根据漏洞的发现时间可以将漏洞分为已公布漏洞和0day。

已公布漏洞指厂商已经发布补丁或临时修补方法的漏洞。如果网络管理员足够尽职尽责,经常关注漏洞及补丁的发布情况,并针对自己维护的网络进行防护,使得已公布漏洞较难发挥其作用。但对于多数网络,管理员没有足够精力或者没有意识到进行补丁的安装,这就为黑客提供了可乘之机。

0day指未公开和虽已公开但厂商还未来得及发布修补方法的漏洞。这种漏洞一般在私下交易,虽然流传不广,但应用具有更强的针对性,危害更大。1.2.2 根据漏洞成因分类

虽然根据漏洞的成因分类存在不够完善的地方,如研究的角度不同,同一漏洞可能存在不同的成因,但这一分类方式得到了多数网络安全人员的认可,大致可以分为以下10种类型。

字符输入检查、边界条件检查、特殊环境和条件检查、设计方案漏洞、大量打开端口、软件运行权限设置不当、配置错误、竞争条件错误、软件的默认安装、远程管理软件权限限制不够。1.2.3 根据漏洞严重程度分类

微软公司将漏洞按严重程度粗略的定义为3种,分别为:严重等级、中等等级和低等级,如下表所示。微软对漏洞的分类表1.2.4 按漏洞造成的威胁分类

国内著名的安全公司绿盟科技公司对漏洞分为如下6种类型:

远程进入系统、本地越权访问、拒绝服务攻击、嵌入恶意代码、Web 数据接口、其他类型。1.3 安全漏洞的检测和修补

有人针对当前信息安全可能出现的问题给出了一个信息安全公式:信息安全 = 先进技术+防患意识+完美流程 + 严格的制度 + 优秀的执行团队 + 法律保障。由此可见,技术在信息安全中只占其中一部分,更多的问题来源于人的因素,防患意识是其中的重要环节,而防患意识落实到现实中就是进行漏洞的检测和修补。1.3.1 安全漏洞的检测

对于一个结构复杂的网络来说,进行维护和检测是一件相当烦琐的事情,对于位于Internet中的计算机,多数被攻击的背后凶手是掌握在黑客手中的已公布或未公布的漏洞。漏洞的成因既有设置上的漏洞,也有用户使用中的缺陷,手动进行检测几乎是不可能完成的工作,多数借助于漏洞检测工具。

一般来说,漏洞检测是模拟黑客的行为,对系统设置进行攻击测试,以帮助管理人员在黑客攻击系统之前,找出网络中存在的漏洞。这样的工具可以远程评估网络的安全级别,并生成评估报告,提供相应的整改措施。

目前,市场中漏洞检测根据不同的技术、不同的监听模式、不同的特征、不同的报告方法,可以分为多种类型,但总的来说,漏洞检测扫描器多数采用基于特征的匹配技术,与基于误用检测技术的入侵检测系统相类似。扫描器首先通过请求/应答,或通过执行攻击脚本,来搜集目标主机上的信息,然后在获取的信息中寻找漏洞特征库定义的安全漏洞,如果有,则认为安全漏洞存在。可以看到,能否发现安全漏洞很大程度上取决于漏洞特征的定义。

每个系统都有漏洞,攻击者掌握的漏洞远比防护人员知道得多,多数情况下,发现一个未知漏洞,远比利用一个未知漏洞要难得多。因此,漏洞扫描器所搜集的漏洞中绝大多数为已经公布的漏洞,只有很少部分为漏洞扫描器公司所发现的漏洞。

每台漏洞扫描器所搜集的漏洞数量多少不一,漏洞库的数量决定了扫描器的检测范围,因此衡量漏洞扫描器的重要标准是能否最大限度地包含所有相关漏洞。黑客与网络管理人员的较量在很大程度上是在比较谁的漏洞扫描器包含的内容更多。

对于商业化的漏洞扫描工具,一般价格较为昂贵,并且这样的扫描工具并不是对所有的IP地址都可以扫描。商业化的扫描工具授权有以下几种方式。

● 按IP 地址授权。扫描工具价格取决于要扫描的IP 地址数量。

● 按服务器授权。按服务器/工作站的数量计算扫描器的价格。

● 按管理员授权。这种授权方式较为简单,受到用户的广泛欢迎。

对于黑客来说,通常使用的是一种网络中免费或破解的漏洞扫描器。虽然这样的扫描器更新不太及时,但黑客手中常常掌握私下流传的各种0day漏洞,正是这些0day的广泛流传,使得黑客获取了可持续攻击的动力。1.3.2 安全漏洞的修补

对于一个互联网中的节点,无论采取何种安全措施,第一步都应该是修补漏洞,如果不能及时修补漏洞,毫无疑问,您将受到黑客的入侵。对用户来说,要修补所有漏洞却是非常烦琐的事情,但也并非是不可能完成的事情,这就需要有章可循。

通常漏洞修补的第一步是进行漏洞扫描,对于Windows操作系统用户而言,可以用微软公司提供的MBSA或另一款免费软件安全卫士360来完成。MBSA是Microsoft Baseline Security Analyzer(Microsoft准安全分析器)的缩写,可以在http://www.microsoft.com/technet/security/tools/mbsahome.mspx下载,目前最新版本是2.1beta版。安全卫士360的本机漏洞扫描功能将在第5章进行介绍。另外还有一款非常著名的漏洞扫描工具HfNetChk。

HfNetChk的工作过程是:首先检查补丁对应的注册表键值在计算机中是否存在;如果存在,HfNetChk进一步检查该补丁的相关文件是否存在;如果存在,HfNetChk开始对比每个文件的版本号和校验和数值是否与 XML 数据库中的对应内容相一致;如果又相同,那么就认为该补丁已经正确安装。否则,如果上述任何一次检查出现失败,就认为该补丁没有安装。

HfNetChk工作时需要一个XML数据库文件,这个文件中包含了不同产品对应的hotfixes信息,它们是Security bulletin 的名字、标题以及有关产品安全hotfixes的详细资料。这些详细资料包括如下内容:每个 hotfix 程序包中的文件名及其版本号和文件的校验和数值(checksums)、hotfix程序包安装时创建的注册表项目、补丁程序间的接替信息、Microsoft知识库(Microsoft Knowledge Base)中相关文章的序号等。

依据XML数据库文件的内容,就规定了HfNetChk判断一个补丁是否已经安装到计算机的标准,它们是:补丁安装后所建立的注册表键值、安装的补丁文件版本号和每个文件的校验和数值。

默认配置下,HfNetChk将XML数据库中的文件资料和注册表键值与检测计算机中的文件和注册表键值进行对比,如果其中之一发生了不匹配现象,就会认为相应的补丁程序没有被安装,“Patch NOT Found”以及Microsoft 知识库中相关文章的序号等信息将向用户显示。

对于微软公司的产品来说,多数已经提供了自动更新功能,这是安全防护中的一大进步。对于多数非微软公司的软件产品,则没有如此人性化。如果没有提供自动更新功能,在安装之后要安装所有补丁是非常麻烦的,甚至,有的漏洞并不一定存在相应的补丁,如UNIX操作系统,会在BugTraq邮件列表上(参见http://www.securityfocus.com)发布安全补丁的通知信息。用户需要将补丁集自己整理,如何合理利用网络中的漏洞和补丁资源是网管员们需要深入考虑的问题。1.4 网络监听

无论网络攻击者还是安全防护人员,网络监听都是一种经常采用的技术手段。网络管理人员通过网络监听可以获得进出网络的每一个数据包,既包括网络中用户正常使用的数据,也包括黑客软件所产生的数据,因此网络管理人员通过网络监听可以分析不法行为,而黑客通过网络监听则可以获得想要的数据,如用户登录的密码等信息。通过网络监听进行攻击是黑客攻击过程中非常有效的方法之一。

要理解黑客如何进行网络监听,首先需要明白网络监听的原理。1.4.1 网络监听的原理

在继续进行讲解之前需要先理解以下几个概念。

1.混杂模式

一台计算机要进行网络数据传输,必须安装网卡和网卡驱动程序,为便于区别,每块网卡都有一个在世界上独一无二的48位地址,称为MAC地址,除此外,要进行数据传输,还需要绑定一个32位的IP地址。网卡一般有几种工作模式,如unicast(单播)、broadcast(广播)、multicast(组播)和promiscuous(混杂模式)。unicast是指网卡在工作时接收目的地址是本机硬件地址的数据帧。broadcast是指接收所有类型为广播报文的数据帧。multicast是指接收特定的组播报文。promiscuous则是通常说的混杂模式,是指对报文中的目的硬件地址不加任何检查,全部接收的工作模式。

一般情况下,操作系统会把网卡设为广播模式,在广播模式下,网卡可以接收所有类型为广播报文的数据帧——例如ARP寻址。此外,它会忽略目标地址并非自己MAC地址的报文,即只接收发往自身的数据报文、广播和组播报文,这才是网卡的正常工作模式。而混杂模式是网络监听的根源,混杂模式下网卡对报文中的目标 MAC 地址不加任何检查而全部接收,这样就造成了无论什么数据,只要是路过的都会被网卡接收的局面。由网卡各种工作状态的定义可以看出,如果网络监听的目的不仅仅是本机数据,则混杂模式是进行网络监听的一个必要条件。

2.嗅探器(Sniffer)

一般情况下,网卡的工作模式由操作系统设置,并没有公开地让用户进行设置的界面。而嗅探器的出现打破了这一僵局,使用户拥有了设置网卡工作模式的权力。

ISS 为嗅探器进行定义是:Sniffer 是利用计算机的接口截获目的地为其他计算机发送的数据报文的一种工具。Sniffer的正当用途是网络管理员通过在网关进行嗅探,从而进行网络流量分析和数据分析,以便精确地判断网络中每台计算机可能存在的传输问题。

不同的嗅探器工作原理基本相同,但工作能力差别较大,有的嗅探器只能分析少数几种协议,有的却能分析几百种之多,比较著名的嗅探器有 IRIS、Ethereal 等,其中 Ethereal 为开源产品。

3.共享式网络

共享式网络的特征是通过网络的每一个数据包都被发送至每一台主机,最常见的共享式网络为使用Hub(集线器)构成的网络。

一般将使用交换机组成的网络称为交换式网络,交换式网络通过交换机构造“MAC-端口”映射表,数据包传送时,只会被送往特定的端口上,通过映射表,也只发送到特定的MAC地址。

据统计数据显示,采用全双工模式的交换式以太网最大传输速度约可以达到共享式以太网的4倍。

在一个网络中,网络监听效果最好的位置是网关、路由器、防火墙等设备,对于黑客来说,由于网关等设备较难突破,网络监听一般在网络中的某台主机上进行。而对于网络管理人员一般在网关上进行网络监听。

如果一个网络是共享式网络,且将主机的网卡工作模式设置为混杂模式,则可以利用嗅探器在这台主机上监听到网络中传输的每一个数据包。因为网络中数据流量通常较大,黑客关心的是数据中包含的用户名和口令,黑客所用的嗅探器一般具有从数据中将口令筛选出来的功能。

在UNIX操作系统下,要将网卡设为混杂模式,需要向网络接口(Interface)发送I/O控制命令,而这些I/O控制命令,需要超级用户权限。在Windows系列操作系统下,这种限制较小,只要能够运行监听软件,就可以将网卡设置为混杂模式。

在交换式网络下进行嗅探,由于网卡只能接收特定端口的数据,需要采用其他技术将正常发往被监听计算机的数据“转移”到本机上来,目前较为成熟的技术为 ARP 欺骗和 DNS欺骗等。

网络监听只能获得同一个局域网的数据,而不能监听到本网络之外的信息。

历史上最著名的嗅探事件发生在1994年,当时,黑客通过在骨干设备上安装网络监听软件,嗅探到10万个美军的有效用户名和口令,这在Internet中引起轰动。1.4.2 网络监听的检测和预防

攻与防共存,当网络监听有了成熟技术的同时,对网络监听的检测技术也在不断发展,虽然还达不到非常成熟,但也有了很多可用的检测方法。对可能存在网络监听的检测一般有下面几种方法。

1.Ping检测

如果怀疑某台计算机在进行监听,则可以通过向该计算机发送正确的 IP 地址和错误的MAC地址的Ping方法进行检测,如果看到返回,则基本可以判断该计算机处于混杂模式,在进行网络监听。

2.发送大量数据包

如果怀疑某台计算机在进行监听,可以向网络发送大量的垃圾数据包,因为网络监听软件要对接收到的每一个数据包进行分析,在数据量很大时,反映时间会变慢,这时通过对比分析,可以找出处于监听状态的计算机的幕后黑手。

3.使用反监听软件

要检测网络监听,可以使用反监听工具,如antisniffer等进行检测。

4.ARP数据包检测

除Ping包检测外,还可以利用ARP数据包进行检测,这也是一种常用的检测方法,与Ping检测类似。

除对怀疑进行网络监听的计算机进行检测外,应对网络监听最好的办法是做到防患于未然,有以下几种方法可以采用:

● 采用交换式网络。

● 采用ARP 欺骗检测。

● 进行数据加密。

● 运行反监听工具。1.5 小结

本章对网络安全的基础知识进行了概述,主要介绍了网络安全的定义,网络安全威胁的来源,网络安全漏洞的分类及检测,网络监听的原理、检测和预防等内容,为后续章节将介绍的扫描、嗅探和攻击技术作了铺垫。

孙子兵法云:知己知彼,百战不殆。要搞好网络安全,在加强自身防范的同时,需要了解黑客到底使用什么方法进行攻击。从下一章开始,将为读者揭开黑客如何攻击网络的神秘面纱,从而使您能有效地做好防范工作。第2章网络扫描器概述

随着 Internet 技术的飞速发展,网络安全成为全球信息化过程中至关重要的一部分,而安全扫描技术是一项重要的网络安全技术。通过对网络的扫描,可以了解网络中各种设备的配置情况和所运行的服务,及时发现漏洞,从而根据扫描的结果更正错误的安全配置和系统漏洞,做到防患于未然。

近年来,一些网络安全专家开始认识到,网络通信协议的设计缺陷是造成网络安全问题的根源。网络扫描也要用到网络通信协议,因此本章将首先了解一些必要的TCP/IP相关知识,然后介绍扫描器的概念并结合有关TCP/IP知识介绍相关的扫描技术,最后对与网络扫描有关的常用的网络命令和网络扫描器进行综述。2.1 TCP/IP相关知识

TCP/IP模型于1974年被提出,其初衷是设计一套以无缝方式实现各种网络之间互连的技术标准,该标准的制定于20世纪80年代后期完成。TCP/IP参考模型是一个抽象的分层模型,该模型中,所有的TCP/IP网络协议都被归类到4个抽象的“层”中。每一抽象层建立在低一层提供的服务基础之上,并且为高一层提供服务。整个TCP/IP栈则负责解决数据如何通过许许多多的点对点通道畅通。

TCP/IP模型共有4层,从低到高依次为链路层、网络层、传输层和应用层。应用层的协议主要有FTP、SMTP、Telnet、DNS、SNMP、HTTP、NNTP(Network News Transport Protocol)等。传输层的协议有TCP和UDP。网络层的协议有IP、ICMP、ARP和RARP等。数据链路层的协议有Ethernet、Token Bus、Token Ring 、FDDI和WLAN等。与扫描有关的主要是网络层、传输层和应用层的协议,下面各小节只对其中较为常用的IP、ICMP协议、TCP、UDP等进行介绍。2.1.1 IP 协议

IP是TCP/IP模型的心脏,也是网络层中最重要的协议。IP主要负责把数据从源地址传送到目的地址。IP层接收由更低层(例如链路层以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP层或UDP层;相应地,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP 数据包是不可靠的,因为 IP 并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。

IP数据报头格式如图2-1所示。图2-1 IP数据报头

图2-1中最上方标记的数字代表的是位数,最后一行的选项和填充数据在多数情况下不会出现。由图2-1可以看出IP报头的默认长度是20字节,IP报头各字段含义及长度如下。

版本:4位,此字段标明报头的格式。我们现在使用的是IPv4版本。IPv6也已经设计出来,将在几年内付诸实施,IPv6在安全性方面比IPv4有长足的进步,IP地址也由32位扩展到128位。

头长度:4位,IP报头长度是以32位为单位标记的报头长度,它指向数据的开始位置。这个字段的最小合法值为5,即IP报头最小为20字节,在一些其他特定的场合IP报头可能是36字节等。

服务类型:8 位,此字段是一些指示服务质量的参数,这些参数用于在特定网络指示所需要的服务。

总长度:16位,即数据包的总长度。

标识:16位,即是数据包的ID号,用来识别不同的IP数据包。

标志:3位,第一位必须为0,第二位为0表示可分段,为1表示不可分段,第三位为0表示最后一段,为1表示还有多段。

片偏移:13位,指示这个段应该在数据包中什么位置,它以64字节为单位计算,首段的偏移为零。

生存时间:8位,说明该数据包在Internet生存的最大时间值。当生存时间为0时,则抛弃此包。

协议:8位,指示用于数据包数据部分的下一层协议。

头校验和:16位。

Internet上每一台主机都有自己唯一的IP地址,数据包在网络上传输时必须包含IP地址,接收方在收到数据时就能根据数据包中的IP地址来查找唯一的发送方。攻击者为了达到隐藏自己的目的,隐藏IP地址是第一步,方法主要有以下几种:利用被侵入的主机作为跳板,盗用他人账号上网,通过代理网关实施攻击,伪造IP地址,利用TCP漏洞进行会话劫持等,通过收费的VPN代理进行连接隐藏。

在攻击中需隐藏的除IP地址外还有连接隐藏、进程隐藏、文件隐藏、监控信息消除等。2.1.2 TCP 协议

在TCP/IP中,TCP提供可靠的连接服务,是面向连接的端到端的可靠协议。TCP是网络传输的基础,网络上的大部分数据传输都采用这个协议。每个用于传送TCP的通道都有一个端口标记,因为这个标记是由每个TCP终端确定的,因此可能并不唯一,为了保证这个数值的唯一性,需要使用IP地址和端口号的组合来达到唯一标识的目的,我们称这个组合为套接字(socket)。关于TCP的RFC文档有RFC793、RFC791、RFC1700等。

TCP采用三次握手的方式建立一个连接。

第一次握手:建立连接时,服务器在TCP某端口监听(listen()函数),客户端发送SYN (连接请求方设置的初始序列号,初始一次连接)包(SYN=j)到服务器(调用connect()函数),并进入SYN_SEND状态,等待服务器确认。

第二次握手:服务器收到SYN 包(accept()函数),必须确认客户端的SYN(ack = j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器从LISTEN状态进入SYN_RECV状态。

第三次握手:客户端收到服务器的SYN+ACK包(connect函数调用返回),向服务器发送确认包ACK(ack = k+1),此包发送完毕后,客户端进入ESTABLISHED 状态,服务器收到此包后进入ESTABLISHED状态,完成三次握手。TCP报文格式如图2-2所示。图2-2 TCP报文格式

从图2-2可以看出TCP的报头长度是20字节,各字段的含义和长度如下。

源端口:16位。

目的端口:16位。

序列号:32位,发送方用于通知接收方,本数据段的首字节在整个数据流中的位置,其实就是数据的编号。在建立一条新连接时(SYN 标志重新置位),序列号中包含的是连接请求方为本次连接时本方确定的初始序列号(ISN)。

确认号:32位,接收方在自己返回的数据段中,用确认号来表示希望发送方下一次发送数据时的序列号。也就是说,编号为该数值减1的数据是接收方成功接收的最近一个数据段中最后一个字节的信息。

头长度:4位,指示何处数据开始。

保留:6位,这些位必须是0。

6位标志位:URG紧急指针有效;

ACK 确认号有效;

PSH 要求接收方不要对数据进行缓存,而是直接传给应用程序;

RST 本次连接被重置;

SYN 连接请求方,置初始序列号,初始化一次连接;

FIN 发送方要结束发送数据。

窗口:16位。

校验位:16位。

紧急指针:16位,指向后面是优先数据的字节。

TCP的端口号有以下几种类型。

标准端口1~1 023,包括FTP(21)、HTTP(80)、Telnet(23)等。

注册端口 1 024~49 151 用来标识那些已经向 IANA(Internet Assigned Numbers Assigned )注册的应用。

有49 152~65 535 个端口可供私人约定。

TCP可被黑客用来做很多攻击,主要有扫描、拒绝服务攻击和利用协议的部分字段建立网络隐蔽通道等。2.1.3 UDP 协议

UDP协议提供了一种不可靠传输的服务,它的实现相对于TCP极为简单。它主要用于可靠性高的局域网和对可靠性要求不高的通信中。此协议提供了向另一用户程序发送信息的最简便的协议机制,协议是面向操作的,未提供提交和复制保护。建立在UDP协议上的应用程序有NFS、SNMP、DNS等,此协议最主要的用途是用于网际名称服务器和小文件传输。关于UDP 的文档请参见RFC 768。

UDP报文格式如图2-3所示。图2-3 UDP报文格式

UDP协议的报头只有8个字节。共有4个字段,各字段的含义一目了然。

UDP 协议也可以被黑客用来作为 UDP扫描和探测,但扫描却十分不可靠。2.1.4 ICMP 协议

ICMP协议应用非常广泛。ICMP协议的数据被封装在IP包中,被用于报告在传输报文的过程中发生的各种情况,包括目标不存在、传送路径不正确等信息。也可以通过ICMP测试主机之间的连接是否中断,甚至可以利用ICMP控制特定主机的报文传输量,并提供许多网络管理和状态信息。ICMP协议的情况描述可参见RFC 1256。

ICMP消息在以下几种情况下发送:通信线路出错、网关或主机出错、数据包生存期(TTL时间)到、系统拥塞等。

报文格式如图2-4和图2-5所示。图2-4 ICMP数据包封装格式图2-5 ICMP数据包报文格式

ICMP共有52种代码组合类型,这里只列出常用的几种,如0、3、4、5、8、9、10、11、13、14、15、16、17、18等14种报文类型,每种类型对应各自的代码,总共24种不同的组合,如图2-6所示。图2-6 ICMP协议类型与代码组合

常用的 Ping、Tracert 等程序就是(类型 0,代码 0)、(类型 8,代码 0)的 ICMP 消息类型。2.1.5 ARP 协议

ARP(地址解析协议)和RARP(逆向地址解析协议)是一起存在的一对协议。IP数据包通过以太网发送,但以太网设备并不识别32位IP地址:它们是依靠数据链路层的48位以太网地址(MAC 地址Media Access Control 存储在网卡的EEPROM)传输数据包的。因此,设备必须把IP目的地址转换成以太网目的地址。在这两种地址之间存在着某种静态的或算法的映射,方法是常常去查看一张缓存表。地址解析协议(或逆向地址解析协议)就是用来确定这些映射的协议,它的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以确保通信的顺利进行。ARP 协议的内容简介见RFC 826。

ARP协议的工作原理

当一台网络设备需要与另一台网络设备通信时,首先把目标设备的IP地址与自己的子网掩码进行“与”操作,以判断目标设备与自己是否位于同一局域网内。如果目标设备在同一局域网内,并且源设备没有获得与目标IP地址相对应的MAC地址信息,则源设备以广播的形式(目标MAC地址为全1)发送ARP请求报文,在ARP请求报文中包含了源设备与目标设备的IP地址。同一局域网中的所有其他设备都可以收到并分析这个ARP请求报文,但只有源设备发回ARP响应报文,通过该报文使源设备获得目标设备的MAC地址信息。

如果目标设备与源设备不在同一局域网内,源设备首先把IP数据包发向自己的网关,由网关对该分组进行转发。网关则通过查询DNS确定目标设备或其所在的网络,为了减少广播量,网络设备通过ARP表在缓存中保存IP地址与MAC地址的映射信息。在一次ARP的请求与响应过程中,通信双方都把对方的 MAC 地址与 IP 地址的对应关系保存在各自的 ARP表中,以便于在后续的通信中使用。ARP表使用老化机制,自动删除在一段时间内没有使用过的IP地址与MAC地址的映射关系。

如果传送过来的数据包要传向一个LAN(局域网)的主机,当它到达网关时,网关要求ARP程序找到物理主机或与IP地址相对应的MAC地址。ARP程序在缓存中寻找,如果找到地址,就提供此地址,以传送到此主机。如果未找到,ARP程序就在网络上广播一个特殊格式的消息,看哪台机器知道与这个IP地址相关的MAC地址。局域网内的所有机器都会接收到此数据包,但只有目标设备发回应答包。ARP程序首先更新自己的缓存表池,然后发送此数据包到回应的 MAC 地址。因为不同协议的相应处理方法不同,所以有不同网络的地址解析请求。也有反向地址解析协议(RARP)供不知道IP地址的主机从ARP缓存中获得IP地址。

从上面可以看出,IP包在网络中行走,依靠DNS协议,而到达该局域网后要依靠ARP协议和RARP协议找到目的设备。

在一些网络中有些网络管理人员为了便于维护局域网,常将 IP 地址与 MAC 地址进行捆绑。如果在局域网中是动态寻址的,而其中的一部分网络设置是将 IP 地址与 MAC地址绑定的,就容易出现绑定的某台机器发出 IP地址冲突的警报,导致无法正常上网。这是因为此机器绑定的 IP地址已被其他动态寻址的机器所占用。如果将缓存表设成静态的,在动态寻址的网络中也常常会出现各种问题。这也是黑客对 ARP协议进行攻击的根本所在。2.2 扫描器的概念和分类

扫描技术是一种基于 Internet 远程检测目标网络或本地主机安全性脆弱点的技术。扫描器则是自动检测远程或本地主机安全性弱点的程序。通过网络安全扫描,系统管理员能够发现所维护的网络设备的各种 TCP/IP 端口的分配、开放的服务、Web 服务软件版本和这些服务及软件呈现在 Internet 上的安全漏洞。网络安全扫描技术与防火墙、安全监控系统互相配合就能为网络提供很高的安全性。

扫描器是把双刃剑,不同的人使用会有不同的结果,系统管理员或网络管理员使用扫描器可以增强系统安全性,黑客使用扫描器则是入侵的前奏,用来寻找攻击的进入点。

对扫描器的分类有多种方法,常见的有根据扫描过程、扫描目的进行分类的和根据扫描技术进行分类的。2.2.1 按扫描过程分类

按扫描过程、扫描目的进行分析,一次完整的扫描基本可以分为3个阶段。(1)确定对方主机是否在线。(2)判断对方主机的操作系统,所开放的服务及这些服务的端口。(3)根据第(2)步扫描的结果,探测对方主机存在的漏洞。

按照扫描过程,可以将扫描器分为3类。(1)主机存活扫描器。仅探测对方主机是否在线。最常用的主机存活扫描器为Ping扫描,对目标主机发送Ping命令,根据响应情况判断主机是否在线。对防火墙后面主机在线情况的扫描目前还没有成熟的办法。(2)端口扫描器。主机中每个需连接到网络的应用程序,都被赋予在该机上的唯一端口,当任何连接请求到达该端口时,对应的应用程序的通信数据就被发送出去。端口扫描器不仅探测对方主机所开放的端口,而且需探测对方主机是否在线。通过向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应,通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务和信息。(3)漏洞扫描器。首先进行主机存活扫描和端口扫描,最后才根据前两项扫描结果进行漏洞扫描。在端口扫描结束后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在;通过模拟黑客的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱口令等。若模拟攻击成功,则表明目标主机系统存在安全漏洞。漏洞扫描器较多地应用了插件技术,插件是由脚本语言编写的子程序,扫描程序可以通过调用它来执行漏洞扫描,检测出系统中存在的一个或多个漏洞。这种技术使漏洞扫描软件的升级维护变得相对简单,而专用脚本语言的使用也简化了编写新插件的编程工作,使漏洞扫描软件具有更强的扩展性。2.2.2 按扫描技术分类

安全扫描技术主要分为两类:主机安全扫描技术和网络安全扫描技术。网络安全扫描技术主要针对系统中不合适的设置脆弱的口令,以及针对其他同安全规则相抵触的对象进行检查等;而主机安全扫描技术则是通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞。根据扫描技术可以将扫描器概括地分为基于主机的和基于网络的两种,前者主要关注软件所在主机上的风险漏洞,而后者则是通过网络远程探测其他主机的安全风险漏洞。

在扫描技术发展的历史过程中,先后出现各种类型的几十种扫描探测技术,这些扫描既有为确定主机存活而进行的扫描,也有为确定目标开放而进行的探测,还有为确定操作系统而进行的扫描,但这些扫描技术都有一个共同的特点:基于 TCP、UDP、ICMP、ARP 等协议的报文格式及其返回值,下面将介绍一些常见的扫描技术。

1.TCP connect()扫描

调用connect()函数完成一次完整的TCP 3 次握手连接,根据对方的反应可判断出目标端口是否开放。因为这种扫描方式是通过正常的TCP协议进行网络连接的,服务器会留下记录,因此进行隐蔽扫描时一般不采用这种方式。但由于这种扫描方式是正常的 TCP connect() 连接,易于实现,多数扫描器内置了这种扫描技术,这种扫描通常结果更为准确。

2.TCP SYN 扫描

这种扫描又称作“半开放扫描”,不完整的TCP连接。客户端向目标端口发送SYN包,如果返回SYN/ACK包,则说明目标端口是开放的,如果客户端收到的是RST/ACK包,则说明目标端口未开放。这种扫描的好处是隐蔽,服务器不会留下日志记录,缺点是操作者需具有管理员权限(因为要定制自己的TCP报头),对于UNIX操作系统用户可能有一定限制,对于Windows操作系统用户则影响不大。

SYN扫描在多数扫描中为默认设置,是最受欢迎的一种扫描方式,扫描速度很快,在一个没有防火墙的网络中,每秒可以扫描数千个端口。

3.TCP FIN 扫描

RFC 793 规定:目标主机收到一个指向其某个TCP 端口的FIN 包,如果该端口是关闭的,操作系统协议栈应返回一个RST包,否则,忽略对FIN包的回复。实际上大多数UNIX系统是可以如此判断的,但Windows恰恰相反:如果端口关闭,就忽略对FIN包的回复,否则发送RST包响应。这种方法可以在已经确定某个端口是否开放的情况下用来区分Windows和UNIX系统。

4.TCP NULL 扫描

RFC 793 规定:发送一个标志位为0 的TCP 包,目标系统应该对所有关闭的端口发送一个RST包作为响应。这种扫描只适用于多数UNIX系统,Windows、HP/UX、IRIX等系统不遵循这一规则。

5.TCP反向ident扫描

ident 协议(RFC1413)允许看到通过TCP 连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。因此能够确认服务器的当前用户,例如,连接到http端口,然后用ident 来发现服务器是否正在以root权限运行。这种方法只能在和目标端口建立了一个完整的TCP连接后才能成功。

6.MAS扫描

与NULL扫描原理相同,只是MAS扫描将6个标志位全部置1,如果目标主机没有返回任何信息,则表明该端口是开放,如果返回RST信息,则端口是关闭的。

7.TCP ACK 扫描

ACK扫描探测报文只设置ACK标志位,当扫描未被过滤的系统时,open(开放的)和closed(关闭的)端口都会返回RST报文。因此ACK扫描不能确定端口开放与否,但它可用于发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的。

8.UDP 端口不能到达扫描

许多主机在向一个未打开的 UDP 端口发送一个 ICMP 数据包时,会返回一个ICMP_PORT_UNREACH错误,这样就能发现那个端口是关闭的。这种扫描方法需要管理员权限。

9.UDP recvform()和write()扫描

当非管理员用户不能直接读到端口不能到达的错误时,Linux 系统能间接地在它们到达时通知用户。对一个关闭的端口的第二个write()调用将失败。在非阻塞的UDP套接字上调用recvform()时,如果ICMP出错还没有到达时会返回EAFAIN-重试。如果ICMP到达时,返回ECONNREFUSED-连接被拒绝,从而查看端口是否打开。相比于TCP扫描,UDP的这种扫描方式速度较慢,但因为安全人员经常忽略屏蔽UDP端口,为攻击留下了可乘之机。

10.ICMP echo 扫描

类似Ping命令,可以用于判断一个网络上的主机是否开机。

11.ICMP的类型13扫描

ICMP协议的类型13(时间戳)会产生一个时间戳应答(类型14),但只有UNIX才出现这种情况,微软的IP堆栈中没有此项功能,因此可以利用类型13判断目的主机是否采用了微软的操作系统,UNIX系统则不能区分出具体的系统类型。

12.ARP扫描

ARP扫描是近年来发展起来的一种扫描方式,这种方式经常被用来进行主机存活扫描。因为ARP协议的基础就是信任局域网内所有的人,通过ARP扫描可以获得对应的IP地址与 MAC 地址列表。ARP 扫描速度较慢,常用来在内网对存活主机进行探测,在内网利用ARP扫描主机存活结果较为准确。

除上述这些扫描方式外,通常还使用TCP窗口扫描来判断特定系统的端口开放与关闭,使用TCP Maimon扫描来判断端口开放与否,利用IP协议扫描来确定目标主机支持哪些协议。利用这些扫描技术的扫描器可以称为相应的扫描器,如TCP SYN 扫描器、ARP 扫描器等。2.3 常用的网络命令

除专用的扫描器外,无论是UNIX操作系统还是Windows操作系统都内置有大量与网络有关的小工具,供用户使用,这些工具可以在命令行下直接运行,因此常称为网络命令。2.3.1 Ping——最常用的网络命令

Ping是网络中应用最广的程序之一,无论是UNIX还是Windows系列操作系统,都内置了这一小工具。该工具通过向主机发送 ICMP 报文,并且监听回应报文的返回,以校验与远程计算机或本地计算机的连接。对于每个发送的报文,Ping最多等待1s。可以使用Ping程序探测计算机名和IP地址。探测对方的主机或端口是否为激活状态。如果能够成功校验IP地址却不能成功校验计算机名,则说明名称解析存在问题。在一般情况下还可以通过Ping对方,通过对方返回的TTL值大小,粗略地判断目标主机的系统类型是Windows系列还是UNIX系列。一般情况下,Windows系列的系统返回的TTL值在100~130之间,而UNIX系列的系统返回的TTL值在240~255之间。

Ping命令的基本用法如下。

-t :一直Ping 指定的计算机,直到从键盘按下Control-C 中断。

-a :将地址解析为计算机NetBios 名。

-n :发送count 指定的ECHO 数据包数,通过这个命令可以自己定义发送数据包的个数,对衡量网络速度很有帮助。能够测试发送数据包的返回平均时间,及各数据包的时间快慢程度。默认值为4。

-l :发送指定数据量的ECHO 数据包。默认为32 字节;最大值是65 500字节。

-f :在数据包中发送“不要分段”标志,数据包就不会被路由上的网关分段。通常所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。

-i :将“生存时间”字段设置为 TTL 指定的值。指定 TTL 值在对方的系统中停留的时间,同时检查网络运行情况。

-v :tos 将“服务类型”字段设置为tos 指定的值。

-r :在“记录路由”字段中记录传出和返回数据包的路由。通常情况下,发送的数据包是通过一系列路由才到达目标地址的,通过此参数可以设定,想探测经过路由的个数。限定能跟踪到9个路由。

-s :指定 count 指定的跃点数的时间戳。与参数-r 差不多,但此参数不记录数据包返回所经过的路由,最多只记录4个。

-j :利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP,允许的最大数量为9。

-k :computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP,允许的最大数量为9。

-w:timeout指定超时间隔,单位为ms。

如ping -t 192.168.0.1 直至用户中断,才结束对192.168.0.1 连接测试。2.3.2 Tracert——路由器跟踪命令

利用路由器对IP数据报中的生存期值每经过一台路由器作减1处理,一旦生存期值为0,就丢弃该IP数据报,并返回主机不可达的ICMP报文特点,进行路由跟踪也是黑客经常采用的命令。

该程序在UNIX下名字为traceroute,在Windows下名称为Tracert。针对指定的目的地址,形成一系列目的地址无法处理的IP数据报,这些数据报除生存期值递增外,其他内容完全一样。这些数据报根据生存期的取值逐个发往网络,第一个数据报的生存期值为 1,路由器对生存期值减1后,丢弃该IP数据报,并返回主机不可达ICMP报文;原发端继续发送生存期值为2、3、4……的数据报,由于主机和路由器中对路由信息的缓存能力,IP数据报将沿着原路径向目的地址前进。如果整个路径中包括了N台路由器,则通过返回N个主机不可达报文和一个端口不可达报文的信息,来了解IP数据报的整个路由。通过对路由器分布的分析,就能了解该目的地址的大致位置,并能测试出该网络的传输速度。

该程序的用法为:Tracert目的主机。

该程序还有–d -j –h -w等参数,可以对目标主机作更细致地探测。

如对www.sina.com进行路由跟踪结果如下所示:

tracert www.sina.com

Tracing route to dorado.sina.com.cn [60.215.128.150]

over a maximum of 30 hops:

1  2  ms  1 ms  1 ms  60.216.144.1

2  1 ms  1 ms  1 ms  124.128.41.217

3  7 ms  7 ms  7 ms  60.215.131.109

4  7 ms  7 ms  7 ms  218.57.243.113

5  7 ms  7 ms  7 ms  60.215.131.158

6  7 ms  7 ms  7 ms  218.57.8.222

7  7 ms  7 ms  7 ms  60.215.128.1502.3.3 Telnet——远程登录命令

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载