複製鏈接
請複製以下鏈接發送給好友

DOS命令

鎖定
DOS命令,計算機術語,是指DOS操作系統的命令,是一種面向磁盤的操作命令,主要包括目錄操作類命令、磁盤操作類命令、文件操作類命令和其它命令。
大家常用的操作系統有windows 10,windows 7等,都是圖形化的界面。在有這些系統之前的人們使用的操作系統是DOS系統。
中文名
DOS命令
外文名
DOS
屬    性
DOS操作系統的命令
目    錄
操作類命令、磁盤操作類命令

DOS命令DOS系統

DOS是Disk Operating System的縮寫,即磁盤操作系統。它是一個基於磁盤管理的操作系統,在微軟公司的Windows2000出版之前,DOS 系統基本統治着個人操作系統世界。即便是Windows3.x/9x都是建立在DOS平台之上的大型GUI界面應用程序。隨着Windows操作系統的風行,DOS系統已逐漸成為一種歷史,失去了往日那樣的熠熠生輝。但是別看Windows風光無限,但是還是有很多的很難解決或者無法解決的的問題,而這個時候我們的DOS系統就可以大顯身手了,用DOS命令來解決一些問題,往往會收到事半功倍的效果。 [1] 
還有大量的微機的運行仍在使用DOS操作系統,因此掌握DOS的基本命令是必要的。

DOS命令主要分類

提供用户使用的DOS命令可分為三類:

DOS命令內部命令

屬DOS命令中常駐內存的一部分,它是在當系統作冷、熱啓動時由磁盤上的系統文件裝入內存的。用户使用時僅僅是調用內存中系統區的某一程序段來執行。例如,DIR、TYPE、COPY等命令都屬內部命令。

DOS命令外部命令

是以可執行的程序文件形式(通常後綴為.EXE或.COM)存在於磁盤上。這就意味着該命令文件必須記錄在磁盤或已插入驅動器的軟盤上,否則DOS是找不到該命令的。例如,FORMAT.COM,DISKCOPY.COM等。

DOS命令批處理命令

在使用磁盤命令過程中,有時需要連續使用幾條DOS命令,有時則要多次重複使用若干條DOS命令,還有的時候需要有選擇地使用某些DOS命令。為了滿足這些要求,DOS提供了一些特殊文件——後綴為BAT的文件。該文件允許用户組織鍵盤命令語言程序,一次建立,多次執行。這個BAT文件可用字處理軟件來建立。最典型的例子是在DOS系統盤上一個名為AUTOEXEC.BAT的批命令文件,當系統作冷、熱啓動時,機器會自動執行該文件上的DOS命令。

DOS命令基本命令

DOS命令ping

Ping 命令是專用於TCP/IP 協議的探測工具,它對測試網絡連接狀況以及信息包發送和接收狀況非常有用,這是TCP/IP 協議中最有用的命令之一。它給另一個系統發送一系列的數據包,該系統本身又發回一個響應,這條實用程序對查找遠程主機很有用,它返回的結果表示是否能到達主機,宿主機發送一個返回數據包需要多長時間。 [2] 
DOS命令 DOS命令
-t 表示將不間斷向目標IP發送數據包,直到我們強迫其停止。試想,如果你使用100M的寬帶接入,而目標IP是56K的小貓,那麼要不了多久,目標IP就因為承受不了這麼多的數據而掉線,呵呵,一次攻擊就這麼簡單的實現了。
-l 定義發送數據包的大小,默認為32字節,我們利用它可以最大定義到65500字節。結合上面介紹的-t參數一起使用,會有更好的效果哦。
-n 定義向目標IP發送數據包的次數,默認為3次。如果網絡速度比較慢,3次對我們來説也浪費了不少時間,因為我們的目的僅僅是判斷目標IP是否存在,那麼就定義為一次吧。
説明一下,如果-t 參數和 -n參數一起使用,ping命令就以放在後面的參數為標準,比如“ping IP -t -n 3”,雖然使用了-t參數,但並不是一直ping下去,而是隻ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主機域名,這樣就可以得到主機的IP。

DOS命令nbtstat

該命令使用TCP/IP上的NetBIOS顯示協議統計和當前TCP/IP連接,使用這個命令你可以得到遠程主機NETBIOS信息,比如用户名、所屬的工作組、網卡的MAC地址等。在此我們就有必要了解幾個基本的參數。
-a 使用這個參數,只要你知道了遠程主機的機器名稱,就可以得到它的NETBIOS信息(下同)。
-A 這個參數也可以得到遠程主機的NETBIOS信息,但需要你知道它的IP。
-n 列出本地機器的NETBIOS信息。
當得到了對方的IP或者機器名的時候,就可以使用nbtstat命令來進一步得到對方的信息了,這又增加了我們入侵的保險係數。

DOS命令netstat

這是一個用來查看網絡狀態的命令,操作簡便功能強大。
-a 查看本地機器的所有開放端口,可以有效發現和預防木馬,可以知道機器所開的服務等信息。
這裏可以看出本地機器開放有FTP服務、Telnet服務、郵件服務、WEB服務等。用法:netstat -a IP。
-r 列出當前的路由信息,告訴我們本地機器的網關子網掩碼等信息。用法:netstat -r IP。

DOS命令tracert

跟蹤路由信息,使用此命令可以查出數據從本地機器傳輸到目標主機所經過的所有途徑,這對我們瞭解網絡佈局和結構很有幫助。
這裏説明數據從本地機器傳輸到192.168.0.1的機器上,中間沒有經過任何中轉,説明這兩台機器是在同一段局域網內。用法:tracert IP。

DOS命令net

這個命令是網絡命令中最重要的一個,必須透徹掌握它的每一個子命令的用法,因為它的功能實在是太強大了 在這裏,我們重點掌握幾個常用的子命令。
net view
使用此命令查看遠程主機的所有共享資源。命令格式為net view \\IP。
net use
把遠程主機的某個共享資源影射為本地盤符,圖形界面方便使用。命令格式為net use x: \\IP\sharename。上面一個表示把192.168.0.5IP的共享名為magic的目錄影射為本地的Z盤。下面表示和192.168.0.7建立IPC$連接(net use $">\\IP\IPC$ "password" /user:"name"),
建立了IPC$連接後,呵呵,就可以上傳文件了:copy nc.exe $">\\192.168.0.7\admin$,表示把本地目錄下的nc.exe傳到遠程主機,結合後面要介紹到的其他DOS命令就可以實現入侵了。
net start
使用它來啓動遠程主機上的服務。當你和遠程主機建立連接後,如果發現它的什麼服務沒有啓動,而你又想利用此服務怎麼辦?就使用這個命令來啓動吧。用法:net start servername,如圖1,成功啓動了telnet服務。
圖1DOS命令 圖1DOS命令
net stop
入侵後發現遠程主機的某個服務礙手礙腳,怎麼辦?利用這個命令停掉就ok了,用法和net start同。
net user
查看和帳户有關的情況,包括新建帳户、刪除帳户、查看特定帳户、激活帳户、帳户禁用等。這對我們入侵是很有利的,最重要的,它為我們克隆帳户提供了前提。鍵入不帶參數的net user,可以查看所有用户,包括已經禁用的。下面分別講解。
1,net user abcd 1234 /add,新建一個用户名為abcd,密碼為1234的帳户,默認為user組成員。
2,net user abcd /del,將用户名為abcd的用户刪除。
3,net user abcd /active:no,將用户名為abcd的用户禁用。
4,net user abcd /active:yes,激活用户名為abcd的用户。
5,net user abcd,查看用户名為abcd的用户的情況
net localgroup 查看所有和用户組有關的信息和進行相關操作。鍵入不帶參數的net localgroup即列出當前所有的用户組。在入侵過程中,我們一般利用它來把某個帳户提升為administrator組帳户,這樣我們利用這個帳户就可以控制整個遠程主機了。
net time
這個命令可以查看遠程主機當前的時間。如果你的目標只是進入到遠程主機裏面,那麼也許就用不到這個命令了。但簡單的入侵成功了,難道只是看看嗎?我們需要進一步滲透。這就連遠程主機當前的時間都需要知道,因為利用時間和其他手段(後面會講到)可以實現某個命令和程序的定時啓動,為我們進一步入侵打好基礎。用法:net time \\IP。

DOS命令at

這個命令的作用是安排在特定日期或時間執行某個特定的命令和程序(知道net time的重要了吧?)。當我們知道了遠程主機的當前時間,就可以利用此命令讓其在以後的某個時間(比如2分鐘後)執行某個程序和命令。用法:at time command \\computer。
表示在6點55分時,讓名稱為a-01的計算機開啓telnet服務(這裏net start telnet即為開啓telnet服務的命令)。

DOS命令ftp

首先在命令行鍵入ftp回車,出現ftp的提示符,這時候可以鍵入“help”來查看幫助(任何DOS命令都可以使用此方法查看其幫助)。
首先是登陸過程,這就要用到open了,直接在ftp的提示符下輸入“open 主機IP ftp端口”回車即可,一般端口默認都是21,可以不寫。接着就是輸入合法的用户名和密碼進行登陸了,這裏以匿名ftp為例介紹。
用户名和密碼都是ftp,密碼是不顯示的。當提示**** logged in時,就説明登陸成功。這裏因為是匿名登陸,所以用户顯示為Anonymous。 接下來就要介紹具體命令的使用方法了。
dir 跟DOS命令一樣,用於查看服務器的文件,直接敲上dir回車,就可以看到此ftp服務器上的文件。
cd 進入某個文件夾。
get 下載文件到本地機器
DOS命令 DOS命令
put 上傳文件到遠程服務器。這就要看遠程ftp服務器是否給了你可寫的權限了,如果可以,呵呵,該怎麼 利用就不多説了,大家就自由發揮去吧。
delete 刪除遠程ftp服務器上的文件。這也必須保證你有可寫的權限。
bye 退出當前連接。
quit 同上。

DOS命令telnet

功能強大的遠程登陸命令,幾乎所有的入侵者都喜歡用它,屢試不爽。為什麼?它操作簡單,如同使用自己的機器一樣,只要你熟悉DOS命令,在成功以administrator身份連接了遠程機器後,就可以用它來**想幹的一切了。下面介紹一下使用方法,首先鍵入telnet回車,再鍵入help查看其幫助信息。
然後在提示符下鍵入open IP回車,這時就出現了登陸窗口,讓你輸入合法的用户名和密碼,這裏輸入任何密碼都是不顯示的。
當輸入用户名和密碼都正確後就成功建立了telnet連接,這時候你就在遠程主機上具有了和此用户一樣的權限,利用DOS命令就可以實現你想幹的事情了。這裏我使用的超級管理員權限登陸的。

DOS命令隱藏命令

在平時工作過程中,要是我們認為數據保護、磁盤加密等專業工具還不夠用,或覺得它們使用起來比較麻煩時,完全可以考慮試用隱藏在Windows系統中的Cipher命令。該命令可以幫助我們對重要數據文件進行加密、解密,以滿足大家的數據安全保護需求。 [3] 
在平時工作過程中,要是我們認為數據保護、磁盤加密等專業工具還不夠用,或覺得它們使用起來比較麻煩時,完全可以考慮試用隱藏在Windows系統中的Cipher命令。該命令可以幫助我們對重要數據文件進行加密、解密,以滿足大家的數據安全保護需求,特別是該命令帶上“/w”參數時,能將特定的數據文件從Windows系統中徹底刪除乾淨,日後無論使用哪種類型的數據恢復或還原工具,都無法將其成功恢復。

DOS命令字符應用

DOS命令單符號

【~】
① 在for中表示使用增強的變量擴展。
② 在%var:~n,m%中表示使用擴展環境變量指定位置的字符串。
③ 在set/a中表示一元運算符,將操作數按位取反。
【!】
① 在set /a中一元運算符,表示邏輯非。比如set /a a=!0,這時a就表示邏輯1。
【@】
① 隱藏命令行本身的回顯,常用於批處理中。
【$】
① 在findstr命令裏面表示一行的結束。
② 在prompt命令裏面,表示將其後的字符轉義(符號化或者效果化)。
【%】
① 在set /a中的二元運算符,表示算術取餘。
② 命令行環境下,在for命令in前,後面接一個字符(可以是字母、數字或者一些特定字符),表示指定一個循環或者遍歷指標變量。
③ 批處理中,後接一個數字表示引用本批處理當前執行時的指定的參數。
④ 其它情況下,%將會被脱去(批處理)或保留(命令行)
【^】
① 取消特定字符的轉義作用,比如& | > < ! "等,但不包括%。比如要在屏幕顯示一些特殊的字符,比如> >> | ^ &;等符號時,就可以在其前面加一個^符號來顯示這個^後面的字符了,^^就是顯示一個^,^|就是顯示一個|字符了;
② 在set/a中的二元運算符,表示按位異或。
③ 在findstr/r的[]中表示不匹配指定的字符集
【&;】
① 命令連接字符。比如我要在一行文本上同時執行兩個命令,就可以用&;命令連接這兩個命令。
② 在set/a中是按位與。
【*】
① 代表任意個任意字符,就是我們通常所説的"通配符";比如想在c盤的根目錄查找c盤根目錄裏所有的文本文件(.txt),那麼就可以輸入命令"dir c:\*.txt"。
② 在set /a中的二元運算符,表示算術乘法。
③ 在findstr/r中表示將前一個字符多次匹配。
【-】
① 範圍表示符,比如日期的查找,for命令裏的tokens操作中就可以用到這個字符。
② 在findstr/r中連接兩個字符表示匹配範圍。
③ -跟在某些命令的/後表示取反向的開關。
④ 在set /a中:
1.表示一個負數。
2.表示算術減運算。
【+】
① 主要是在copy命令裏面會用到它,表示將很多個文件合併為一個文件,就要用到這個+字符了。
② 在set/a中的二元運算符,表示算術加法。
【:】
① 標籤定位符,表示其後的字符串為以標籤,可以作為goto命令的作用對象。比如在批處理文件裏面定義了一個":begin"標籤,用"goto begin"命令就可以轉到":begin"標籤後面來執行批處理命令了。
② 在%var:string1=string2%中分隔變量名和被替換字串關係。
【|】
① 管道符,就是將上一個命令的輸出,作為下一個命令的輸入."dir /a/b |more"就可以逐屏的顯示dir命令所輸出的信息。
② 在set/a中的二元運算符,表示按位或。
③ 在幫助文檔中表示其前後兩個開關、選項或參數是二選一的。
【/】
① 表示其後的字符(串)是命令的功能開關(選項)。比如"dir /s/b/a-d"表示"dir"命令指定的不同的參數。
② 在set/a中表示除法。
【>;】
① 命令重定向符,
參數:命令+ > +寫入路徑\文件名
實例:
echo 唐山味兒不濃 歡迎你 >d:\1.txt ;寫入文本到指定文件(如果文件存在則替換)
② 在findstr/r中表示匹配單詞的右邊界,需要配合轉義字符\使用。
【<;】
① 將其後面的文件的內容作為其前面命令的輸入。
② 在findstr/r中表示匹配單詞的左邊界,需要配合轉義字符\使用。
【=】
① 賦值符號,用於變量的賦值。比如"set a=windows"的意思意思是將"windows"這個字符串賦給變量"a"。
② 在set/a中表示算術運算,比如"set /a x=5-6*5"。
【\】
① 這個"\"符號在有的情況下,代表的是當前路徑的根目錄.比如當前目錄在c:\windows\system32下,那麼你"dir \"的話,就相當與"dir c:\"。
② 在findstr/r中表示正則轉義字符
【,】
① 在set /a中表示連續表達式的分割符。
② 在某些命令中分割元素。
【.】
① 在路徑的\後緊跟或者單獨出現時:
一個.表示當前目錄。
兩個.表示上一級目錄。
② 在路徑中的文件名中出現時:
最後的一個.表示主文件名與擴展文件名的分隔。
【?】
① 在findstr/r中表示在此位置匹配一個任意字符
② 在路徑中表示在此位置通配任意一個字符。
③ 緊跟在/後表示獲取命令的幫助文檔。

DOS命令多符號

【&&;】
① 連接兩個命令,當&&;前的命令成功時,才執行&&;後的命令。
【||】
① 連接兩個命令,當||前的命令失敗時,才執行||後的命令。
【>&;】
① 將一個句柄的輸出寫入到另一個句柄的輸入中。
【<&;】
① 從一個句柄讀取輸入並將其寫入到另一個句柄輸出中。
【%%】
① 兩個連續的%表示在預處理中脱為一個%。
批處理中,在for語句的in子句之前,連續兩個%緊跟一個字符(可以是字母、數字和一些特定字符),表示指定一個循
環或者遍歷指標變量。
③ 批處理中,在for語句中,使用與in之前指定的指標變量相同的串,表示引用這個指標變量。
【>>;】
① 命令重定向符,將其前面的命令的輸出結果追加到其後面。
參數:命令+ >> +寫入路徑\文件名
實例:
echo 唐山味兒不濃 歡迎你 >d:\1.txt ;寫入文本到指定文件(如果文件存在則替換)
netstat -an >>d:\1.txt ;即追隨‘1.txt’的尾端繼續寫入‘netstat -an’命令輸出結果
② 在set /a中的二元運算符,表示邏輯右移。
【==】
① 在if命令中判斷==兩邊的元素是否相同。
【<<;】
① 在set /a中的二元運算符,表示邏輯左移。
【+=】
① 在set /a中的二元運算符。例如set /a a+=b表示將a加上b的結果賦值給a。
【-=】
① 在set /a中的二元運算符。例如set /a a-=b表示將a減去b的結果賦值給a。
【*=】
① 在set /a中的二元運算符。例如set /a a*=b表示將a乘以b的結果賦值給a。
【/=】
① 在set /a中的二元運算符。例如set /a a/=b表示將a加上b的結果賦值給a。
【%=】
① 在set /a中的二元運算符。例如set /a a%=b表示將a除以b的餘數賦值給a。
注:命令行可以直接用 set /a a%=b ,在批處理裏面可以用 set /a a%%=b。
【^=】
① 在set /a中的二元運算符。例如set /a a"^="b表示將a與b按位異的結果賦值給a。
注:這裏 "^=" 加引號是為了防止^被轉義,下同。
【&=】
① 在set /a中的二元運算符。例如set /a a"&="b表示將a與b按位與的結果賦值給a。
【|=】
① 在set /a中的二元運算符。例如set /a a"|="b表示將a與b按位或的結果賦值給a。
【<<=】
① 在set /a中的二元運算符。例如set /a a"<<="b表示將a按位左移b位的結果賦值給a。
【>>=】
① 在set /a中的二元運算符。例如set /a a">>="b表示將a按位右移b位的結果賦值給a。
【\<;】
① 在findstr的一般表達式中表示字的開始處。
【\>;】
① 在findstr的一般表達式中表示字的結束處。
【! !】
① 當啓用變量延遲時,使用!!將變量名擴起來表示對變量值的引用。
【' '】
① 在for/f中表示將它們包含的內容當作命令行執行並分析其輸出。
② 在for/f "usebackq"中表示將它們包含的字符串當作字符串分析。
【( )】
① 命令包含或者是具有優先權的界定符,比如for命令要用到這個(),我們還可以在if,echo等命令中見到它的身影。
② 在set /a中表示表達式分組。
【" "】
① 界定符,在表示帶有空格的路徑時常要用""來將路徑括起來,在一些命令裏面也需要" "符號。
② 在for/f中將表示它們包含的內容當作字符串分析。
③ 在for/f "usebackq"表示它們包含的內容當作文件路徑並分析其文件的內容。
④ 在其它情況下表示其中的內容是一個完整的字符串,其中的>;、>>;、<;、&;、|、空格等不再轉義。
【` `】
① 在for/f中表示它們所包含的內容當作命令行執行並分析它的輸出。
【[ ]】
① 在幫助文檔表示其中的開關、選項或參數是可選的。
② 在findstr /r中表示按其中指定的字符集匹配
按住shift可少量輸入大寫字母,?+?鍵表示先按住前一個鍵,同時按第二個鍵。
ctrl+sc或ctrl+num lock 暫停以便觀察屏幕顯示,在按一次繼續。
ctrl+c或ctrl+break 終止程序運行,返回操作系統。
參考資料