- 黑客攻防從入門到精通:命令版(第2版)
- 武新華 李書梅 孟繁華
- 2865字
- 2020-06-15 18:43:05
2.1 Windows系統(tǒng)中的命令行及其操作
隨著互聯(lián)網(wǎng)的普及,網(wǎng)絡(luò)用戶逐漸增多,由此帶來的安全問題也威脅著計算機安全,而Windows操作系統(tǒng)本身自帶一些病毒和受殘損的文件,常常使用戶無法正常工作。熟練掌握命令行的使用方法,能保障計算機系統(tǒng)的安全性能,從而提高工作效率。因此,為了保障系統(tǒng)的穩(wěn)定安全,需要先掌握Windows系統(tǒng)中命令行的相關(guān)知識。
2.1.1 Windows系統(tǒng)中的命令行概述
雖然Windows操作系統(tǒng)主要使用圖形化界面,但是并不拋棄命令行界面,且這個命令行界面也完全不是DOS操作系統(tǒng)了。同時Windows應(yīng)用程序也分圖形化界面(包括無界面,如服務(wù)程序)和命令行界面。
命令行就是在Windows操作系統(tǒng)中打開DOS窗口,以字符串形式執(zhí)行Windows管理程序。現(xiàn)在大部分用戶都使用Windows的可視化界面,如果能夠熟練掌握Windows系統(tǒng)中的命令行界面,則會更有優(yōu)勢。
命令行程序分為內(nèi)部命令和外部命令,內(nèi)部命令是隨command.com裝入內(nèi)存的,而外部命令是一個個單獨的可執(zhí)行文件。
● 內(nèi)部命令都集中在根目錄下的command.com文件中,每次啟動計算機時都會將這個文件讀入內(nèi)存,也就是在計算機運行時,這些內(nèi)部命令都駐留在內(nèi)存中,用dir命令是看不到這些內(nèi)部命令的。
● 外部命令都是以一個個獨立的文件存放在磁盤上,它們都是以com和exe為后綴的文件,并不常駐內(nèi)存,只有在計算機需要時才會被調(diào)入內(nèi)存。
雖然兩種操作都是使用命令來進行的,但由于命令行和純DOS系統(tǒng)不是使用同一個平臺,因此也存在一些區(qū)別。
1.位置及地位特殊
命令行程序已經(jīng)不是專門用COMMAND目錄存放的,而是放在32位系統(tǒng)文件(Windows)安裝目錄下的SYSTEM32子目錄中。由此可知,Windows中的命令行命令已有非常高的特殊地位,而且通過查看SYSTEM32\DLLCACHE目錄可知,Windows還將其列入了受保護的系統(tǒng)文件之列,倘若SYSTEM32目錄中的命令行命令受損,那么使用DLLCACHE目錄中的備份即可恢復(fù)。
2.一些命令只能通過命令行直接執(zhí)行
Windows 9X中的系統(tǒng)文件掃描器sfc.exe是一個Windows風(fēng)格的對話框,在Windows XP及以后版本的Windows系統(tǒng)中,這個命令必須在命令行狀態(tài)手工輸入下才能按要求運行,而運行時又是標(biāo)準(zhǔn)的圖形化界面。圖2.1.1-1所示為Windows 10 cmd應(yīng)用程序窗口。

圖2.1.1-1
3.命令行窗口的使用與以前大不相同
在窗口狀態(tài)下,已經(jīng)不再像Windows 9X的DOS窗口那樣有一條工具欄,因此,不少人發(fā)現(xiàn)無法在Windows XP及以后版本的Windows系統(tǒng)命令行窗口中進行復(fù)制、粘貼等操作。其實Windows XP及以后版本的Windows系統(tǒng)命令行窗口是支持窗口內(nèi)容選定、復(fù)制、粘貼等操作的,只是有關(guān)命令被隱藏了起來。用鼠標(biāo)對窗口內(nèi)容進行直接操作只能夠選取,即按下鼠標(biāo)左鍵拖動時,其內(nèi)容會反白顯示,如果按“Ctrl+C”組合鍵,則無法將選取內(nèi)容復(fù)制到剪貼板,而必須在窗口的標(biāo)題欄上右擊之后,再選擇“編輯”選項,在彈出的快捷菜單中就看到復(fù)制、粘貼等選項了。
在Windows 10中的記事本或Word文檔中輸入“你好”信息之后,復(fù)制輸入的內(nèi)容并右擊命令行標(biāo)題欄,在彈出的快捷菜單中選擇“編輯”→“粘貼”選項,即可將其粘貼到命令行窗口中,如圖2.1.1-2所示。圖2.1.1-3為粘貼后的效果。

圖2.1.1-2

圖2.1.1-3
還可以前后瀏覽每一步操作屏幕所顯示的內(nèi)容:這在全屏幕狀態(tài)下是不可行的。必須使用“Alt+Enter”組合鍵切換到窗口狀態(tài),這時窗口右側(cè)會出現(xiàn)一個滾動條,拖動滾動條就可前后任意瀏覽了。但如果操作的顯示結(jié)果太多,則超過內(nèi)存緩沖的內(nèi)容會按照FIFO(First In First Out,先進先出)原則自動丟棄,使用CLS命令后可以同時清除屏幕及緩沖區(qū)內(nèi)容。
4.添加大量快捷功能鍵和類DOSKEY功能
在Windows 10及以后版本的Windows操作系統(tǒng)的命令行狀態(tài)下,通過“mem /c”命令看不到內(nèi)存中自動加載DOSKEY.EXE命令的跡象。
具備類似傳統(tǒng)的DOSKEY功能如下。
● PageUp、PageDown:重新調(diào)用最近的兩條命令。
● Insert:切換命令行編輯的插入與改寫狀態(tài)。
● Home、End:快速移動光標(biāo)到命令行的開頭或結(jié)尾。
● Delete:刪除光標(biāo)后面的字符。
● Enter:復(fù)制窗口內(nèi)選定的內(nèi)容(用之取代“Ctrl+C”命令)。
● F7:顯示歷史命令列表,可從列表中方便地選取曾經(jīng)使用過的命令。
● F9:輸入命令號碼功能,直接輸入歷史命令的編號即可使用該命令。
F1~F9鍵分別定義了不同的功能,具體操作時試試便知。
5.對系統(tǒng)已掛接的碼表輸入法的直接支持
在以前Windows 9X的DOS命令提示符下顯示和輸入漢字,必須單獨啟動中文輸入法,如DOS 95或UCDOS等其他漢字系統(tǒng),可在Windows XP及以后版本的Windows系統(tǒng)的CMD命令行下直接顯示漢字,并按圖形界面完全相同的熱鍵調(diào)用系統(tǒng)中已安裝的各種碼表輸入法,如“Ctrl+Shift”組合鍵是切換輸入法,“Ctrl+Space”組合鍵是切換輸入法開關(guān),“Shift+Space”組合鍵是切換全角與半角狀態(tài),“Ctrl+.”組合鍵是切換中英文標(biāo)點等。不過,該命令行下的輸入法只能在命令行進行輸入,比如打開了一個Edit編輯器,輸入法就不起作用了。
6.CMD的命令參數(shù)
CMD的命令格式如下:
CMD[a|u][/q][/d][/e:on|/e:off][/f:on|/f:off][/v:on|/v:off][[/s][/c|/k]string]
● /c:執(zhí)行字符串指定的命令后中斷。
● /k:執(zhí)行字符串指定的命令但保留。
● /s:在/c或/k后修改字符串處理。
● /q:關(guān)閉回應(yīng)。
● /d:從注冊表中停用執(zhí)行ARTORUN命令。
● /a:使向內(nèi)部管道或文件命令的輸出成為ANSI。
● /e:on:啟用命令擴展。
● /u:使向內(nèi)部管道或文件命令的輸出成為Unicode。
● /e:off:停用命令擴展。
● /f:on:啟用文件和目錄名稱完成字符。
● /f:off:停用文件和目錄名稱完成字符。
● /v:on:將c作為定界符啟動延緩環(huán)境變量擴展。
● /v:off:停用延緩的環(huán)境擴展。
注意
如果字符串有引號,則可以接受用命令分隔符“&&”隔開的多個命令。由于兼容的原因,/X與/e:on相同,且/r與/c相同,忽略任何其他命令選項。
如果指定了/c或/k參數(shù),命令選項后的其他命令行部分將作為命令行處理,在這種情況下,將使用下列邏輯處理引號字符(")。
1)如果符合下列所有條件,則在命令行上的引號字符將被保留。
● 不帶/s命令選項。
● 成對使用引號字符。
● 在兩個引號字符之間沒有特殊字符,特殊字符為<>、()、@、^、|中的任意一下。
● 在兩個引號字符之間至少有一個空白字符。
● 在兩個引號字符之間至少有一個可執(zhí)行文件的名稱。
2)否則,看第一個字符是否是引號字符,如果是,則舍去開頭字符并刪除命令行上的最后一個引號字符,保留最后一個引號字符之后的文字。如果/d在命令行上未被指定,當(dāng)CMD開始時,則會尋找REG_SZ/REG_EXPAND_SZ注冊表變量。如果其中一個或兩個都存在,則HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun變量和HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions變量將會先被執(zhí)行到0X1或0X0。用戶特定設(shè)置有優(yōu)先權(quán),命令行命令選項優(yōu)先注冊表設(shè)置。
7.命令行擴展包括對命令的更改和添加
使用命令行擴展的命令主要有:DEL或ERASE、COLOR、CD或CHDIR、MD、MKDIR、PROMPT、PUSHD、POPD、SET SETLOCAL、ENDLOCAL、IF、FOR、CALL、SHIFT、GOTO、START、ASSOC、FTYPE等。
延遲環(huán)境變量擴展不按默認(rèn)值啟用。可以用/v:on或/v:off參數(shù)為某個啟用或停用CMD調(diào)用的延遲環(huán)境變量擴展,也可在計算機上或用戶登錄會話上啟用或停用CMD所有調(diào)用的完成,這需要通過設(shè)置使用Regedit32.exe注冊表中的一個或兩個REG_DWORD值(HKEY_LOCAL_MACHINE\Software\Command processor\DelayedExpansion和HKEY_CURRENT_USER\Software\Microsoft\Command processor\DelayedExpansion)到0X0或0X1來實現(xiàn)。用戶特定設(shè)置優(yōu)先計算機設(shè)置,命令行命令選項優(yōu)先注冊表設(shè)置。
2.1.2 Windows系統(tǒng)中的命令行操作
下面簡單介紹一下Windows操作系統(tǒng)中命令行的各種操作,如復(fù)制、粘貼、設(shè)置屬性等。當(dāng)啟動Windows中的命令行后,將會彈出“命令提示符”窗口。Windows命令行與DOS界面不一樣,它會先顯示當(dāng)前操作系統(tǒng)的版本號,并將當(dāng)前用戶默認(rèn)為當(dāng)前提示符。在Windows命令下所使用的操作與DOS命令中的操作一樣,但在使用Windows命令時,可以自定義設(shè)置命令行的背景、顯示的文字、窗口彈出的大小、窗口彈出的位置等。
右擊命令行標(biāo)題欄,將會彈出一個快捷菜單,在其中選擇相應(yīng)的菜單項,即可完成相應(yīng)的操作,如圖2.1.2-1所示。

圖2.1.2-1
- 科技安全:戰(zhàn)略實踐與展望
- 黑客大曝光:無線網(wǎng)絡(luò)安全(原書第3版)
- 大型互聯(lián)網(wǎng)企業(yè)安全架構(gòu)
- INSTANT Burp Suite Starter
- .NET安全攻防指南(上冊)
- Kali Linux Wireless Penetration Testing Cookbook
- 信息安全案例教程:技術(shù)與應(yīng)用(第2版)
- 從0到1:CTFer成長之路
- 數(shù)據(jù)安全領(lǐng)域指南
- 網(wǎng)絡(luò)安全與攻防入門很輕松(實戰(zhàn)超值版)
- 安全防御入門手冊
- 信息安全等級保護測評與整改指導(dǎo)手冊
- 先進云安全研究與實踐
- 網(wǎng)絡(luò)關(guān)鍵設(shè)備安全檢測實施指南
- Mastering Malware Analysis