探索黑客技术攻防,实战研究与安全创新

导航菜单

操作系统管理命令

作为优秀的系统管理员还是笑傲江湖的黑客,都需要对操作系统非常熟悉。这里所说的熟悉是不仅要懂得操作Windows图形界面,更重要的是掌握Windows的命令行,因为在网络攻防实战中,命令行具有更高的是活性和可定制性,比图形界面更有优势

本章从认识Windows命令行开始,逐一介绍Windows常用的系统管理命令,带领大家步入命令行的奇妙世界

Windows命令行基础

本节将介绍Windows命令行的基础知识,让读者了解什么是Windows命令行,它具有哪些特点,以及启动Windows命令行的方法

认识Windows的命令行

从结构和功能上划分,操作系统可以分成核心(kernel)和Shell两部分,其中,Shell是操作系统与外部的主要接口,位于操作系统的外层,为用户提供与操作系统核心沟通的途径。

在UNIX、Linux等主要面向专业IT用户的操作系统中,命令行操作方式的Shell一直是他们操作的主要工具,而在Windows操作系统中,由于采用图形界面,面向的用户主要是非IT人员,因此Shell一直处于配角的地位,被大多数用户束之高阁。事实上,对于黑客而言,Shell有着图形界面无法比拟的优势,在网络攻防实战中,使用晟频繁的往往不是Windows系统的工具软件,而是需要在命令提示符状态下输入的各种与网络相关的命令

从WindowsVistaSP1开始,微软提供了功能更强大的Shell-WindowsPowerShell,它以PosixShell为蓝本,吸收了大量c#、Perl语言的思想。一般用户会觉得WindowsPowerShell过F高深莫测,但它是直达系统中枢的捷径,系统管理员及黑客有必要花时间去了解和学习,有关内容将会在本书第6章进行介绍

与DOS相比,WindowsXP等操作系统的命令行界面有所增强,一些细节也有差异,下面来看一些WindowsXP命令行界面的特别之处。

1.支持复制、粘贴等操作

在WindowsXP及其以后的操作系统的命令行窗口中,用户可以使用复制、粘贴等操作,例如在输入一些复杂的命令时,可以先用记事本写下命令,然后粘贴到命令行窗口,这样会方便重复输入

在命令行窗口与在Windows界面下复制和粘贴的操作有所不同,例如要复制命令行窗口里的内容,使用右键菜单或按【Ctrl+C】组合键均无法将内容复制到剪贴板上,必须在命令行窗口右击,选择“标记”命令,然后按住鼠标左键拖动选取要复制的内容,最后右击或按【Enter]键,即可选取的内容复制到剪贴板,2-1。

B1.png

2.直接支持系统已挂接码表的输入法

在DOS中,要显示及输入中文,需要运行中文集成环境方可,而在WindowsXP等操作系统的命令行窗口中,直接就可以显示中文,2-2,而且用户可以按图形界面下相同的快捷键,直接调用系统里已安装的中文输入法,例如按【CtrI+Shifi】组合键切换输入法,按【Shifi+Spacel】组合键切换全角与半角状态等。

B2.png

3.新增大量DOSkey

在Windows的命令行窗口中,可以使用传统DOS的DOSkey,灵活使用这些快捷键可以大大提高操作的效率

·Delete:删除光标后面的字符。

·Home\End:移动光标到命令行的开头和结尾。

·Insert:在插入和改写状态切换。

·T\0:调用最近输入过的命令。

启动命令行窗口

在WdowsXP及其以后的操作系统中,用户可通过以下两种方式启动命令行窗口(CMDShell)

一是通过开始菜单:单击“开始”按钮,依次选择“所有程序”一“附件”一“命令提示符”命令。

二是通过“运行”对话框:单击“开始”按钮,选择“运行”命令,然后在弹出的“运行”对话框中输入CMD,最后单击“确定”按钮,即可打开命令行窗口

其实,还有一种不常用的方法,就是通过IE浏览器打开命令行窗口,方法也根简单,只需根据不同操作系统在浏览器地址栏中输入对应的地址即可

Windows2000操作系统:c:\winnt\system\cmd.Exe

WindowsXP、WindowsVista及Windows7:c:\windows\system32\cmd.exe.

CMD命令带有复杂的参数,以满足用户特定情况下的需求,具体情况如下

命令格式:

CMD[/Al,rU][/Q][/D][/E:ONl(E:OFF][/F:ONl/F:OFF][V:ONlN:OFF]【[/S][/CI/K]string】

参数说明:

./A:使向管道或文件的内部命令输出为ANSI

·/U:便向管道或文件的内部命令输出为Unicode

./Q:关闭显示

.,D:禁止从注册表执行AutoRun命令

./E:ON:启用命令扩展

./E:OFF:禁用命令扩展

./F:ON:启用文件和目录名完成字符

./F:OFF:禁用文件和目录名完成字符

./v:ON:使用!作为分隔符,宿用延迟的环境变量扩展。例如,/V:ON会允许!var!在执行时扩展变量var。var语法会在输入时扩展变量,这与在一个FOR循环内不同。

./V:OFF:禁用延迟的环境扩展

./s:修改/C或/K之后的字符串处理

./c:执行字符串指定的命令后终止。

·/k:执行字符串指定的命令但保留。

Windows命令行的快捷操作

除了前面提及的从DOS操作系统继承各种DOSkey之外,Windows命令行还有许多快捷操作,下面将介绍一较常用的快捷操作

B3.png

·Ctrl+一和Ctrl+:跳到后一个/前一个单词。

·Fl:逐个字符输入上一条命令

·F2:当用户输入一个命令后,按下F2功能键,然后输入命令中包含的一个字符,系统将自动输入到用户输入字符的位置。例如先运行cdC:\PfogramFiles\JnternetExplorer命々,然后按下F2功能键,接着输入,系统就会自动输入以下内容:cdC:\ProgramFiles\l(即前一个命令中n字符之前的部分)

·F7:显示所有历史记录,并且可以使用命令的首字母快速导航

本地与远程关机命令

WindowsXP等操作系统的关机是通过shutdown.exe程序来实现的,该程序位于“Windows\System32”目录下,用户可在命令提示符界面中执行该命令,无须进入程序所在目录。Shutdown命令既可以操控本地电脑,也可以操控远程电脑,其图形界面2-3所

命令格式:

shutdownf—iI—ll-s{一rl-a][-t]【一m\\compmemameJ[一txx]【-c”comment”】

参数说明:

·:使用该参数将会显示图形界面,需要注意的是,这个参数必须放在第一位。

B4.png

·_I:注销计算机,该参数只能用于本地计算机,不能用于远程汁算机,即不能与-m参数一起使用

.-s:关闭计算机。

·-r:重新肩动计算机

·-a:放弃关闭计算机的操作

·-f:强行关闭正在运行的程序,以避免因某些程序无法退出而导致关机失败现象

·-m\\computemame:该参数用于控制远程计算机进行关机、重新启动及放弃操作。用户需要先获取远程计算机的操作权限。此外,该参数不能与-l参数一起使用。

·-tXx.设置倒计时xx秒后关闭计算机。

·一c“comment”:该参数用于设置关机对话框中的提示信息,提示信息的长度不能超过127个字符。

范例1

电脑正在执行某项任务,所需时长大约1.5小时,为了让电脑在任务完成后自动关机,可以设置电脑在2小时后自动关闭

在命令提示符窗口输入以下命令

shutdown-s-f-t7200

执行关机命令后,弹出“系统关机”对话框,并显示关机倒计时间,24。

B5.png

范例2

设置服务器在2小时后重启以安装更新,并且在关机对话框中显示相应的提示信息,可输入以下命令

shutdown-s-t7200一c”重启以安装更新”

执行上述命令后,弹出“系统关机”对话框,并显示关机倒计时间和提示信息,2.S。

B6.png

范例3

shutclown命令还可以与at命令配合使用,指定关机的具体时间,例如要设置在12:45分自动关机,并且倒计时30秒,则输入以下命令

at12:45shutdown-s-t30

范例4

本例将示范通过网络连接到远程计算机(192.168,1.66),然后令其重新启动的方法。首先使用net命令连接到远程计算机(net命令的用法请参考第3章第4节的相关内容),然后执行shutdoWn命令。

Stopl在命令提示窗口中输入netus;e\\192.168.1.66/user:clamp命令,以clamp账户连接。

Step2输入密码,当看到“命令成功完成”的提示信息时,说明连接已经成功

Step3输入shutdown—s-m\\192.168.1.66命令,关闭远程计算机。

c:\DocumentsandSettingsYwind>netuse\\192.168.1*66/user:clamp

密码或用户名在\\192.168.1.66无效

输入‘clamp'的密码来连接到’192.168.1.66’:

命令成功完成。

C:\DocumentsandSettings\wind>shutdown-s-m\\192.168.1.66

文件管理命令

文件管理包括查看文件、复制文件、删除文件等,这些都是最基本的系统操作,本节将选择一些较常用的文件管理命令进行详细介绍

文件及文件夹查看命令dir与tree

查看磁盘里的文件及文件夹,可以使用dir和tree命令来完成,其中dir命令提供了各种完善的查询功能。而tree命令的功能比较单一:以图形方式显示文件夹的结构

1.dir命令说明

命令格式

dir[drive:)[path]【filename】[/A[【:]attributes】】【/B】[/D】[/o【f:]sortorder]】

【/Pj[/O]]【[:】timefield]1[/W]【/xJ【/41

参数说明:

*[drive:l[path][rilename]:指定要查看的驱动器、目录及文件,不带参数则表示查看当前位置的文件夹及文件。

./A:attributes:表示显示指定属性的文件。attributes包括以下几种:D代表目录;R代表只读文件:H代表隐藏文件:A代表准备存档的文件;S代表系统文件,如果不带任何属性,则表示显示所有属性的文件。除目录之外,其余属性均可使用“.”来表示“否”,例如-H代表非隐蒇文件

./B:简明扼要地显示文件及文件夹信息,不是示文件大小、创建时间等额外信息。

./D:把文件及文件夹分栏列出

./O:sortorder:接指定分类方式排列显示,其中,N表示按名称顺序排列:S表示按大小顺序排列(从小到大):B表示按扩展名排列:D表示按时间先后顺序排列{在分类前加上一表示颠倒顺序,如一s表示从大到小排列。

·/P:显示满屏后暂停,需用户确认后才显示下一屏。如果要查看的文件太多,必须使用这个参数,否则根本无法看清楚前面显示的内容

./Q:显示文件的所有者

./T:timefield:控制显示的时间字符域,其中,C表示创建时间;A表示上次访问时间:W表示上次写入的时间。

·,w:表示使用宽列表格式

./x:显示短名称。

./4:用四位数字显示年。

范例5

要查看C盘download文件夹里的所有文件,包括隐藏文件,则输入difc:\download/a命令

B7.png

范倒6

要把C盘download文件里的文件按照从大到小的顺序排列显示,则输入dirc:\download/o-s命令。

B8.png

2。tree命令说明

命令格式

treeidrive:】[path1【/F][/A]

参数说明:

.[drive:】[path]:显示的驱动器及文件夹

./F:显示所有文件夹中的文件名称

./A:使用ASCII字符,而不使用扩展字符

范例7

要显示C盘download文件夹下的所有文件及子文件夹的结构,町输入treec:\download/f命令。

C:Y>treec:\download/f

文件夹PATH列表

卷序列号为B47C-718A

C:\DOWNLOAD

B9.png

修改文件夹及文件属性命令attrib

anrib命令用于修改文件夹及文件的属性。文件的属性主要有:存档、只读、隐藏和系统。

·存档:凌属性用来标记文件的改动。

·只读:具备只读属性的文件,只可读取文件内容,而不能修改文件。

·隐藏:具备该属性的文件,默认情况下不会在Windows资源管理器中显示,使用dir命令查看文件时,如果不添加特定的参数,同样也看不到隐藏文件。

·系统:系统属性表示该文件或文件夹是操作系统的文件,该属性在Windows中不能更改。

命令格式

B10.png

参数说明

·+:设置属性。

·一:取消属性。

·R:与+或一组合,设置或取消只读属性

·A:与+或组合,设置或取消存档属性。

.S:与+或一组合,设置或取消系统文件属性。

·H:与+或组合,设置或取消隐藏文件属性。

.[driveI】[path]【filenamel:指定要设置的文件

./s:处理当前文件夹及其子文件夹中的匹配文件。

./D:也处理文件夹,该参数必须和/S参数一起使用

范例8

例如要查看C盘test文件夹中各文件的属性,只需使用cd命令切换到该文件夹,然后输入attrib

命令即可。

B11.png

范例9

例如要为C盘test目录中的readme.txt文件添加隐藏属性,则输入命令:attrib+h

c=\testkreadme.txt。

B12.png

使用attrib命令设置属性时,还可以使用通配符,若C盘test目录里有多个隐藏文件,用户要全部取消这些文件的隐藏属性,则输入命令:attrib-hc:\tes”.+,命令执行完毕,输入attrib命令查询,就会看到所有文件的隐藏属性已经取消了

B13.png

范例10

假如要隐藏C盘test文件夹中的old文件夹,可以输入C:\test>attrib+hc:\test\old/s/d命令,命令执行完毕,接着输入attrib,s,d命令查看,就会发现old文件夹已经具备H(隐藏)属性。

B14.png

文件复制移动命令copy与move

使用电脑的时候,复制和移动文件的操作频率非常高,在命令行界面中,这些操作分别通过copy和move命令来完成。其中,copy命令用于复制文件.move命令用于移动文件

需要注意的是,copy命令不能复制于目录及子目录下的文件,如果要复制包含子目录的目录,需要使用xcopy命令,该命令在后文会做详细介绍。

1.copy命令

命令格式:

B15.png

参数说明:

./D:允许解密要创建的目标文件

./v:验证新文件写入是否正确。

./N:复制带有非8dot3名称的文件时,尽可能使用短文件名。

./y:不使用确认是否要覆盖现有目标文件的提示。

./-Y:使用确认是否要覆盖现有目标文件的提示。

./A:表示一个ASCII文本文件。

./B:表示一个二进制文件。

·source:指定要复制的文件。

·destination:为新文件指定目录和/或文件名。

范倒11

例如在c:\test\old目录下有一个readme.txt文件,要将其复制到c:\teat\new目录下,则输入命令为:copyc:\test\old\readme.txtc:\lest\new.

B16.png

范例12

如果要把某文件夹中的文件全部复制到另一个文件夹内,例如把c:ltest\old文件夹中的所有文件复制到c:~test/new文件夹内,则输入命令copyc:\test\oldc:\test\new

B17.png

范倒13

假如要将C:\test\old目录里所有以K字母开头的文件复制到C:\test\new目录里,可以借助通配符+来完成,输A的命令是copyc:\test\old\k*.*c:\test\new。

B18.png

2.move命令

命令格式:

B19.png

参数说明:

·[drive:][pathlfilenamel:指定要移动的文件位置和名称。

·destination:指定文件的新位置。

·[drive:][path]dimamel:指定要重命名的目录。

·dimame2:指定目录的新名称。

./Y:这个参数用于取消确认改写一个现有目标文件的提示。

.,-Y:这个参数用于对确认改写一个现有目标文件发出提示

范例14

若要把C:\test\old目录下的readme.txt文件移动到C:\test\new目录下,可输入命夸:moVec;\testlold\readme.txtc:Vlest\new.如果目标文件夹已经存在同名的目录,则还需要输入y确认覆盖文件

B20.png

范例15

如果要将C:\test\oid\a目录重命名成b.可输入命令:movec-\test\old\ac:\test\old协,执行完毕,

使用dir命令查看,将会发现原来的a目录的名称已经变成了b。

B21.png

在上述例子中,如果用户提前使用cd命令把old目录指定为当前目录,那么,将目录a重命名为b的命令可以简化成:moveab

B22.png

高级复制命令xcopy

由于rcopy命令不能复制子目录及予目录下的文件,而且可用的参数较少,因此,在实际应用中需要使用另个高级复制命令xcopy,它是一个外部命令,当系统存在xcopy,exe文件时才能使用。

命令格式:

B23.png

参数说明:

·source,指定要复制的文件。

·destination:指定新文件的位置和名称。

./A:只复制有存档属性的文件,并且不改变属性。

./M:j{复制育存档属性的文件,并关闭存档属性。

./D:m-d-y:复制在指定日期或指定日期以后更改的文件。如果没有提供日期,只复制源时间比目标时间新的文件。

./P:创建每个目标文件前提示。

./s:复制目录和子目录,除了空的。

·JtE:复制目录和子目录,包括空的。

./V:验证每一个新文件

·/w:提示您在复制前按键。

./c:即使有错误,也继续复制。

./I:如目标不存在,叉在复制一个以上的文件,则假定日标是一个目录。

./Q:复制时不显示文件名。

./F:复制时显示完整的源和目标文件名

./L:显j示要复制的文件。

./H:复制隐藏和系统文件。

./R:覆盖只读文件。

./T:创建目录结构,但不复制文件。不包括空目录或子目录。/T,E包括空目录和子目录。

·/U:只复制已经存在于日标中的文件。

./K:复制属性。一般的Xcopy会重置只读属性。

./N:用生成的短名复制。

·/o:复制文件所有权和ACL信息。

。/Z:用重新启动模式复制网络文件。

./EXCLUDE:filel[+file2l[+file31.,.:在复制时排除不想要的文件或文件夹,使用该参数时,需要新建一个文本文档,写下要排除的字符串。

范例16

若要把c:\test\old目录下的争部文件及子文件夹复制到c:\test\new日录,可执行命令:xcopyc:\test\oldcI、test\new/e,/h.

B24.png

范例17

若要把c:\tes{\old日录下的文件复制到c:\testtnewH录,但不复制文件名中带有key及note字符的文件,可通过以下操作求实现,具体的方法如下:

首先在c:\test日录下使用edit命令新建一个名为un的文本文档,其内容为:

Key

Note

B25.png

B26.png

B27.png

如果目标电脑使用的是WindowsVista或者Windows7操作系统,还可以使用另一个功能更强大的复制命令:robocopy。由于这不是本书讲解的重点,就不再详细讲解了,感兴趣的读者可自行查询Windows命令行帮助。

重命名命令rename

rename命令的功能是重新命令文件,通常可以简写为ren。

命令格式:

B28.png

参数说明:

[drive:][path]filenamel:要重命名的文件位置及名称。

filename2:新的名称。

范例18

例如要把C:\test目录下的un.txt文件重命名为uncopy.txt,可输入命令renamec:\test\un.txtuncopy.txt,命令执行完毕,接着执行dir命令查看,就会发现文件名已经变成了uncopy.txt。

B29.png

删除文件命令del

Del是最常用的文件管理命令之一,用于删除多余的文件。

命令格式:

B30.png

参数说明:

./P:删除每一个文件之前提示确认。

./F:强制删除只读文件。

./S:从所有子目录删除指定文件。

./Q:安静模式。删除全局通配符时,不要求确认。

./A:attributes:根据属性选择要删除的文件。属性包括R(只读文件)、S(系统文件)、H(隐藏文件)、A(存档文件)、一(表示否的前缀)。

·names:指定一个或数个文件或目录列表,允许使用通配符。如果指定了一个日录,日录中的所有文件将会被删除。

范倒19

例如要删除c:\test\目录下的uncopy.txt文件,可输入命令delc:\test\uncopy.txt。

范倒20

若要删除c:\test\old文件夹中的所有文件及予文件夹里的文件,可输入命令:del/f/sc:\test\old。在删除每一个文件夹之前,系统都会弹出确认提示信息,只要输入y确认即可。

B31.png

目录管理命令

本节将讲解一些常用的目录管理命令,在黑客入侵及防御实战中,经常需要用到这些命令。

当前目录切换命令cd

cd命令用于显示当前的目录名及切换当前目录,。下面讲解其主要用法。

命令格式

B32.png

参数说明:

./D:这是一个参数开关,打开开关时,使用cd命令不仅可以改变当前目录,还能改变当前驱动器。

·[drive:】[path]:要设置的驱动器和目录。

./:返回上一层目录

./:返回根目录

·不带参数只键入cd,则显示当前驱动器和目录。

范例21

例如当前位于c:\,需要进入c:Atest\new目录,则输入命令:cdc:\test\new

B34.png

范例22

假如当前位于c:\test目录,要切换到f:\dv目录,则输入命令:cd/df:\dv,此时提示符显示当前目录已经是f\dv了

B35.png

创建与删除目录命令md与rd

md(mkdir)命令用于创建目录,而rd(rmdir)命令则用于删除目录。下面分别介绍这两种命令的

使用方法。

1.md命令

命令格式:

B36.png

参数说明:

·[drive:lpath:新建目录的位置。

范例23

例如要在c:\test\old目录下新建一个名为work的同录,可输入命令mdc:\test\old\work.执行完毕,使用dir命令就能看到新增的work目录

B37.png

2,re命令

命令格式

B38.png

参数说明:

./s:用于删除目录树。即除了目录本身之外,还将删除指定目录下的所有子目录和文件。

./Q:安静模式,带,S删除目录树时不要求确认。

.[drive:]path:删除目录的位置。

范例24

例如要删除c:\test\old目录,且删除该目录fF的所有子日录及文件,可执行命令:rd/sc:ktestYold,然后输入y确认删除操作

B39.png

将目录映射为驱动器命令subst

sutst命令的功能是将一个日录映射为虚拟的驱动器,用户可以像访问驱动器那样访问该目录。

命令格式:

B40.png

参数随明:

·drivel:指定要分配给虚拟驱动器的盘符。

.[drive2:lpath:指定耍映射的目录。

./D:删除虚拟驱动器。

·不带参数键入subst.将显示当前虚拟驱动器的列表。

范倒25

例如要把c:\test日录映射为驱动器M,可输入命令:c:\>substm:c:\test。映射完毕,他用dir命令查看驱动器M,就会发现驱动器M里面的内容实际上是c:\test目录的内容

B41.png

范例26

想知道当前有哪些映射的驱动器,可输入subst命令查询,本例可以查看这台电脑的驱动器M是映射的虚拟驱动器。若要取消映射,输入c_\>substm:/d命令即可

B42.png

磁盘管理命令

磁盘管理的相关命令虽然黑客较少用到,对于系统管理员而言,却是必须掌握的知识,本节将详细介绍常见的磁盘管理命令

磁盘分区配置命令diskpart

在Wirtdows图形界面中,可以使用系统自带的磁盘管理程序来管理磁盘分区。在命令提示符界面中,也有一个功能有过之而无不及的磁盘管理命令:diskpart。由于diskpart命令非常庞大,本文只选择较常用的参数进行讲解。

diskpart实际上是一个集成环境,在命令提示符窗口中输入diskpart后,将会进入diskpart环境,此时屏幕上显示的是diskpaw,而不是类似c:>的提示符。需要注意的是,在diskpart环境下用户只能运行diskpart相关的命令,如果要执行其他dos命令,需要输入exlt命令退出diskpart,环境。

参数说明:

。list:显示磁盘或分区列表,例如listdisk命令表示显示磁盘列表,listpartition命令表示显示所选磁盘的分区列表;输入list后,屏幕会显示可用的后缀。

·detail:查看选择的磁盘、分区的详细信息。

·select:用于选择要操作的磁盘、分区及虚拟磁盘,被选中的目标在使用lisi命令查看时会带有*号标记

.creat:在选择的磁盘上创建分区,输入creat时,能看到可用的后缀。

·assIgn:为分区分配一个盘符。

·remove:删除选择分区的盘符或装载点。

·active:将t个分区标为活动分区,让它成为系统盘。

·format:格式化磁盘。

·delete:删除磁盘或分区。

·exit:退出diskpart状态。

范例27

本例示范把一个全新的硬盘划分成两个分区,并把第一个分区激活作为系统分区。

Stepl以管理员身份进入命令提示符界面,然后输入diskpart命令。

Step2输入iistdisk,查看磁盘列袁,2-6

B43.png

Step3输入select可查看该命令的用法,本例要对磁盘l进行分区,因此输入selectdiskl,选择磁盘l,2-7

B44.png

$top4输入creat可查看谊命令的使用方法,本例打算建立一个10GB的主分区,故输入creatpartitionprimarysize=10240,创建完毕,输入listpartition命令,即可查看刚刚创建的分区,2-8。

B45.png

Stop5由于我们只准备创建两个分区,而每块硬盘最多可以拥有四个主分区,因此无须创建扩展分区和逻辑分区,直接把剩余空间创建成另一个主分区即可,故输入creatpartitionprimary命令,2-9。

B46.png

Step6输入selectpartkionl命令指定第一个分区,然后输入assignletteFg命令指定其盘符为g,接着输入selectpartition2命令指定第二个分区,最后输入assignletter=h指定其盘符为h。分配完毕,输入detaildisk命令,查看磁盘分区的详细信息,2-10

B47.png

B48.png

Step7输入selectpartitionl命令,指定第一个分区,然后输入formatquick命令,执行格式化操作。使用同样的方法格式化第二个分区,2-11

B49.png

Step8选择要标记为活动分区的磁盘分区后,输入active命令,2-12

B50.png

至此,磁盘分区的操作伞部完成,输入exit命令退mdiskpart环境,返叫命令提示符面。

文件系统转换命令

convertconvert命令的作用是把FAT文件系统转换成NTFS格式,使用这个命令转换系统,不会遗失磁盘分区中的数据。

命令格式

B51.png

参数说明:

·volume:指定驱动器号(后面跟一个冒号)、装入点或卷名。

./FS:NTFS:指定要将此卷转换为NTFS格式。

.Ⅳ:指定在详细模式下运行convert。

./NoSecurity:指定所有用户均可以访问转换文件和目录的安全设置。

./x:如果必要,请先强制卸除卷。该卷的所有打开句柄将会无效。

范例28

例如要把G盘转换成NTFS文件系统,则输入命令为:convertg:/fs:ntfs/x。

B52.png

B53.png

进程管理命令

在Windows操作系统中,所有运行的程序或服务部有相应的进程,病毒及术马亦不例外。因此,无论足黑客还是系统安全人员,都应熟练掌握进程管理命令。在Windov\rs系统中,常用的进程管理命令主要自_tasklist和taskkill两个

进程查询命令tasklist

tasklist命令用于查询进程列表,该命令既可用于本机,也可用于远程计算机。

命令格式

B54.png

参数说明:

./Ssystem:指定要连接的远程系统。

.Ⅲusename;指定执行该命令的账户。

.,P[password]:为用户指定密码。如果省略则提示输入密码。

·/M[module]:列出调用指定的DLI。模块的所有进程,如果没有指定模块,则显示每个进程加载的所有模块。

./svc:显示每个进程中的服务。

./v:显示详细信息。

./Flfilter:显示一系列符合筛选器指定的任务。

./FOformat:指定输出格式。有效格式为:”TABLE“、”LIST“、”csv”。

范倒29

要查看本机的进程,只需输入tasklist命令即可,显示的结果包括映像名称、PID、会话名、会话#及内存使用情况五部分

范倒30

例如要查看远程计算机192.168,1.66的进程,可输入命令tasklist/s192.168.1.66,uclamp/pttk123,其中clamp是远程计算机的账户,rtk123是远程计算机的密码

B55.png

范例31

例如要查看哪些进程调用了ntdll.dll模块,则输入命令为:tasklist/mntdll.dll

B56.png

进程终止命令taskkill

taskkill命令的作用是终止正在运行的进程,下面讲解这个命令的使用方法。

命令格式:

参数说明:

.,Ssystem:指定要连接的远程系统。

./Uusemame:指定执行该命令的账户。

.,P[passwordl:为用户指定密码。

./Flfilter:应用筛选器以选择一组任务。

./PIDprocessid:指定要终止的进程的PID。

./IMimagename:指定要终止的进程的映像名称。

·厂r:终止指定的进程和由它启用的子进程。

./F:强制终止进程。

范例32

例如要终止本机的notepad(记事本)进程,方法有两种:一是通过映像名称;二是通过PID。首先使用tasklist命令查看本机的进程,发现记事本进程的PID为5024,因此输入taskkill/pid5024或者taskkill/imnotepad.exe命令,终止该进程

B57.png

服务管理命令sc

Windows许多功能都是以服务的形式存在,例如Themes服务为用户提供主题管理,Printer

Spooler服务提供打印服务等+用户可以通过服务管理命令sc对各个服务进行管理。

查询服务状态

scquery命令用于查询服务的状态,以及列举各种类型的日服务。

命令格式:

B58.png

参数说明:

·server:选项<server>的格式为\\SenrerName。

·servicename:表示要查询的服务名称。

·如果查询命令带服务名称,将返回该服务的状态。如果查询命令不带参数或带下列参数之1.

将列举符台条件的服务。

type=要枚举的服务的类型(driver,service,all)(默认-service)

state=要枚举的服务的状态(inactive,all)(默认=active)

bufsize-枚举缓冲区的大小(以字节计)(默认=4096)

ri;开始枚举的恢复索引号(默认=o)

group=要枚举的服务组(默认=atlgroups)

范倒33

例如要查询本机所有类型的服务,则输入命令为:scquerytype-all

B59.png

查看服务的详细描述

Windows服务的数量非常多,即使是经验丰富的系统管理员,也很难全部记住每个服务的用途。

遇到不熟悉的服务时,可以使用scqdescription命令查询服务的详细描述。

命令格式

B60.png

参数说明:

·server:选项<server>的格式为\\ServerName。

·servicename:表示要查看的服务名称。

·bufferSiZe:指定缓冲区大小。如果缓冲区容量不够,输出的内容可能不完整,遇到这种情况时,可重新执行命令并指定更大的缓冲区。

范例34

例如要查询本机wlansvc服务的描述,则输入命令:scqdescriptionwlansvc

B61.png

启动服务

需要开启某项服务时,可以使用scstart命令,本小节将讲解该服务的使用方法。

命令格式:

B62.png

参数说明:

.server:选项<server>的格式为\\ServerName。

.servicename:表示要开启的服务名称。

范例35

例如要启用本机的Dnscache服务,可输入scstartdnscache命令,出现以下提示信息时,说明服务已经成功启动。

B63.png

停止服务

如果要停止某项正常运行的服务,可以使用scstop命夸来完成。

命令格式

B64.png

参数说明:

·server:选项<server>的格式为\\ServerName。

·servicename:表示要停止的服务名称。

·reason:该参数是可选的,用于记录服务停止的原因代码编号,由下列元素组成,格式如下。

标志:主要原因:次要原因。

例如,1:2:8表示硬件:磁盘(计划外)。

标志:1一计划外:2.自定义:3.计划内:

主要原凶:1.其他:2.硬件:3.操作系统;4.软件:5一应用程序;64—255-自定义;

次要原因:I一其他;2.维护;3.安装:4_升级;5.重新配置;6.挂起;7一不稳定;8一磁盘:9一网卡;io-f;;i.境:11-硬件驱动程序;12-其他驱动程序:13-ServerPack:14-软件更新;15-安全修补;16-安全性:17-网络连接性:18-WMI:19-ServerPack卸载:20-软件更新卸载:22-安全修补卸载;23-MMC;256--65535-自定义;

·comm,ent:关予以上原因的可选备注(最多127个字符)。

范例36

例如要停止本机的DHCP服务(DHCPClient),可以执行命令:scstopdhcp。当看到类似下面的提示信息后,表示服务已经成功停止

B65.png

创建服务

使用sc命令能将可执行程序创建成服务,以方便管理,下面将详细讲解创建服务命令sccreate的用法。需要注意的是,只有针对服务编写的程序才能成功创建服务,而非服务程序创建服务后,一旦启动就会出现类似“错误1053:服务没有及时响应启动或控制请求”的错误提示。对于非服务类程序,如果一定要创建系统服务的话,可以借助Windows2003ResourceKits工具包提供的instsrv.exe和srvany.exe,关于这两个程序的使用方法,建议有兴趣的读者查找相关的技术资料。

命令格式:

B66.png

参数说明:

·type=<ownlsharelinteractlkernellfilesyslrec>(默认=OWfl).说明建立服务的类型。

·start=<bootlsystemlautoldemandldisabledldelayed-auto>(默认-demand),说明启动服务的类型,

默认值为demand(手_动}

·errOF<normallseverelcriticallignore>(默认=normal),设置当服务导入失败时,记录的错误严重等级。

·binPath=<BinaryPathName>,要创建成服务的程序的路径。

·group=<LoadOrderOrroup>,该服务属于的组。

·tag-<yeslno>,如果设置为yes,sc可以从createServiecal~中得到一个tagID,该选项可以不做理会,

·depend=<依存关系(以/(斜杠)分隔)>,即在启动该服务之前必须先启动的其他服务。

·obj=<AccountNamelObjectName>(默认=LocaISyste!m),登录的身份。

·DisplayName-<显示名称>。

·password=<密码>,登录的密码。

范例37

例如要把本机F:\log.exe程序创建成服务,服务名为wlog,该服务使用默认的启动方式,并且不需要依赖于其他服务运行,则执行sccreatewlogbinpath=f:\log.exe命令

B67.png

删除服务

如果用户需要删除某项服务,可以通过scdelete命令来完成,具体用法如下:scdelete命令格式及参数说明

B68.png

参数说明:

·Server:选项<server>的格式为\\ServefName。

·Servicename:要删除的服务名称

范例38

例如要删除前一小节创建的wlog服务,则执行scdeletewlog命令。当看到以下提示时,说明服务已经成功删除。

账户及组管理命令

存命令行界面中,Windows账户及组的管理分别通过netuser命令和netlocalgroup命令来完成。

账户命令netuser

netuser命令可以完成新增、删除、激活、停用账户等操作,以及修改密码、列举所有的账户等。

命令格式:

B69.png

参数说明:

·username:指定要添加、删除、修改或查看的用户账户名称。

·password:为用户账户设置或更改密码。键入#号将显示密码提示信息。

.,tDOMArN:在计算机主域的域控制器上执行操作。

./ADD:增加

./DELETE:删除

·options:命令行选项,可用的语法如下。

≯/active:{noIyes}:启用或禁用用户账户。如果用户账户不是处于活动状态,用户将不能访问计算机上的资源。默认设置为yes(即处于活动状态)。

》/comment:”Text”:提供关于用户账户的描述性注释。该注释能包含多达48个字符。

》/countrycode:NNN:使用操作系统“国家(地区)”代码为用户帮助及错误消息执行指定的语言文件。值0表示默认的“国家(地区)”代码。

》/expires:{{MM/DD/YYYYiDD/MM/YYYYImmm,dd,YYYY}jnever}:设置账户过期的日期。

》/fullname:"Narne":指定用户的全名而不是用户名。

≯/homedir:Path:为用户的主目录设置路径。

》/passwordchg:{yeslno}:指定用户是否可以更改其密码。默认设置为yes。

》/pasawordreq:{yeslno}:指定用户账户是否必须具有密码。默认设置为yes。

》/profilepath:[Path]:为用户登录配置文件设置路径。该路径将指向某个注册表配置文件。

≯/scriptpath:Path:为用户登录脚本设置路径。Path不能是绝对路径。Path是相于

%systemroot%\System32\Repl\lmport\Scnpts的路径。

≯/times:{Day[-DayⅡ,Day[Dayl],Time[一Time]【,Time[-Time~][;】lall):指定允许用户使用该计

算机的次数。Time被限定为一小时的增量。对于Day值,可以将其拼出或使用缩写(即M、T、W、Th、F、Sa和Su),Time值可以采用12小时制或24小时制表示法,当采用12小时制表示法时,应使用AM和PM或A.M.和P.M.。值all表示允许用户始终登录。空值(空白)表示用户永远不能登录。用逗号分隔日期和时间,用分号分隔日期和时间单元(如M,4AM-5PM;T,IPM-3PM),指定时间时不要使用空格。

范例39

例如要查看皋机的用,、账户,直接输入netusef命令即可,不需添加任何参数。如果要查询某个账户的信息,如wind账户,则输入netuserwind命令。

B70.png

B71.png

范倒40

例如要新增一个名为test的账户,并设置密码为k2kt5,可输入netusertestk2kt5/add命令,命令执行完毕,接着输入netuser命令查看账户列表,就会看到新增的账户了

B72.png

范例41

例如要指定用户test的登录时间为周一早晨9点到下午6点;周二至周五早晨8点到下午5点,可输入命令:netuserl,est/time:M。9am-6pm;T-F,8:00-17:00。执行完毕,接着输入netusertest命令查看账户详细信息,即可看到账户已经设置为只能在特定时间登录。

B73.png

组成员管理netlocalgroup

Windows的账户权限管理是通过组来实现的,例如要赋予某账户管理员权限,j{需将其添加到Administrators组即可。在命令提示符中,可以使用netlocalgroup命令管理组内成员。

B74.png

参数说明:

·groupname:要查看、添加、删除的组名,

./COMMENT:”text”:为组添加描述信息。

·fDOMAIN:在计算机主域的域控制器上执行操作。

·name:要添加或删除到组的用户名。

./ADD:将组名或者用户名添加到本地组中。

./DELETE:从本地组中删除组名或用户名。

范例42

例如要查看现在本机有哪些组,只要输入netlocalgroup命令,即可查看本机所有组的信息。如果要查看某个组的信息,如administrators组,可输入netlocalgroupadministrators命令。

B75.png

B76.png

范例43

例如要添加一个名为upload的组,专门用于上传数据并且设置该组的描述信息为“网站数据上传专用”,则输入命令为:netlocalgroupupload/add/comment:”网站数据上传专用”。命令执行完毕,接着输入netlocalgroupupload命令,即可查看新增的组。

B77.png

范例44

前一个范例添加了一个名为upload的组,接下来我们要把用户wind添加到这个组中,先输入netlocalgroupuplo:*dwind/add命令,命令执行完毕,接着输入netlocalgroupupload命令查看upload组的信息,就会发现用户wind已经属于该组成员

B78.png

如果要把wind用户从upload组中删除,则输入netlocalgroupuploadwind/delete命令,命令执行完毕,再次输入netlocalgroupupload命令杳看upload组的信息,就会发现组成员中已经没有wind用户的身影了

B79.png

范例45

如果用户觉得某个组没有存在的意义,如前面范例中创建的upload组,可以输入netJacalgroupupload/delete命令删除,删除完毕,输入netlocalgroup命令查看本机的组,即可发现upload组已终不复存在了。

B80.png