黑客攻防从入门到精通(实战秘笈版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-01 01:38:37

点击下载

作者:九天科技

出版社:中国铁道出版社

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

黑客攻防从入门到精通(实战秘笈版)

黑客攻防从入门到精通(实战秘笈版)试读:

前言

PREFACE

目前网上支付、购物、投资、理财等已经成为人们日常消费生活的重要内容,财产的安全性也越来越受到人们的关注。如果账户、密码被黑客截取,将会带来非常大的经济损失。因此黑客攻击已经成为威胁网络安全的重大隐患之一。随着网络的大范围普及、黑客工具的迅速传播,黑客只需使用简单的工具就能对一些疏于防范的电脑或移动终端进行攻击,并在受侵的电脑或终端中为所欲为。当发现自己的密码被盗、资料被修改或删除、硬盘变成一片空白时再想进行补救,为时已晚。

虽然黑客的攻击手段越来越“高明”,但防御黑客攻击的方法也在不断增强,如果您对黑客攻击和防御还比较陌生,还不了解常用黑客工具的使用方法,对木马程序和远程监控一无所知,不懂无线网络、智能手机与网络支付安全防御,并且经常受到电脑病毒和木马的侵袭,等等。那么请您静下心来阅读本书,它将带您进入变幻莫测的黑客世界。

内容导读

本书旨在帮助读者清晰地了解黑客入侵的攻击方式,进而制订出完善的防御方案,同时从另一个完全不同的角度全面解读黑客攻防,深入洞察防御的死角,组织更为严密的防御体系,以应对层出不穷的黑客入侵挑战。

主要特色

本书由业内资深信息安全专家精心策划编写,其主要特色如下:

从零开始,无师自通

无论您是否在从事电脑行业工作,无论您是否接触过网络,无论您以前是否了解黑客攻防技术,都能从本书中找到适合自己的起始点,开启黑客攻防的学习历程。

侧重实战,案例演绎

本书侧重实战技能,摒弃晦涩难懂的技术理论,基于实际案例的分析和操作指导,让读者学习起来更加轻松,操作起来有章可循。

图文并茂,易学易用

采用图文结合的方式使读者在学习过程中能够直观、清晰地看到案例操作的过程及效果,以便更快速地理解和掌握。颠覆“看”书的传统观念,变成一本能“操作”、能“上手”的图书。

传授经验,私房秘笈

在本书中穿插了大量黑客攻防提示与技巧,且在每章最后均设有“高手私房秘笈”版块,真正帮助读者解决在学习和工作中遇到的各种难题。

视听视频,模拟课堂

为了增加读者的学习渠道,增强读者的学习兴趣,本书配有超大容量多媒体视听教学视频,读者可以跟着其提供的语音视频进行实战演练,并能快速应用于实际工作中。

视频说明

本书随书配有交互式、600分钟超长播放的多媒体视听教学视频,它是与图书完美结合的视听课堂,让您像看电视一样轻松、直观地进行学习。

如何获取视频教程:

1.“扫一扫”封面上的二维码,在打开的界面上单击本书所对应的下载文件;

微信扫一扫轻松看视频

2.选择保存路径后开始下载;

备注:读者只需解压一个文件,即可免费得到全部视频内容。

视频下载地址:http://www.crphdm.com/2017/0620/13570.shtml

视频中超值赠送由本社出版的《全图解电脑软硬件维修实用大全》和《全图解电脑组装与维修实用大全》的视频教程,超大容量,物超所值。

使用读者

本书适用面广,适合以下读者学习使用:(1)没有任何电脑黑客攻防知识的初学者;(2)对电脑黑客攻防技术有些了解但不精通的学习者;(3)网络安全从业人员以及网络管理员;(4)大、中专院校的在校学生和社会电脑安全培训机构的学员;(5)想在短时间内掌握电脑安全实用技能的读者朋友。

售后服务

如果读者在使用本书的过程中遇到问题或者有好的意见或建议,可以通过发送电子邮件(E-mail:9335404@qq.com)或者在线QQ:843688388联系我们,我们将及时予以回复,并尽最大努力提供学习上的指导与帮助。

特别提醒:

根据国家有关法律规定,任何入侵和窃取他人系统和文件的做法都是违法的,希望读者不要使用本书介绍的黑客技术攻击他人电脑,否则后果自负,特此声明!

编者2017年5月第1章黑客攻防入门必修

互联网改变了人们的生活,但黑客问题也成为全世界的关注热点。在学习黑客攻防之前,首先了解一些关于黑客的基础知识,认识黑客、网络协议、端口,以及系统进程等。

|内|容|导|航|

● 黑客揭秘

● 认识网络协议

● 黑客攻击的入口——端口

● 木马藏匿的首选地——系统进程

视频链接

本章知识相关的多媒体教学视频,请读者参见“教学视频\第1章”。1.1黑客揭秘

谈到网络安全,人们不自觉就会联想到黑客,人们往往会将他们同破坏网络安全、盗取用户账号、偷窃个人私密信息联系起来。其实黑客也有好坏之分,他们并不全是网络上的捣乱分子,其中也有一部分是网络上的安全卫士。下面就让我们揭开黑客的神秘面纱,让读者详细了解黑客到底是什么样的群体。

在黑客圈中,Hacker一词早期是带有正面意义的。但到了今天,“黑客”一词已经被用于那些专门利用电脑进行破坏或入侵他人电脑者系统的人的代言词,其实对这些人正确的叫法应该是Cracker,也有翻译成“骇客”。也正是由于这些人的出现玷污了“黑客”一词,使人们把黑客和骇客混为一谈。黑客和骇客根本的区别是:黑客修补系统漏洞,而骇客利用系统漏洞进行破坏。1.1.1 黑客的由来

黑客始于20世纪50年代,最早的电脑是1946年在宾夕法尼亚大学出现,最早的黑客出现于麻省理工学院、贝尔实验室也有。最初的黑客一般都是一些高级技术人员,他们热衷于挑战、崇尚自由,并主张信息共享。

1994年以来,互联网在全球的迅猛发展为人们提供了方便、自由和无限财富,政治、军事、经济、科技、教育、文化等各个方面都越来越网络化,并且逐渐成为人们生活、娱乐的一部分。可以说,信息时代的到来,使信息已成为物质和能量以外维持人类社会的第三大资源,是未来生活中的重要介质。随着电脑的普及和互联网技术的迅猛发展,黑客也随之出现。“黑客”一词一般有以下4种意义:

一个对(某领域内的)编程语言有足够了解,可以不用经过长时间思考就能创造出有用软件的人。

一个试图恶意(一般是非法地)破解或破坏某个程序、系统及网络安全的人。这个意义经常对那些符合上个条件的黑客造成严重困扰,他们建议媒体将这群人称为“骇客”。

一个试图破解某系统,以提醒该系统所有者系统存在安全漏洞,这群人往往被称作“红客”。他们大多数是电脑安全公司的雇员,并且在完全合法的前提下攻击某系统。

一个通过知识或猜测而对某段程序做出(往往是好的)修改,并改变(或增强)该程序用途的人。

现在,网络上出现了越来越多的Cracker,他们只会入侵,使用扫描器到处乱扫,用IP炸弹轰炸,毫无目的地入侵、破坏,他们并无益于电脑技术的发展,反而有害于网络的安全,甚至造成网络瘫痪,为人们带来巨大的经济和精神损失。1.1.2 黑客的组成

今天,黑客不再像以前那样神秘,他们已经发展成网络上一个独特的群体。他们有着与常人不同的思维方法,有着自己独特的行为模式,网络上现在出现了很多由志同道合的人组织起来的黑客组织。但这些人是从什么地方来的呢?他们是什么样的人?其实除了极少数的职业黑客以外,大多数都是业余的,而黑客其实和现实中的平常人没有两样,或许他就是一名普通的高中生。

有人曾经对黑客年龄进行过调查,黑客的主要群体是18~30岁之间的年轻人,大多数是男性,不过现在也有很多女性加入这个行列。他们大多数是在校学生,爱好电脑、充足的时间、好奇心强、精力旺盛等使他们步入黑客的行列。还有一些黑客有自己的事业或工作,大致分为程序员、资深安全员、安全研究员、职业间谍、安全顾问等。当然,这些人的技术和水平是刚刚入门的“小黑客”无法比拟的,不过他们也是从这里一点点地走过来的。1.1.3 黑客的主要行为“黑客”大体上分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做一些其他有害于网络的事情。

无论哪类黑客,他们最初的学习内容都是本书所涉及的内容,而且掌握的基本技能也都是一样的。即便日后他们各自走上了不同的道路,但是所做的事情也差不多,只不过出发点和目的不一样而已。

黑客的行为主要有以下几种。

其一,学习技术。 互联网上的新技术一旦出现,黑客就必须立刻学习,并用最短的时间掌握这项技术。这里所说的掌握并不是一般的了解,而是阅读有关的“协议”、深入了解此技术的原理。否则一旦停止学习,仅依靠他以前掌握的内容,也许都不能维持他的“黑客”身份超过一年。

其二,伪装自己。 黑客的一举一动都会被服务器记录下来,所以黑客会伪装自己,使得对方无法辨别其真实身份。这需要有熟练的技巧,包括伪装自己的IP地址、使用跳板逃避跟踪、清理记录扰乱对方线索、巧妙躲开防火墙等。

伪装是需要非常过硬的基本功才能实现的,初学者不可能在短时间内学会伪装,本书并不鼓励读者利用自己学习的知识对网络进行攻击,否则一旦自己的行迹败露,最终害的还是自己。

其三,发现漏洞。 漏洞对黑客来说是最重要的信息,黑客要经常学习别人发现的漏洞,并努力自己寻找未知漏洞,从海量的漏洞中寻找有价值的、可被利用的漏洞进行试验。当然,他们最终的目的是通过漏洞进行破坏或者修补上这个漏洞。

其四,利用漏洞。 对于正派黑客来说,漏洞需要被修补;对于邪派黑客来说,漏洞主要是用来搞破坏。

作为一名黑客,道德是非常重要的,这往往决定一个黑客的前途和命运。如果一名黑客在开始学习时就是为了扬名或非法获利,那就不能称之为黑客。但是,虚拟的网络世界不能用现实中的规范去管理,而黑客又是在这个虚拟世界中最渴望自由和共享的。虽然网络上的黑客道德或规则出现很多,也有很多黑客章程,但这些所谓的道德往往只是一纸空文,而黑客们真正遵守的是来自内心真诚的道德,是一种信仰而不是人为的、外在的一种守则。也只有这些来自于黑客内心中的道德才可以真正地约束他们。

现在有不少人以盗取他人的游戏账号、银行卡号、窃取公司机密、攻击别人网站、敲诈、欺骗等非法获利,这些都是违法行为,这些人都不能称为“黑客”,应该称为“骇客”更为合适,他们最终会受到法律的严惩。1.1.4 黑客术语1.肉鸡“肉鸡”是一种很形象的比喻,比喻那些可以被黑客控制的电脑,对方可以是Windows系统,也可以是UNIX/Linux系统,可以是个人电脑,也可以是大型的服务器,黑客可以像操作自己的电脑那样来操作“肉鸡”,而不被对方发觉。2.木马

木马程序表面上伪装成正常的程序,一旦被用户运行,就会获取系统的控制权限。有很多黑客热衷于使用木马程序来控制他人的电脑,如灰鸽子、黑洞、PcShare等。3.网页木马

表面上伪装成普通的网页文件或是将黑客代码直接插入正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马服务端下载到访问者的电脑上并自动执行。4.挂马

在别人的网站中放入网页木马,或是将黑客代码潜入对方正常的网页中,以使浏览者中木马病毒。5.后门

后门是一种很形象的比喻,入侵者在利用某些方法成功地控制目的主机后,可以在对方的系统中植入特定的程序,或者修改某些设置。这些改动从表面上很难被察觉,但是入侵者却可以使用相应的程序或者方法轻易地与这台电脑建立连接,重新进行控制。这就好像是入侵者偷偷地配了一把主人房间的钥匙,可以随时进出而不被主人发现一样。通常大多数的木马程序都可以被黑客用于制作后门。6.端口

端口(Port)相当于一种数据的传输通道。用于接受某些数据,然后传输给相应的服务。电脑将这些数据处理后,再将相应的回复通过开启的端口传给对方。一般每一个开放的端口对应了相应的服务,要关闭这些端口只需要将对应的服务禁用即可。7.rootkit

rootkit中root术语来自于UNIX领域,由于UNIX主机系统管理员账号为root账号,该账号拥有最小的安全限制,完全控制主机并拥有管理员权限称为“root”了这台电脑。rootkit是攻击者用来隐藏自己的行踪和保留root(根权限,可以理解成Windows下的system或者管理员权限)访问权限的工具。攻击者通过远程攻击的方式获得root访问权限,或者是先使用密码猜解的方式获得对系统的普通访问权限,进入系统后,通过对方系统内存在的安全漏洞获得系统的root权限。然后,攻击者就会在对方的系统中安装rootkit,以达到自己长久控制对方系统的目的。rootkit与木马和后门很类似,但远比木马、后门要隐蔽。简单地说,rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较常见的rootkit一般都和木马、后门等其他恶意程序结合使用。rootkit通过加载特殊的驱动,修改系统内核,从而达到隐藏信息的目的。8.IPC$

IPC$是共享“命名管道”的资源,它是为了使进程之间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,用于远程管理电脑或查看电脑的共享资源。9.弱口令

是指强度不够,容易被猜解的,类似1234,abcd这样的口令(密码)。10.默认共享

默认共享是Windows 2000/XP/2003系统开启共享服务时自动开启所有硬盘的共享,因为加了隐藏符号$,所以在窗口中看不到,也称为隐藏共享。11.溢出

确切地讲,应该是“缓冲区溢出”。就是程序对接受的输入数据没有执行有效的检测而导致错误,后果可能是造成程序崩溃或者是执行攻击者的命令。可分为堆溢出和栈溢出两类。12.shell

是指一种命令执行环境,例如,按【Windows+R】组合键时会打开“运行”对话框,在其中执行cmd命令会启动一个用于执行命令的黑窗口(即命令提示符窗口),这个就是Windows的shell执行环境。通常使用远程溢出程序成功溢出远程电脑后,得到的用于执行系统命令的环境就是对方的shell。13.WebShell

WebShell是以ASP、PHP、JSP或者CGI等网页文件形式存在的一种命令执行环境,也可以将其看作是一种网页后门。黑客在入侵了一个网站后,通常会将这些ASP或PHP后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后即可使用浏览器来访问这些ASP或PHP后门,得到一个命令执行环境,以达到控制网站服务器的目的。可以上传下载文件,查看数据库,执行任意程序命令等。国内常用的WebShell有中国菜刀、海阳ASP木马,Phpspy,c99shell等。14.注入

随着B/S模式应用开发的发展,使用这种模式编写程序的程序员越来越多,但由于程序员的水平参差不齐,很大一部分应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果获得某些想要知道的数据,这就是SQLinjection,即SQL注入。15.注入点

是指可以实行注入的地方,通常是一个访问数据库的连接。根据注入点数据库运行账号权限的不同,所得到的权限也不同。16.内网

通俗地讲就是局域网,如网吧、校园网、公司内部网等都属于此类。查看IP地址如果是在以下三个范围之内,说明是处于内网之中:10.0.0.0~10.255.255.255,172.16.0.0~172.31.255.255,192.168.0.0~92.168.255.255。17.外网

直接连入Internet,可以与互联网上的任意一台电脑互相访问,IP地址不是内网地址。18.免杀

通过加壳、加密、修改特征码、加花指令等技术修改程序,使其逃过杀毒软件的查杀。19.加壳

利用特殊的算法,将EXE可执行程序或者DLL动态连接库文件的编码进行改变(如实现压缩、加密Port),以达到缩小文件体积或者加密程序编码,甚至躲过杀毒软件查杀的目的。目前较常用的加壳工具有UPX,ASPack、PePack、PECompact、UPack、免疫007、木马彩衣等。20.花指令

花指令是几句汇编指令,让汇编语句进行一些跳转,使杀毒软件不能正常的判断病毒文件的构造。通俗地讲,就是杀毒软件从头到脚按顺序查找病毒,如果把病毒的头和脚颠倒位置,杀毒软件就找不到病毒了。21.嗅探器(Sniffer)

也称为抓数据包软件,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。22.蜜罐

蜜罐是专门用来供黑客入侵的系统,它必须提供一定的漏洞,引诱黑客前来攻击,借此收集证据,同时隐藏真实的服务器地址。因此,合格的蜜罐需要拥有以下功能:发现攻击、产生警告、强大的记录能力、欺骗、协助调查。23.服务端/客户端

客户端和服务器分别是各种协议中规定的请求申请电脑和应答电脑。作为一般的上网用户,都是操作自己的电脑(客户端),向网络服务器发出请求,完成浏览网页、收发电子邮件等动作。对黑客而言,一般是通过自己的电脑(客户端)对其他电脑(有可能是客户端,也有可能是服务器)进行攻击,以达到入侵、破坏、窃取信息的目的。1.1.5 黑客攻击的流程

一般来说,黑客对电脑进行攻击的步骤大致相同,主要包括以下几步:1.扫描漏洞

目前大多数电脑安装的是Windows操作系统,Windows操作系统的稳定性和安全性随着其版本的提升而得到不断的提高,但难免会出现一些安全隐患,这些安全隐患就是漏洞。黑客通过其专业的研究发现了这些漏洞,于是使用病毒和木马通过这些漏洞攻击和破坏电脑。2.试探漏洞

在了解了目的主机的漏洞和弱点之后,黑客就能使用缓冲区溢出和测试用户账号、密码等,达到对其进行试探性攻击的目的。3.取得权限与提升权限

如果试探出了可以利用的漏洞,那就意味着黑客获得了攻击该目的主机的初步权限,只要能登录目的主机,提升权限将变得易如反掌,借助木马等程序可以更顺利地达到目的。在某些情况下,黑客在取得权限与提升权限时会采用破坏目标电脑操作系统的方法来实现。4.木马入侵

木马是一种能窃取用户存储在电脑中的账户、密码等信息的应用程序。黑客通过木马程序可以轻易地入侵并控制用户电脑,并在用户不知情的状况下通过用户的电脑进行各种破坏活动。在日常生活中经常出现的QQ号码被盗的情况,一般就是黑客通过木马进行窃取的。5.建立后门与清理痕迹

为了达到长期控制目的主机的目的,黑客在取得管理员权限之后会立刻在其中建立后门,这样即可随时登录该主机。为避免被目的主机的管理员发觉,在完成入侵之后需要清除其中的系统日志文件、应用程序日志文件和防火墙的日志文件等,清理完毕即可从目的主机中退出。至此,一次完整的黑客攻击便完成了。1.2认识网络协议

网络协议是为电脑网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个电脑用户和一个大型服务器的操作员进行通信,由于这两个数据终端所用的字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定每个终端需要将各自字符集中的字符变换为标准字符集后,才能进行网络传送,到达目的终端之后,再变换为该终端字符集的字符。一台电脑只有在遵守网络协议的前提下,才能在网络上与其他电脑进行正常的通信。

网络协议通常被分为几个层次,每层完成自己单独的功能。通信双方只有在共同的层次间才能相互联系。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。在局域网中用得比较多的是IPX/SPX。用户如果访问Internet,必须在网络协议中添加TCP/IP协议。1.2.1 TCP/IP协议

TCP/IP协议(Transmission Control Protocol/Internet Protocol的简写),中文译为传输控制协议/互联网互联协议,又名网络通信协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何连入互联网,以及数据如何在它们之间传输的标准方法。

TCP/IP协议不是TCP和IP这两个协议的合称,是指互联网整个TCP/IP协议族。使用TCP/IP协议的互联网等网络提供的主要服务有:电子邮件、文件传送、远程登录、网络文件系统、电视会议系统和万维网。它是Interent的基础,它提供了在广域网内的路由功能,而且使Internet上的不同主机可以互联。从概念上,它可以映射到四层,如下图所示。

网络接口层,这一层负责在线路上传输帧并从线路上接收帧;

Internet层,这一层中包含IP协议,IP协议生成Internet数据报,进行必要的路由算法,IP协议实际上可以分为四部分:ARP,ICMP,IGMP和IP;

传输层该负责管理电脑间的会话,包括两个协议TCP和UDP,由应用程序的要求不同可以使用不同的协议进行通信;

应用层,就是FTP,DNS,TELNET等。熟悉TCP/IP是掌握Internet的必由之路。1.2.2 IP协议

IP协议(Internet Protocol)即网络之间互连的协议,是为电脑网络相互连接进行通信而设计的协议。在互联网中,它是能使连接到网上的所有电脑网络实现相互通信的一套规则,规定了电脑在互联网上进行通信时应当遵守的规则。任何厂家生产的电脑系统,只要遵守IP协议就可以与互联网互连互通。1.IP地址的基本格式

大家都知道,在常用的电话通信中,电话用户是靠电话号码来识别的。同样,在网络中为了区别不同的电脑,也需要给电脑指定一个号码,这个号码就是“IP地址”。

IP地址就像我们的家庭住址一样,如果要写信给一个人,就要知道他的地址,这样邮递员才能把信送到。电脑发送信息就好比是邮递员,它必须知道唯一的“家庭地址”才不至于把信送错。不同的是,我们的地址使用文字来表示,电脑的地址用二进制数字表示。

IP地址的长度为32位,分为4个字节,每个字节对应8位二进制位,例如,一个用二进制形式记录的IP地址可以表示为:11000000 1001111000000011 00000101。

为了方便使用,IP地址的每个字节通常用十进制形式表示,每段数字范围为0~255(即256个数,为2的8次方),段与段之间用句点隔开,如上面的IP地址即可表示为:192.158.3.5。IP地址的这种表示法称为“点分十进制表示法”,这显然比1和0容易记忆得多。

一个完整的IP地址信息,通常还包括IP地址、子网掩码、默认网关和DNS四部分,它们只有协同工作时,用户才能访问互联网并被互联网中的电脑访问。(1)IP地址

IP地址由网络号和主机号两部分组成,同一网络内的所有主机使用相同的网络号,主机号是唯一的。网络号的位数直接决定了可以分配的网络数,主机号的位数则决定了网络中最大的主机数。然而,由于整个互联网包含的网络规模有可能比较大,也有可能比较小,设计者最后选择一种灵活的方案:将IP地址空间划分为不同的类别,每一类具有不同的网络号位数和主机号位数。(2)子网掩码

子网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上;二是用于将一个大的IP网络划分为若干小的子网络。(3)默认网关

就像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,可以把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。(4)DNS

DNS是指域名服务器(Domain NameServer),在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但电脑之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器完成,DNS就是进行域名解析的服务器。2.IP地址的分类

最初设计互联网络时,为便于寻址及层次化构造网络,每个IP地址分为网络地址和主机地址两部分。同一个物理网络上的所有主机(本书中主机是指各种电脑、交换机等配有IP的网络设备)都使用同一个网络地址,而同一网络上的一个主机都有一个主机地址与其对应。

IP地址根据网络ID的不同分为5种类型,即A类IP地址、B类IP地址、C类IP地址、D类IP地址和E类IP地址。(1)A类IP地址

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围为1.0.0.1~126.255.255.254(二进制表示为00000001000000000000000000000001~01111110111111111111111111111110)。可用的A类网络有126个,每个网络能容纳1677214个主机。(2)B类IP地址

一个B类IP地址由2字节的网络地址和2字节的主机地址组成,网络地址的最高位必须是“10”,地址范围为128.1.0.1~191.255.255.254(二进制表示为10000000000000010000000000000001~10111111111111111111111111111110)。可用的B类网络有16384个,每个网络能容纳65534个主机。(3)C类IP地址

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是110,地址范围为192.0.1.1~223.255.255.254(二进制表示为11000000000000000000000100000001~11011111111111111111111011111110)。C类网络可达2097152个,每个网络能容纳254个主机。(4)D类IP地址

D类IP地址的第一个字节以1110开始,地址范围为224.0.0.1~239.255.255.254。它是一个专门保留的地址,并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组电脑,它标识共享同一协议的一组电脑。(5)E类IP地址

E类地址仅作为实验和为将来开发而保留,它以1111开始,全0(0.0.0.0)的IP地址指任意网络,全1的IP地址(255.255.255.255)是当前子网的广播地址,如右图所示。

当电脑连接到Internet后,Internet就会给该电脑分配一个IP地址。用户可以借助Internet来查看电脑的IP地址,具体操作方法如下:

01 搜索IP地址  使用百度搜索IP地址,将自动显示电脑的IP地址信息下 图所示。

02 显示IP地址  打开一个IP地址查询网页,将显示当前电脑的IP地址,如下图所示。1.2.3 TCP协议

TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。通过三次握手建立连接,通信完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通信。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

如果IP数据包中有已经封好的TCP数据包,IP将把它们向“上”传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP将它的信息送到更高层的应用程序,如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

TCP则适用于可靠性要求很高但实时性要求不高的应用,如文件传输协议FTP、超文本传输协议HTTP、简单邮件传输协议SMTP等。面向连接的服务需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),使用UDP传送有关单个主机的信息。1.2.4 UDP协议

UDP是用户数据报协议(User Datagram Protocol,UDP)的简称,其主要作用是将网络数据流量压缩成数据报形式,提供面向事务的简单信息传送服务。UDP协议提供的是面向无连接的、不可靠的数据报投递服务。当使用UDP协议传输信息流时,用户应用程序必须负责解决数据报丢失、重复、排序,差错确认等问题。此协议的最主要的用途是NFS服务器和小文件传输协议(TFTP)。1.2.5 ARP协议

ARP全称Address Resolution Protocol,中文译为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。ARP协议用于将网络中的IP地址解析为目的硬件地址(MAC地址),以保证通信的顺利进行。在硬件层次上进行的数据帧交换必须有正确的接口地址(即硬件地址),但TCP/IP只能识别32bit的IP地址,知道主机的IP地址并不能让内核(如以太网驱动程序)发送一帧数据给主机,内核必须知道目的端的硬件地址才能发送数据,ARP的功能是在32bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射。从逻辑Internet地址到对应的物理硬件地址需要进行翻译,这就是ARP的功能。

ARP的工作原理如下:

首先,每台主机都会在自己的ARP高速缓冲区(ARP Cache)中建立一个ARP列表,以表示IP地址和MAC地址的对应关系。

当源主机需要将一个数据包发送到目的主机时,会首先检查ARP列表中是否存在该IP地址对应的MAC地址。如果有,直接使用此MAC地址;如果没有,主机先将目的主机的IP地址与自己的子网掩码进行“与”操作,以判定目的主机与自己是否位于同一网段内。假如目的主机与自己在同一网段内,向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址;如果目的主机在一个远程网络上,会通过路由器等路由设备转发此ARP请求到远程网络中广播。此ARP请求数据包中包括源主机的IP地址、硬件地址、以及目的主机的IP地址。

源主机和目的主机在一个网络内的情况下:网络中所有的主机收到ARP请求后,会检查数据包中的目的主机IP和自己的IP地址是否一致。如果不相同就不回应,但是该主机仍然会检查自己的ARP高速缓存,如果此请求的源IP地址已经在高速缓存中,可以用ARP请求帧中的发送端硬件地址对高速缓存中相应的内容进行更新;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应数据包,告诉它需要查找的MAC地址。

如果源主机和目的主机不在同一个网络内,ARP请求将由路由器转发至其他网络。如果能找到目的主机,将路由器的MAC地址当作目的主机的网络地址发给源主机,以后源主机和目的主机之间的信息交换都要经过此路由器,这个路由器就被称作ARP代理;如果没有找到目的主机,在ARP高速缓存中会产生一条不完整的表项记录下来。

源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。

ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。这个高速缓存存放了最近Internet地址到硬件地址之间的映射记录。高速缓存中每一项都有一个默认的生成时间,起始时间从被创建时开始计算。

在Windows操作系统中,可以在命令提示符窗口中使用ARP命令来查看ARP缓存表,具体操作方法如下:

01 显示ARP缓存表信息  在命令提示符窗口中输入命令“arp -a”。按【Enter】键,即可显示本地电脑中的ARP缓存表信息,如下图所示。

02 捆绑IP地址与MAC地址  还可使用ARP命令将自己的IP地址与MAC地址捆绑起来,以避免局域网中的其他电脑使用自己的IP地址,执行命令“arp/s 192.168.1.10148-5B-39-E9-DE-9E”,前者为IP地址,后者为MAC地址。若无法执行此命令,需要以管理员身份运行命令提示符。要想解除IP地址与MAC地址的绑定,只需执行命令“arp-d 192.168.1.154”,如下图所示。1.2.6 ICMP协议

ICMP是“InternetControlMessageProtocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但对用户数据的传递起着至关重要的作用。PING是最常用的基于ICMP的服务。

ICMP消息在以下几种情况下发送:(1)当数据报不能到达目的地;(2)当网关已经失去缓存功能;(3)当网关能够引导主机在更短路由上发送。

从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让操作者能够检测网络的连线状况,也能确保连线的准确性,其功能如下:(1)侦测远端主机是否存在;(2)建立及维护路由资料;(3)重导资料传送路径;(4)资料流量控制。1.3黑客攻击的入口——端口

电脑“端口”(Port)可以认为是电脑与外界通信交流的出口,其中硬件领域的端口又称接口,如USB端口、串行端口等;软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入/输出)缓冲区。

在网络技术中,端口(Port)有多种含义。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。这里所指的端口不是物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

如果把IP地址比作一间房子,TCP/IP协议中的端口指的就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即256×256)个。端口是通过端口号来标记的,端口号只有整数,范围是0~65535(256×256-1)。1.3.1 端口的分类

电脑中的端口按不同的标准可以分为很多类,其中最常用的分类标准有以下两种。1.按端口号分布划分

可以将端口分为三大类,分别为公认端口、注册端口和动态/私有端口。(1)公认端口

公认端口是指那些用户所熟知的端口号,范围从0~1023,它们紧密地绑定于一些服务上。通常这些端口的通信明确表明了某种服务的协议。例如,80端口分配给WWW服务、21端口分配给FTP服务等。(2)注册端口

注册端口(RegisteredPorts)的端口号从1024~49151。它们松散地绑定于一些服务,也就是说,这些端口通常不固定分配给某个服务,只要运行的程序向系统提出访问网络的要求,系统就会从这些端口号中分配一个供该程序使用。这些端口大多数没有明确地定义服务对象,应用程序可以根据自己的需要进行定义。例如,常用的聊天软件腾讯QQ用的就是4000端口。(3)动态/私有端口

动态/私有端口(Dynamicand/PrivatePorts)的端口号从49152到65535。理论上不应为服务分配这些端口,但实际上一些较为特殊的程序,特别是一些木马程序经常使用这些端口,因为它们通常从1024起分配动态端口不被人们注意,容易隐藏,如SUN的RPC端口就是从32768端口开始的。2.按通信服务方式划分

电脑通信的连接方式有以下两种:

第一种是直接与接收方进行连接,发送信息后可以确认信息是否到达,这种方式大多采用TCP协议。

第二种不是直接与接收方进行连接,只管把信息放在网上发出去,而不管信息是否到达,也就是“无连接方式”。这种方式大多采用UDP协议。IP协议也属于无连接方式。

对应使用以上两种通信协议的服务所提供的端口分为“TCP协议端口”和“UDP协议端口”。电脑之间的相互通信一般采用这两种通信协议。

使用TCP协议的常见端口主要有以下几种。

FTP:即文件传输协议,使用21端口。用户常说某电脑开启了FTP服务,便是启动了文件传输服务,下载文件、上传主页都需要用到FTP服务。

Telnet:是一种用于远程登录的端口,用户可以以自己的身份远程连接到电脑上,通过这种端口可以提供一种基于DOS模式的通信服务。早期的BBS是纯字符界面,支持BBS的服务器可以将23端口打开,可对外提供服务。

SMTP:定义了简单邮件传送协议,现在很多邮件服务器使用的都是这个协议,用于发送邮件。所以在电子邮件设置中常看到有SMTP端口设置栏,服务器开放的是25号端口。

POP3:它和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也就是说,只要有相应的使用POP3协议的程序(如Foxmail或Outlook),即可不以Web方式登录邮箱界面,直接用邮件程序即可收到邮件。

使用UDP协议端口常见的有以下几种:

http:这是用户用得最多的协议,它就是常说的“超文本传输协议”。浏览网页时,在提供网页资源的电脑上打开80号端口以提供服务,常见的“WWW服务”、“Web服务器”用的就是这个端口。

DNS:用于域名解析服务,这种服务在Windows NT中用得最多。互联网上的每一台电脑都有一个网络地址与之对应,这个地址也就是常说的IP地址,它以纯数字+“.”的形式表示。由于不方便记忆,于是出现了域名,访问电脑的时候只需要知道域名,域名和IP地址之间的变换由DNS服务器来完成。DNS用的是53号端口。

SNMP:简单网络管理协议,使用161号端口,用来管理网络设备。由于网络设备很多,无连接的服务就体现出其优势。

OICQ:OICQ程序既接受服务,又提供服务,这样两个聊天的人才是平等的。OICQ用的是无连接的协议,即UDP协议。OICQ服务器使用8000号端口,侦听是否有信息到来,客户端使用4000号端口,向外发送信息。如果上述两个端口正在使用(有很多人同时和几个好友聊天),就顺序往上加。

另外,代理服务器常用以下端口。

HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080。

SOCKS代理协议服务器常用端口号:1080。

FTP协议代理服务器常用端口号:21。

Telnet协议代理服务器常用端口:23。1.3.2 使用命令查看系统的开放端口

通过了解系统开放端口的状态变化,可以帮助我们更好地保护系统,防范黑客入侵,保证电脑安全。可以使用netstat命令查看自己系统端口的状态,了解系统当前开放了哪些端口。

使用netstat命令查看系统端口的具体操作方法如下:

01 选择“运行”命令  右击“开始”按钮,选择“运行”命令,如下图所示。

02 执行cmd命令  弹出“运行”对话框,输入cmd命令,单击“确定”按钮,如下图所示。

03 输入netstat命令  打开命令提示符窗口,输入netstat -a -n命令,并按【Enter】键确认,如下图所示。

04 查看结果  此时即可显示本地及远程的IP地址和相应的端口号,以及TCP协议连接状态,如下图所示。

TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。了解TCP协议端口的连接状态,对排除和定位网络或系统故障会有很大帮助,下面对TCP端口的连接状态进行简单介绍。1.LISTENING

提供某种服务,首先处于侦听(LISTENING)状态。当提供的服务没有被连接时,处于LISTENING状态,端口是开放的,等待被连接。2.SYN_SENT(客户端状态)

SYN_SENT状态表示请求连接,当要访问其他电脑的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那电脑可能中了冲击波或震荡波之类的病毒了。这类病毒为了感染其他电脑,会扫描其他电脑,在扫描的过程中会对每个要扫描的电脑发出同步请求,这也是出现许多SYN_SENT的原因。3.SYN_RCVD(服务器端状态)

在收到和发送一个连接请求后,等待服务器端对连接请求的确认,当服务器收到客户端发送的同步信号时,将标志位ACK和SYN置1发送给客户端,此时服务器端处于SYN_RCVD状态,如果连接成功了就变为ESTABLISHED,正常情况下SYN_RCVD状态非常短暂。4.ESTABLISHED

ESTABLISHED状态是表示两台电脑正在传输数据。5.FIN-WAIT-1

等待远程TCP连接中断请求,或先前的连接中断请求的确认,客户端应用程序调用close,TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态。6.FIN-WAIT-2

从远程TCP等待连接中断请求,客户端接到ACK后,进入了FIN-WAIT-2。这时在关闭连接时,客户端和服务器两次握手之后的状态,就是半关闭的状态了。在这个状态下,应用程序可以接收数据,但无法发送数据。7.CLOSE-WAIT

服务器端主动关闭连接或者网络异常导致连接中断,这时客户端状态会变成CLOSE_WAIT,此时客户端调用close()函数,使连接正确关闭。8.CLOSING

等待远程TCP对连接中断的确认,此状态较少见。9.LAST-ACK

等待原来发向远程TCP的连接中断请求的确认,被动关闭一段时间后,接收到文件结束符的应用程序将调用CLOSE关闭连接,TCP也发送一个FIN,等待对方的ACK,进入LAST-ACK。10.TIME-WAIT

客户端调用close()函数,给服务器端发送FIN,请求关闭连接;服务器端收到FIN后给Client返回确认ACK,同时关闭读通道,此时不能再从这个连接上读取数据,read返回0。服务器端的TCP状态转化为CLOSE_WAIT状态。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期,默认为4分钟),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。11.CLOSED

服务器端接收到Client对自己的FIN的确ACK,关闭写通道,TCP连接转化为CLOSED,也就是关闭连接。如右图所示为TCP在正常情况下建立与终止连接所对应的状态。1.3.3 使用资源监视器查看系统端口使用情况

使用系统自带的“资源监视器”工具可以查看系统资源使用的详细信息,如查看系统端口的连接情况,具体操作方法如下:

01 输入resmon命令  打开“运行”对话框,输入resmon命令,单击“确定”按钮,如下图所示。

02 查看系统端口情况  打开“资源监视器”窗口,选择“网络”选项卡,从中可查看TCP连接端口以及正在侦听的端口情况,如下图所示。1.3.4 使用工具软件查看电脑端口

使用CurrPorts可以查看当前在本地电脑中打开的所有TCP/IP和UDP端口列表,以及端口的使用情况,还可根据端口结束相应的程序。对于列表中的每个端口,将同时显示打开端口进程的相关信息,包括进程名称,完整的进程路径,进程的版本信息,进程的创建时间、创建进程的用户及进程服务等。使用CurrPorts查看电脑端口的具体操作方法如下:

01 启动程序  打开CurrPorts程序,查看电脑端口使用情况,如下图所示。

02 查看进程属性  双击某个进程,在弹出的“属性”对话框中可以查看该进程的详细信息,如下图所示。

03 结束进程  若在网络连接中有不熟悉的进程名,且该进程从TCP连接的数量非常多,有可能就是病毒进程,可以设置关闭这些进程的端口号,并结束该进程。右击进程,选择“结束所选端口对应的进程”命令,即可结束该进程,如下图所示。

04 导出全部项目  在程序工具栏中单击“网页报告-全部项目”按钮,可将列表信息导出为网页,如下图所示。

05 导出选中项目  选中进程后,选择“视图”|“网页报告-选中项目”命令,可将选中的进程导出为网页,如下图所示。

06 设置程序  单击“选项”菜单,在弹出的列表中可以设置自动刷新、高级过滤、发现新端口时蜂鸣提示等,如下图所示。1.3.5 关闭不必要的端口

在系统默认的情况下,用户系统中有很多没用或不安全的端口是开启的,这些端口很容易被黑客利用,为了保证系统的安全,可以将这些不用的端口关闭。下面以关闭Remote Desktop Services(远程桌面服务)为例进行介绍,具体操作方法如下:

01 运行services.msc命令  按【Windows+R】组合键,打开“运行”对话框,输入services.msc 命令,单击“确定”按钮,如右图所示。

02 双击服务项  打开“服务”窗口,双击Remote Desktop Services服务项,如下图所示。

03 禁用服务  弹出服务属性对话框,在“启动类型”下拉列表中选择“禁用”选项,单击“确定”按钮,如下图所示。

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载