黑客攻防从入门到精通

978-7-115-47956-3
作者: 新阅文化 李阳 田其壮 张明真
译者:
编辑: 李永涛

图书目录:

详情

本书由浅入深、图文并茂地再现了黑客攻防的全过程,内容涵盖:从零开始认识黑客、信息的扫描与嗅探、系统漏洞攻防、病毒攻防、木马攻防、手机黑客攻防、网游与网吧攻防、密码攻防、黑客入侵检测技术、网络代理与追踪技术、后门技术、入侵痕迹清除技术、远程控制技术、局域网攻防、QQ账号攻防、网站攻防、系统和数据的备份与恢复、保障网络支付工具的安全、间谍软件的清除和系统清理等。

图书摘要

黑客攻防从入门到精通

新阅文化 李阳 田其壮 张明真 编著

人民邮电出版社

北京

图书在版编目(CIP)数据

黑客攻防从入门到精通/李阳,田其壮,张明真编著.--北京:人民邮电出版社,2018.5

ISBN 978-7-115-47956-3

Ⅰ.①黑… Ⅱ.①李…②田…③张… Ⅲ.①黑客—网络防御 Ⅳ.①TP393.081

中国版本图书馆CIP数据核字(2018)第051458号

◆编著 新阅文化 李阳 田其壮 张明真

责任编辑 李永涛

责任印制 马振武

◆人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

三河市君旺印务有限公司印刷

◆开本:787×1092 1/16

印张:20.5

字数:406千字  2018年5月第1版

印数:1-4000册  2018年5月河北第1次印刷

定价:49.80元

读者服务热线:(010)81055410 印装质量热线:(010)81055316

反盗版热线:(010)81055315

广告经营许可证:京东工商广登字20170147号

内容提要

本书主要介绍和分析与黑客攻防相关的基础知识。全书由浅入深地讲解了包括黑客攻防前的准备工作、扫描与嗅探攻防、系统漏洞攻防、密码攻防、病毒攻防和木马攻防等内容。通过对本书的学习,读者在了解黑客入侵攻击的原理和工具后,能掌握防御入侵攻击的相应手段,并将其应用到实际的计算机安全防护领域。

本书实例丰富,可作为广大初、中级用户自学计算机黑客知识的参考用书。另外,本书知识全面,内容安排合理,也可作为高等院校相关专业的教材使用。

前言

INTRODUCTION

随着网络技术的飞速发展,网络已经成为个人生活与工作中获取信息的重要途径,但是随着网络带给人们生活便捷的同时,木马病毒肆虐、电信诈骗猖獗等网络安全问题也给我们的个人信息及财产安全带来严重威胁。于是,构建一个良好的网络环境,对于病毒和系统漏洞做好安全防范,及时查杀病毒和修复漏洞就显得尤为重要。为了避免计算机网络遭遇恶意软件、病毒和黑客的攻击,就必须做好计算机网络安全维护和防范。

本书内容

本书主要介绍和分析与黑客攻防相关的基础知识。全书由浅入深地分析了黑客攻防有关的原理和防御手段,一共可分为四部分:第一部分主要讲述黑客入门基础与相关网络知识,第二部分主要讲述PC端系统及应用的安全攻防,第三部分主要讲述时下智能手机移动端的安全攻防,第四部分主要介绍社会工程学知识。

本书内容新颖,涵盖了时下热门的勒索病毒、WiFi安全、网络谣言和电信诈骗等问题的应对方法。此外,本书还从黑客入侵防护应用角度给出了相对独立的论述,使读者可对如何建构一个实用的入侵防范体系有一个基本概念和思路。

本书特色

每章都以实例出发,讲解全面,轻松入门,快速打通初学者学习的重要关卡。

真正以图来解释每一步操作过程,通俗易懂,阅读轻松。

学习目的性、指向性强,黑客新技术盘点,让读者实现“先下手为强”。

读者对象

本书作为一本面向广大网络安全人员的速查手册,适合以下读者学习使用:

(1)网络安全及黑客技术初学者、爱好者;

(2)需要获取数据保护的日常办公人员;

(3)网吧工作人员、企业网络管理人员;

(4)喜欢研究黑客技术的网友;

(5)相关专业的学生;

(6)培训班学员。

本书由李阳、田其壮和张明真等人编著,书中若有疏漏和不足之处敬请广大读者批评指正,也期待读者能从本书中得到有价值的收获!

最后,提醒广大读者:根据国家有关法律法规,任何利用黑客技术攻击他人的行为都属于违法行为,广大读者在阅读本书后不要使用书中介绍的黑客技术试图对网络进行攻击,否则后果自负,切记勿忘。

编者

2018年1月

扫码看视频

ASPack介绍

DOS命令介绍

EXE捆绑机介绍

IP地址配置介绍

Nmap介绍

SRSniffer介绍

Windows防火墙介绍

Windows密码设置介绍

查杀木马病毒介绍

关闭远程注册表服务介绍

进程端口操作介绍

禁止使用注册表编辑器介绍

局域网共享设置介绍

浏览器安全设置介绍

清除日志文件介绍

文件恢复介绍

远程连接介绍

第1章 揭开黑客的神秘面纱

在计算机网络世界里,黑客曾一度成为一种荣耀,它代表着反权威却奉公守法的网络英雄,然而现如今黑客已成为网络安全最大威胁的因素。

1.1 认识黑客

黑客一词,源于英文Hacker,原指热心于计算机技术,水平高超的计算机专家,尤其是程序设计人员。互联网、UNIX、Linux都是黑客智慧的结晶。有人说:是黑客成就了互联网,成就了个人计算机,成就了自由软件,黑客是计算机和互联网革命真正的英雄和主角。但到了今天,黑客一词已被用于泛指那些专门利用计算机搞破坏或恶作剧的“家伙”。对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。

1.1.1 黑客的过去、现在与未来

所谓的黑客最早始于20世纪50年代,最早的计算机于1946年在宾夕法尼亚大学出现,而最早的黑客出现于麻省理工学院,包括贝尔实验室都有,最初的活动参与者一般都是一些高级的技术人员,“越南战争”包括苹果公司的创始人乔布斯。当时他们提出一个口号,计算机为人民所用,COMPUTER FOREVERY PEOPLE!为什么这样说呢?因为那时大部分计算机都是大型计算机,只有大型公司、国家政府才有可能用得起。他们觉得计算机作为未来的一种重要的工具,应该为每一个人每一个家庭所用,所以提出了这样的口号。在这样的大环境和文化背景下,才出现了个人PC。

在国内,从1999年开始,黑客这个词才开始频繁地出现在国内的媒体上。

在给黑客下定义时,已经把黑客看成是一群人,他们具有几个特征,年轻化、男性化。一种类型是传统型的黑客,就像前面所定义的那样,他们进入别人的计算机系统后并不会进行破坏性的行为,而是告诉你的密码不安全,不会破坏你的信息,原有的东西都会保留而不会改动;另一种类型是,他们发现你的安全漏洞,并且利用这些漏洞破坏你的网站,让你出洋相,这些人就成了骇客,即Cracker,总之,只要是带有破坏性目的或有恶意的人,如果掌握你的信息后,向你要钱,如果不给他钱,就要把那些信息公布出来,这都是骇客;还有一种类型是被很多国人称作朋客的人,即恶作剧者,他们未必具有很高的技术,但有老顽童周伯通的心理,老是喜欢跟你开玩笑,通常用一些简单的攻击手段去搞一搞BBS、聊天室之类的。所以,我们把这些人分为传统的网络黑客、网络骇客及网络朋客。

黑客的手段一直以来都是令人畏惧的存在。他们可以窃听电话、入侵计算机,在各种网站如入无人之境。在云时代,由于更多的企业选择将数据上传至云端,采用公有云进行业务处理的企业也越来越多,黑客的存在成为云服务提供商最为头疼的安全问题之一。

物联网时代下,黑客可选择的攻击手段变得更多,用户的家居设备、企业的智能终端、探测仪器、测试数据甚至连WiFi都可能成为黑客入侵的项目。黑客一旦入侵导致信息泄露,可能造成的损失将会是无法估量的。

在人工智能方面,黑客入侵的结果将会是更为致命的。以目前的科技发展来看,黑客入侵机器人所在系统已经只是时间问题,而其所产生的后果无论如何都是无法接受的。相对而言,黑客入侵都只是图财,很少有为了害命的。

1.1.2 黑客基础术语

网络安全中常会遇见肉鸡、后门之类的黑客词语,这些词语并非原本的含义而是由原本含义引申出的其他含义。常用术语及含义解释如下。

• 肉鸡

所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的计算机,对方可以是Windows系统,也可以是UNIX/Linux系统,可以是普通的个人计算机,也可以是大型的服务器,我们可以像操作自己的计算机那样来操作它们,而不被对方所发觉。

• 木马

木马就是那些表面上伪装成了正常的程序,但是当这些程序被运行时,就会获取系统的整个控制权限。有很多黑客就是热衷于使用木马程序来控制别人的计算机,比如灰鸽子、黑洞、PcShare等。

• 网页木马

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

• 挂马

挂马就是在别人的网站文件里面放入网页木马或是将代码嵌入到对方正常的网页文件里,以使浏览者中马。

• 后门

后门是一种形象的比喻,入侵者在利用某些方法成功地控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置。这些改动表面上是很难被察觉的,但是入侵者却可以使用相应的程序或方法来轻易地与这台计算机建立连接,重新控制这台计算机,就好像是入侵者偷偷地配了一把主人房间的钥匙,可以随时进出而不被主人发现一样。

• rootkit

rootkit是攻击者用来隐藏自己的行踪和保留Root(根权限,可以理解成Windows下的System或管理员权限)访问权限的工具。通常,攻击者通过远程攻击的方式获得Root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,进入系统后,再通过对方系统内存在的安全漏洞获得系统的Root权限。然后,攻击者就会在对方的系统中安装Rootkit,以达到自己长久控制对方的目的。Rootkit与我们前边提到的木马和后门很类似,但远比它们要隐蔽,黑客守卫者就是很典型的Rootkit,还有国内的Ntroorkit等。

• IPC$

IPC$是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。

• 弱口令

弱口令指那些强度不够,容易被猜解的,类似123、abc这样的口令(密码)。

• 默认共享

默认共享是Windows XP/2000/2003系统开启共享服务时自动开启所有硬盘的共享,因为加了“$”符号,所以看不到共享的“托手”图标,也称为隐藏共享。

• Shell

Shell指的是一种命令执行环境,如我们按键盘上的“Win”+“R”组合键时出现“运行”对话框,在里面输入“cmd”会出现一个用于执行命令的黑窗口,这就是Windows的Shell执行环境。通常我们使用远程溢出程序成功溢出远程计算机后得到的那个用于执行系统命令的环境就是对方的Shell。

• Webshell

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

• 溢出

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

• 注入

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

• 注入点

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

• 内网

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

• 外网

外网,也叫互联网。从范围上来讲,是指全球性的互联网络。如在中国用计算机上网,连接访问美国的微软官网,就需要通过外网连接才能访问。外网IP地址是可以进行全球连接的。

• 端口

端口相当于一种数据的传输通道。用于接受某些数据,然后传输给相应的服务,而计算机将这些数据处理后,再将相应的恢复通过开启的端口传给对方。一般每一个端口的开放都对应了相应的服务,要关闭这些端口只需将对应的服务关闭就可以了。

• 免杀

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

• 加壳

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

• 花指令

花指令就是几句汇编指令,让汇编语句进行一些跳转,使得杀毒软件不能正常地判断病毒文件的构造。说通俗点就是“杀毒软件是从头到脚按顺序来查找病毒,如果我们把病毒的头和脚颠倒位置,杀毒软件就找不到病毒了”。

1.1.3 常见的黑客攻击目标

黑客攻击目标是网络资源,黑客的攻击手段和攻击目标息息相关,网络资源主要包括信息资源、硬件资源和链路带宽。

一、信息资源

信息资源包括存储在主机系统中的信息、传输过程中的信息和转发结点正常工作需要的控制信息,如存储在主机系统中的文本文件、数据库和可执行程序等,路由器的路由表、访问控制列表、交换机的转发表等。黑客对于信息资源的攻击有两类:一类是窃取网络中的信息,如用户私密信息(账户和口令)、企业技术资料,甚至有关国家安全的机密信息,为了不引起信息拥有者的警惕,黑客会尽量隐蔽攻击过程,消除窃取信息过程中留下的操作痕迹,这一类攻击一般不会破坏信息,以免引起用户警惕;另一类是破坏网络信息,篡改传输过程中的信息,篡改主机系统中的文件、数据库中的记录及路由表中的路由项等,这一类攻击以破坏信息、瘫痪主机系统和转发结点为目的。随着信息成为重要的战略资源,以信息为目标的攻击成为最常见的黑客攻击。

二、硬件资源

硬件资源包括主机硬件资源和转发结点硬件资源。主机硬件资源有CPU、存储器、硬盘及外设等。转发结点硬件资源有处理器、缓冲器、交换结构等。黑客对于硬件资源的攻击主要表现为过度占用硬件资源,以至于没有提供正常服务所需要的硬件资源,大量地拒绝服务攻击就是针对硬件资源的攻击。例如,SYN泛洪攻击就是通过大量占用主机系统分配给TCP进程的存储器资源,使TCP进程没有存储器资源用于响应正常的TCP连接请求。有的DoS攻击发送大量无用IP分组给路由器,以此占用路由器内部处理器和交换结构资源,使路由器丧失转发正常IP分组所需要的处理能力、缓冲能力和交换能力。

三、链路带宽

链路带宽指信道的通信容量,如l00Mbit/s的以太网链路,表示每秒最多传输l00Mbit二进制数码,黑客通过大量占用信道通信容量使链路丧失传输正常信息流的能力。

1.2 IP地址

IP是计算机网络不可或缺的部分,IP地址是一台连接到Internet中的计算机的标志,通过它可以轻松找到目标主机,本节将介绍IP地址的基础知识。

1.2.1 IP地址概述

IP是英文Internet Protocol的简称,意思是“网络之间互联的协议”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。因此,IP协议也可以叫做“因特网协议”。

IP地址被用来给Internet上的计算机进行编号。大家日常见到的情况是每台联网的计算机都需要有IP地址,才能正常通信。我们可以把“个人计算机”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。

1.2.2 IP地址分类

最初设计互联网络时,为了便于寻址及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上的工作站、服务器和路由器等)有一个主机ID与其对应。Internet委员会定义了5种IP地址类型以适合不同容量的网络,即A类~E类。

其中,A、B、C三类(见表1-1)由Internet NIC在全球范围内统一分配,D、E类为特殊地址。

1.2.3 设置本机IP地址

在网络环境中,设置IP地址是最基础的环节,具体操作步骤如下。

1. 选择“开始”/“控制面板”命令,选择“网络和Internet”选项,然后在“网络和Internet”窗口中选择“查看网络状态和任务”选项,如图1-1所示。

2. 在“网络和共享窗口”里单击“本地连接”,如果使用的是无线连接,则单击“无线连接”。在这里我们用的是无线连接,单击后弹出“无线网络连接 状态”对话框,如图1-2所示。

3. 单击“属性”按钮,在弹出的“无线网络连接 属性”对话框中选择“Internet协议版本4”,单击“属性”按钮,如图1-3所示。

4. 在弹出的“Internet协议版本4”属性对话框中,选择“使用下面的IP地址”进行IP设置。设置完成后单击“确定”按钮,完成操作,如图1-4所示。

1.3 进程与端口基础

端口是计算机提供服务的大门,黑客要想入侵计算机,就需要从这扇门里进入。进程是系统或应用程序的一次动态执行,是计算机系统的动态核心,了解进程与端口的基础知识及相关操作可以为黑客防范打下基础。

1.3.1 认识进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。

进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就是所有由用户启动的进程。进程是操作系统进行资源分配的单位。在Windows下,进程又被细化为线程,也就是一个进程下有多个能独立运行的更小的单位。

危害较大的可执行病毒同样以“进程”形式出现在系统内部(一些病毒可能并不被进程列表显示,如“宏病毒”),那么及时查看并准确杀掉非法进程对于手工杀毒起着关键性的作用。

1.3.2 进程基础操作

计算机启动后,在计算机系统中启动任意程序,系统都会在后台加载相应的进程,对于进程的相关操作介绍如下。

一、查看系统进程

在计算机正常运行时,系统进程主要包括系统管理计算机本身和完成各种操作所必需的程序与用户开启、执行的软件程序。我们可以通过Windows任务管理器对系统中运行的进程进行查看。

在Windows系统下,鼠标右键单击“任务栏”空白处,选择“启动任务管理器”命令,或者按“Ctrl”+“Shift”+“Esc”组合键,即可打开“Windows任务管理器”窗口,如图1-5所示。如果想看任务管理器显示的列内容,需单击“任务管理器”上方的“查看”选项,然后单击“选择列”选项,弹出“选择进程页列”对话框,如图1-6所示。

二、关闭进程

在Windows系统中,用户关闭进程可以进行如下操作。

1. 鼠标右键单击“任务栏”空白处,选择“启动任务管理器”命令,或者按“Ctrl”+“Shift”+“Esc”组合键,即可打开“Windows任务管理器”窗口。

2. 选择要结束的系统进程,单击“结束进程”按钮,如图1-7所示。在弹出的对话框中单击“结束进程”按钮即可完成结束进程操作,如图1-8所示。

1.3.3 端口概述

“端口”是英文port的意译,可以认为是设备与外界进行通信交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见,如计算机中的80端口、21端口、23端口等;物理端口又称为接口,是可见端口,如计算机背板的RJ45网口,交换机路由器集线器等的RJ45端口。电话使用的RJ11插口也属于物理端口的范畴。

1.3.4 查看端口

在Windows系统中,我们可以用Netstat命令查看端口。在“命令提示符”窗口中,运行“netstat -a -n”命令即可看到以数字形式显示的TCP和UDP连接的端口号及其状态,具体操作步骤如下。

1. 单击“开始”菜单,选择“运行”命令,或者按“Win”+“R”组合键弹出运行对话框。

2. 在文本框里输入“cmd”命令,单击“确定”按钮,如图1-9所示。

3. 打开命令提示符窗口,输入“netstat -a -n”命令查看TCP和UDP连接的端口号及其状态,如图1-10所示。

一些端口常常会被黑客利用,还会被一些木马病毒利用,对计算机系统进行攻击,在未来的学习中,我们将逐渐介绍如何应对此类入侵。

第2章 黑客常用的命令

黑客常用DOS进行入侵,通过本章的学习,可以预防他人用某些命令登录个人计算机。某些网络命令可以诊断网络故障和网络运行情况,掌握这些命令也是网络管理员的必备技能。

2.1 Windows命令行常用操作

在Windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,运行在Windows NT/XP/2000/2003/Vista/7/8/10上,类似于微软的DOS操作系统。输入一些命令,cmd.exe可以执行,同时,cmd.exe也可以执行BAT文件。

2.1.1 启动Windows系统命令

在第1章我们已经简单地执行过系统命令。启动Windows系统命令行的方法为:单击“开始”菜单,选择“运行”命令,或者按“Win”+“R”组合键弹出运行对话框。在文本框中输入“cmd”命令,单击“确定”按钮,弹出命令行提示符窗口。

2.1.2 复制与粘贴命令行

在命令行操作中,有时我们想对某些命令行进行复制、粘贴操作,其具体操作步骤如下。

1. 以Windows 7为例,启动命令行,在命令行提示符窗口里输入一条命令,如输入“netstat–a–n”。

2. 鼠标右键单击提示符窗口的标题栏,在弹出的菜单中选择“编辑”/“标记”命令,如图2-1所示。

3. 按住鼠标作左键不动,拖动鼠标指针标记所要复制的内容,标记完成后,按“Enter”键完成复制,如图2-2所示。

4. 在需要粘贴的位置单击鼠标右键,在弹出的菜单中选择“粘贴”命令,完成粘贴操作。

2.1.3 窗口基础设置

在命令行提示符窗口的快捷菜单中,可以对命令行窗口的颜色、字体等进行相应设置,其相关操作如下。

一、字体

鼠标右键单击命令提示符窗口的标题栏,选择“属性”命令,在弹出的属性对话框中,切换到“字体”选项卡,可以根据需要设置字体的样式,如图2-3所示。

二、颜色

鼠标右键单击命令提示符窗口的标题栏,选择“属性”命令,在弹出的属性对话框中,切换到“颜色”选项卡,可以根据需要设置颜色,如图2-4所示。

三、布局

鼠标右键单击命令提示符窗口的标题栏,选择“属性”命令,在弹出的属性对话框中,切换到“布局”选项卡,可以根据需要设置布局,如图2-5所示。

2.2 常用网络命令

利用网络命令可以判断网络故障及网络运行情况,网络管理员必须掌握此项技能。Windows下的网络管理员命令功能十分强大,也是黑客经常利用的工具。

2.2.1 ping命令

ping是Windows、UNIX和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用ping命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。

ping命令利用ICMP协议进行工作,ICMP是Internet控制消息协议,用于在主机和路由器之间传递控制消息。ping命令利用了ICMP两种类型的控制消息:“echo request”(回显请求)、“echo reply”(回显应答)。比如在主机A上执行ping命令,目标主机是B。在A主机上就会发送“echo request”控制消息,主机B正确接收后即发回“echo reply”控制消息,从而判断出双方能否正常通信。

选择“开始”菜单中的“运行”命令,或者按“Win”+“R”组合键打开“运行”对话框,然后输入“cmd”命令,按“Enter”键进入命令提示符窗口,输入“ping”命令,按“Enter”键,得到ping命令的详细参数,如图2-6所示。

详细参数解释

• -a:将目标的机器标识转换为IP地址。

• -t:若使用者不人为中断会不断地ping下去。

• -c count:要求ping命令连续发送数据包,直到发出并接收到count个请求。

• -d:为使用的套接字打开调试状态。

• -f:是一种快速方式ping。使得ping输出数据包的速度和数据包从远程主机返回一样快,或者更快,达到每秒100次。在这种方式下,每个请求用一个句点表示。对于每一个响应打印一个空格键。

• -i seconds:在两次数据包发送之间间隔一定的秒数。不能同-f一起使用。

• -n:只使用数字方式。在一般情况下ping会试图把IP地址转换成主机名。这个选项要求ping打印IP地址而不去查找用符号表示的名字。如果由于某种原因无法使用本地DNS服务器这个选项就很重要了。

• -p pattern:用户可以通过这个选项标识16个填充字段,把这些字段加入数据包中。当在网络中诊断与数据有关的错误时这个选项就非常有用。

• -q:使ping只在开始和结束时打印一些概要信息。

• -R:把ICMP RECORD-ROUTE选项加入到ECHO_REQUEST数据包中,要求在数据包中记录路由,这样当数据返回时ping就可以把路由信息打印出来。每个数据包只能记录9个路由节点。许多主机忽略或放弃这个选项。

• -r:使ping命令旁路掉用于发送数据包的正常路由表。

• -s packetsize:使用户能够标识出要发送数据的字节数。默认是56个字符,再加上8个字节的ICMP数据头,共64个ICMP数据字节。

• -v:使ping处于verbose方式。它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其他所有返回的ICMP数据包。

实例运用

可以使用ping命令测试计算机名和IP地址。如果能够成功校验IP地址却不能成功校验计算机名,则说明名称解析存在问题。

如果要测试本机,输入“ping 123.131.148.160”,其中123.131.148.160为本机的实验IP,按“Enter”键,结果如图2-7所示。

图2-7表明该主机安装了TCP/IP,而其中的时间量代表发送回送请求到返回回送应答之间的时间量,时间量越小标志着数据包通过的路由器越少或网速越快。

探测远程计算机时,如测试是否可以连通百度的主机,只需在命令行中输入“ping www.baidu.com”,得到图2-8所示的运行结果,表明连通正常,所有发送的包均被接收,其丢包率为0。

2.2.2 netstat命令

netstat是在内核中访问网络及相关信息的命令,能够显示协议统计和当前TCP/IP的网络连接。

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接及每一个网络接口设备的状态信息。netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

打开“运行”对话框,然后输入“cmd”命令,按“Enter”键进入命令提示符窗口,输入“netstat”命令,按“Enter”键,得到显示活动的TCP连接,如图2-9所示。

详细参数解释

• -a:显示所有网络连接和侦听端口。

• -b:显示在创建网络连接和侦听端口时所涉及的可执行程序。

• -n:显示已创建的有效连接,并以数字的形式显示本地地址和端口号。

• -s:显示每个协议的各类统计数据,查看网络存在的连接,显示数据包的接收和发送情况。

• -e:显示关于以太网的统计数据,包括传送的字节数、数据包和错误等。

• -r:显示关于路由表的信息,还显示当前的有效连接。

• -t:显示TCP协议的连接情况。

• -u:显示UDP协议的连接情况。

• -v:显示正在进行的工作。

实例运用

例如,我们要显示本机所有活动的TCP连接及计算机侦听的TCP和UDP端口,则应输入“netstat -a”命令,如图2-10所示。如果想检查路由表确定路由配置情况,则应当输入“netstat-rn”命令,如图2-11所示。

2.2.3 net命令

net命令是功能强大的以命令行方式执行的工具。它包含了管理网络环境、服务、用户和登录等Windows中大部分重要的管理功能。使用它可以轻松地管理本地或远程计算机的网络环境,以及各种服务程序的运行和配置,或者进行用户管理和登录管理等。

选择“开始”菜单中的“运行”命令,打开“运行”对话框,然后输入“cmd”命令,按“Enter”键进入命令提示符窗口,输入“net”命令,按“Enter”键,得到net命令的详细参数,如图2-12所示。

详细参数解释

• -user:用于创建和修改计算机上的用户账户。

• -accounts:将用户账户数据库升级并修改所有账户的密码和登录等。

• -computer:从域数据库中添加或删除计算机,所有计算机的添加和删除都会转发到主域控制器。

• -confi g:显示当前运行的可配置服务,或显示并更改某服务的设置。

• -confi g workstation:显示更改可配置工作站服务参数。更改立即生效,并且永久保持。并非所有的工作站服务参数都能使用net confi g workstation命令进行更改,其他参数可以在配置注册表时修改。

• -continue:重新激活挂起的服务。

• -file:显示某服务器上所有打开的共享文件名及锁定文件数。该命令也可以关闭个别文件并取消文件锁定。

• -group:在Windows NT Server域中添加、显示或更改全局组。

• -help:提供网络命令列表及帮助主题,或提供指定命令或主题的帮助。

• -net helpmsg:提供Windows NT错误信息的帮助。

实例运用

例如,我们想让其显示本机所有用户列表,输入“net user”命令,结果如图2-13所示。如果想显示更改可配置工作站服务参数,输入“net confi g workstation”命令,如图2-14所示。

2.2.4 telnet命令

telnet是一种命令,也是一种协议,是TCP/IP网络通信协议中的一种,提供网络远程登录服务及对应的协议标准。通过使用telnet命令可以使本地计算机通过网络远程登录服务器或网络计算机,像使用本地计算机一样方便地使用控制台,实现在本机就能远程控制网络计算机的目的。

telnet协议是远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的计算机上使用telnet命令,用它连接到服务器。终端使用者可以在telnet命令中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样,可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。telnet是常用的远程控制Web服务器的方法。

telnet提供远程登录功能,使得用户在本地主机上运行telnet客户端,就可登录到远端的telnet服务器。在本地输入的命令可以在服务器上运行,服务器把结果返回到本地,如同直接在服务器控制台上操作。这样就可以在本地远程操作和控制服务器。

2.2.5 ftp命令

ftp命令是Internet用户使用最频繁的命令之一,熟悉并灵活应用ftp的内部命令,可以大大方便使用者,有事半功倍之效。

选择“开始”菜单中的“运行”命令,打开“运行”对话框,然后输入“cmd”命令,按“Enter”键进入命令提示符窗口,输入“ftp”命令,按“Enter”键,可以进入ftp子环境窗口,如图2-15所示。

详细参数解释

ftp的命令行格式为:ftp -v -d -i -n -g [主机名],其中的参数解释如下。

• -v:显示远程服务器的所有响应信息。

• -n:限制ftp的自动登录,即不使用。

• -d:使用调试方式。

• -g:取消全局文件名。

2.3 其他命令

除了上述几个常用命令外,我们再学习几个其他命令,加强对命令的认识操作。

2.3.1 arp命令

arp也是TCP/IP协议族中的一个重要协议,用于确定对应IP地址的网卡物理地址。

使用arp命令,能够查看本地计算机或另一台计算机的arp高速缓存中的当前内容。此外,使用arp命令可以人工方式设置静态的网卡物理地址/IP地址对,使用这种方式可以为默认网关和本地服务器等常用主机进行本地静态配置,这有助于减少网络上的信息量。

按照默认设置,arp高速缓存中的项目是动态的,每当向指定地点发送数据并且此时高速缓存中不存在当前项目时,arp便会自动添加该项目。例如,我们输入“arp-a”命令来查看高速缓存中的所有项目,如图2-16所示。

常用命令选项如下。

• -a:用于查看高速缓存中的所有项目。

• -a IP:如果有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的arp缓存项目。

• -s IP物理地址:向arp高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。

• -d IP:使用本命令能够人工删除一个静态项目。

2.3.2 traceroute命令

traceroute命令是用来监测发出数据包的主机到目标主机之间所经过的网关的工具。traceroute命令的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。

要掌握使用traceroute命令测量路由情况的技能,即用来显示数据包到达目的主机所经过的路径。

traceroute命令的基本用法是,在命令提示符后输入“tracert host_name”或“tracert ip_address”,其中,tracert是traceroute在Windows操作系统上的称呼。如输入“tracert www.baidu.com”,如图2-17所示。

其输出有以下5列。

• 第1列是描述路径的第n跳的数值,即沿着该路径的路由器序号。

• 第2列是第一次往返时延。

• 第3列是第二次往返时延。

• 第4列是第三次往返时延。

• 第5列是路由器的名字及其输入端口的IP地址。

如果源从任何给定的路由器接收到的报文少于3条(由于网络中的分组丢失),traceroute在该路由器号码后面放一个星号,并报告到达那台路由器的少于3次的往返时间。

此外,tracert命令还可以用来查看网络在连接站点时经过的步骤或采取哪种路线,如果是网络出现故障,就可以通过这条命令查看出现问题的位置。

2.3.3 route命令

route命令用来显示和操作IP路由表,用来通过一个已经利用ifconfi g命令配置好的网络接口为指定主机或网络设置静态路由。当使用add或del选项时,route命令修改路由表,否则显示路由表当前内容。

大多数主机一般都是驻留在只连接一台路由器的网段上。因为只有一台路由器,因此不存在选择使用哪一台路由器将数据包发送到远程计算机上去的问题,该路由器的IP地址可作为该网段上所有计算机的默认网关。

但是,当网络上拥有两个或多个路由器时,用户就不一定想只依赖默认网关了。实际上可能想让某些远程IP地址通过某个特定的路由器来传递,而其他的远程IP则通过另一个路由器来传递。在这种情况下,用户需要相应的路由信息,这些信息存储在路由表中,每个主机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交换和动态更新路由器之间的路由表。但在有些情况下,必须人工将项目添加到路由器和主机上的路由表中。route命令就是用来显示、人工添加和修改路由表项目的。

选择“开始”菜单中的“运行”命令,打开“运行”对话框,然后输入“cmd”命令,按“Enter”键进入命令提示符窗口,输入“route”,按“Enter”键,可以进入route命令详细参数,如图2-18所示。

详细参数解释如下。

• route print:本命令用于显示路由表中的当前项目,在单个路由器网段上的输出结果如图2-19所示。

• route add:使用本命令,可以将路由项目添加给路由表。例如,如果要设定一个到目的网络209.99.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器IP为202.96.123.5,子网掩码为255.255.255.224,那么用户应该输入以下命令:route add 209.99.32.33 mask 255.255.255.224 202.96.123.5 metric 5。

• route change:可以使用本命令来修改数据的传输路由,不过,用户不能使用本命令来改变数据的目的地。

• route delete:使用本命令可以从路由表中删除路由。

相关图书

CTF快速上手:PicoCTF真题解析(Web篇)
CTF快速上手:PicoCTF真题解析(Web篇)
数字银行安全体系构建
数字银行安全体系构建
软件开发安全之道概念、设计与实施
软件开发安全之道概念、设计与实施
企业信息安全体系建设之道
企业信息安全体系建设之道
深入浅出Kali Linux渗透测试
深入浅出Kali Linux渗透测试
内网渗透技术
内网渗透技术

相关文章

相关课程