DOS系統,主要分類,內部命令,外部命令,批處理命令,基本命令,ping,nbtstat,netstat,tracert,net,at,ftp,telnet,隱藏命令,字元套用,單符號,多符號,
DOS系統 DOS是Disk Operating System的縮寫,即磁碟作業系統。它是一個基於磁碟管理的作業系統,在微軟公司的Windows2000齣版之前,DOS 系統基本統治著個人作業系統世界。即便是Windows3.x/9x都是建立在DOS平台之上的大型GUI界面應用程式。隨著Windows作業系統的風行,DOS系統已逐漸成為一種歷史,失去了往日那樣的熠熠生輝。但是別看Windows現在風光無限,但是還是有很多的很難解決或者無法解決的的問題,而這個時候我們的DOS系統就可以大顯身手了,用DOS命令來解決一些問題,往往會收到事半功倍的效果。
直到目前為止,還有大量的微機的運行仍在使用DOS作業系統,因此掌握DOS的基本命令是必要的。
主要分類 提供用戶使用的DOS命令可分為三類:
內部命令 屬DOS命令中常駐記憶體的一部分,它是在當系統作冷、熱啟動時由磁碟上的系統檔案裝入記憶體的。用戶使用時僅僅是調用記憶體中系統區的某一程式段來執行。例如,DIR、TYPE、COPY等命令都屬內部命令。
外部命令 是以可執行的程式檔案形式(通常後綴為.EXE或.COM)存在於磁碟上。這就意味著該命令檔案必須記錄在磁碟或已插入驅動器的軟碟上,否則DOS是找不到該命令的。例如,FORMAT.COM,DISKCOPY.COM等。
批處理命令 在使用磁碟命令過程中,有時需要連續使用幾條DOS命令,有時則要多次重複使用若干條DOS命令,還有的時候需要有選擇地使用某些DOS命令。為了滿足這些要求,DOS提供了一些特殊檔案——後綴為BAT的檔案。該檔案允許用戶組織鍵盤命令語言程式,一次建立,多次執行。這個BAT檔案可用字處理軟體來建立。最典型的例子是在DOS系統盤上一個名為AUTOEXEC.BAT的批命令檔案,當系統作冷、熱啟動時,機器會自動執行該檔案上的DOS命令。
基本命令 ping Ping 命令是專用於TCP/IP 協定的探測工具,它對測試網路連線狀況以及信息包傳送和接收狀況非常有用,這是TCP/IP 協定中最有用的命令之一。它給另一個系統傳送一系列的數據包,該系統本身又發回一個回響,這條實用程式對查找遠程主機很有用,它返回的結果表示是否能到達主機,宿主機傳送一個返回數據包需要多長時間。
-t 表示將不間斷向目標IP傳送數據包,直到我們強迫其停止。試想,如果你使用100M的寬頻接入,而目標IP是56K的小貓,那么要不了多久,目標IP就因為承受不了這么多的數據而掉線,呵呵,一次攻擊就這么簡單的實現了。
DOS命令 -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。
nbtstat 該命令使用TCP/IP上的NetBIOS顯示協定統計和當前TCP/IP連線,使用這個命令你可以得到遠程
主機 的NETBIOS信息,比如用戶名、所屬的工作組、網卡的MAC地址等。在此我們就有必要了解幾個基本的參數。
-a 使用這個參數,只要你知道了遠程主機的機器名稱,就可以得到它的NETBIOS信息(下同)。
-A 這個參數也可以得到遠程主機的NETBIOS信息,但需要你知道它的IP。
當得到了對方的IP或者機器名的時候,就可以使用nbtstat命令來進一步得到對方的信息了,這又增加了我們入侵的保險係數。
netstat 這是一個用來查看網路狀態的命令,操作簡便功能強大。
-a 查看
本地機器 的所有開放連線埠,可以有效發現和預防木馬,可以知道機器所開的服務等信息,如圖4。
這裡可以看出本地機器開放有FTP服務、Telnet服務、郵件服務、WEB服務等。用法:netstat -a IP。
-r 列出當前的
路由 信息,告訴我們本地機器的
網關 、
子網掩碼 等信息。用法:netstat -r IP。
tracert 跟蹤路由 信息,使用此命令可以查出數據從
本地機器 傳輸到目標主機所經過的所有途徑,這對我們了解
網路布局 和結構很有幫助。如圖5。
這裡說明數據從本地機器傳輸到192.168.0.1的機器上,中間沒有經過任何中轉,說明這兩台機器是在同一段區域網路內。用法:tracert IP。
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,如圖9,成功啟動了telnet服務。
net stop
DOS命令 入侵後發現遠程
主機 的某個服務礙手礙腳,怎么辦?利用這個命令停掉就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。
at 這個命令的作用是安排在特定日期或時間執行某個特定的命令和程式(知道net time的重要了吧?)。當我們知道了遠程主機的當前時間,就可以利用此命令讓其在以後的某個時間(比如2分鐘後)執行某個程式和命令。用法:at time command \\computer。
表示在6點55分時,讓名稱為a-01的計算機開啟telnet服務(這裡net start telnet即為開啟telnet服務的命令)。
ftp 首先在命令行鍵入ftp回車,出現ftp的提示符,這時候可以鍵入“help”來查看幫助(任何DOS命令都可以使用此方法查看其幫助)。
首先是登入過程,這就要用到open了,直接在ftp的提示符下輸入“open 主機IP ftp連線埠”回車即可,一般連線埠默認都是21,可以不寫。接著就是輸入合法的用戶名和密碼進行登入了,這裡以匿名ftp為例介紹。
用戶名和密碼都是ftp,密碼是不顯示的。當提示**** logged in時,就說明登入成功。這裡因為是匿名登入,所以用戶顯示為Anonymous。 接下來就要介紹具體命令的使用方法了。
dir 跟DOS命令一樣,用於查看伺服器的檔案,直接敲上dir回車,就可以看到此ftp伺服器上的檔案。
cd 進入某個資料夾。
put 上傳檔案到遠程伺服器。這就要看遠程ftp伺服器是否給了你可寫的許可權了,如果可以,呵呵,該怎么 利用就不多說了,大家就
自由發揮 去吧。
DOS命令 delete 刪除遠程ftp伺服器上的檔案。這也必須保證你有可寫的許可權。
bye 退出當前連線。
quit 同上。
telnet 功能強大的
遠程登入 命令,幾乎所有的入侵者都喜歡用它,屢試不爽。為什麼?它操作簡單,如同使用自己的機器一樣,只要你熟悉DOS命令,在成功以administrator身份連線了遠程機器後,就可以用它來**想乾的一切了。下面介紹一下使用方法,首先鍵入telnet回車,再鍵入help查看其幫助信息。
然後在提示符下鍵入open IP回車,這時就出現了登入視窗,讓你輸入合法的用戶名和密碼,這裡輸入任何密碼都是不顯示的。
當輸入用戶名和密碼都正確後就成功建立了telnet連線,這時候你就在遠程
主機 上具有了和此用戶一樣的許可權,利用DOS命令就可以實現你想幹的事情了。這裡我使用的
超級管理員 許可權登入的。
隱藏命令 在平時工作過程中,要是我們認為數據保護、磁碟加密等專業工具還不夠用,或覺得它們使用起來比較麻煩時,完全可以考慮試用隱藏在Windows系統中的Ciphe r命令。該命令可以幫助我們對重要數據檔案進行加密、解密,以滿足大家的數據安全保護需求。
在平時工作過程中,要是我們認為數據保護、磁碟加密等專業工具還不夠用,或覺得它們使用起來比較麻煩時,完全可以考慮試用隱藏在Windows系統中的Cipher命令。該命令可以幫助我們對重要數據檔案進行加密、解密,以滿足大家的數據安全保護需求,特別是該命令帶上“/w”參數時,能將特定的數據檔案從Windows系統中徹底刪除乾淨,日後無論使用哪種類型的數據恢復或還原工具,都無法將其成功恢復。
字元套用 單符號 【~】
① 在for中表示使用增強的變數擴展。
② 在%var:~n,m%中表示使用擴展
環境變數 指定位置的字元串。
【!】
① 在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:\"。
【,】
① 在set /a中表示連續表達式的分割符。
② 在某些命令中分割元素。
【.】
① 在路徑的\後緊跟或者單獨出現時:
一個.表示當前目錄。
兩個.表示上一級目錄。
② 在路徑中的檔案名稱中出現時:
最後的一個.表示主檔案名稱與擴展檔案名稱的分隔。
【?】
① 在findstr/r中表示在此位置匹配一個任意
字元 。
② 在路徑中表示在此位置通配任意一個字元。
③ 緊跟在/後表示獲取命令的幫助文檔。
多符號 【&&;】
① 連線兩個命令,當&&;前的命令成功時,才執行&&;後的命令。
【||】
① 連線兩個命令,當||前的命令失敗時,才執行||後的命令。
【>&;】
① 將一個句柄的輸出寫入到另一個句柄的輸入中。
【<&;】
① 從一個句柄讀取輸入並將其寫入到另一個句柄輸出中。
【%%】
① 兩個連續的%表示在預處理中脫為一個%。
②
批處理 中,在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等命令中見到它的身影。
【" "】
① 界定符,在表示帶有空格的路徑時常要用""來將路徑括起來,在一些命令裡面也需要" "符號。
② 在for/f中將表示它們包含的內容當作字元串分析。
③ 在for/f "usebackq"表示它們包含的內容當作檔案路徑並分析其檔案的內容。
④ 在其它情況下表示其中的內容是一個完整的字元串,其中的>;、>>;、<;、&;、|、空格等不再轉義。
【` `】
① 在for/f中表示它們所包含的內容當作命令行執行並分析它的輸出。
【[ ]】
① 在幫助文檔表示其中的開關、選項或參數是可選的。
② 在findstr /r中表示按其中指定的
字元集 匹配
按住shift可少量輸入大寫字母,?+?鍵表示先按住前一個鍵,同時按第二個鍵。
ctrl+sc或ctrl+num lock 暫停以便觀察螢幕顯示,在按一次繼續。
ctrl+c或ctrl+break 終止程式運行,返回作業系統。