DOS命令批量統(tǒng)計局域網(wǎng)內(nèi)各臺電腦的IP地址和其相對應(2009-08-07 00:45:16)轉(zhuǎn)載標簽: 雜談 分類: dos命令
網(wǎng)絡管理員在日常維護局域網(wǎng)時都會收集統(tǒng)計每臺電腦的IP地址和其相對應的MAC地址,這樣的好處是可以便捷、準確的控制管理每臺電腦,發(fā)現(xiàn)某臺電腦中毒或者數(shù)據(jù)流量異常能及時排查、封網(wǎng)。
能實現(xiàn)這種功能的工具在網(wǎng)上有很多,例如:超級網(wǎng)管(SuperLANadmin)等等,喜歡的朋友可以自己搜索一下。在這里我主要談的是調(diào)用本機DOS命令來實現(xiàn)上述結(jié)果,畢竟我們不可能天天把工具帶在身邊。
地址解析協(xié)議(ARP)用于實現(xiàn)IP地址到網(wǎng)絡接口硬件地址的映射,該命令只有在安裝了 TCP/IP協(xié)議之后才可用。當某主機要向以太網(wǎng)中另一臺主機發(fā)送IP數(shù)據(jù)時,它首先根據(jù)目的主機的IP地址在ARP高速緩存中查詢相應的以太網(wǎng)地址,ARP高速緩存是主機維護的一個IP地址到相應的以太網(wǎng)地址的映射表。如果查到匹配的結(jié)點,則相應的以太網(wǎng)地址被寫入以太網(wǎng)幀首部,數(shù)據(jù)包被加入到輸入到輸出列隊等待發(fā)送。如果查詢失敗,ARP會先保留等待發(fā)送的IP數(shù)據(jù)包,然后廣播一個詢問目的主機硬件地址的ARP報文,等收到回答后再把IP數(shù)據(jù)包發(fā)送出去。
命令如下:
運行cmd.exe后執(zhí)行:
for /L %i IN (1,1,254) DO ping -w 2 -n 1 192.168.1.%i
arp -a
回車,一只煙的功夫就會看到收集好列表。
(注意:把192.168.1 IP地址替換成你所在局域網(wǎng)的IP地址)
FOR
對一組文件逐一運行一條命令。該命令可用在批處理文件中,也可命令提示符下直接調(diào)用。
語法:
FOR在批處理程序中的使用語法如下:
FOR %%變量 IN (集合) DO 命令 [命令參數(shù)]
FOR在命令提示符下的使用語法如下:
FOR %變量 IN (集合) DO 命令 [
參數(shù) :
%%變量或%變量
代表一個可替換的變量。FOR命令將用指定的一組文件中的每一個文本字符串來替換%%變量(或%變量),直到此命令(在命令參數(shù)中指定的)處理完所有的文件為止。
用%%變量來執(zhí)行一批處理程序中的FOR命令。用%變量來執(zhí)行命令提示符下的FOR命令。
集合
指定一個或多個要用特定命令對其進行處理的文件或文本字符串。圓括號必須得有。
命令
指定要對一組文件中每一文件進行處理的命令。
FOR─注解
使用關(guān)鍵字IN及DO
IN和DO并不是參數(shù),但FOR命令中要求這兩個關(guān)鍵字。如果省略了這兩個關(guān)鍵字,
則MS-DOS將顯示一錯誤信息。
使用可替代變量
除了數(shù)字0到9之外,你可把任何字符用作變量,以避免與批處理參數(shù)%0到%9的混淆。對簡單的批處理程序來說,象%%F這樣的一個單一字符就足夠了。在復雜的批處理程序中,你可把多個值用于變量以區(qū)分不同的可替換變量。然而,在同一命令行上不能嵌套(增加)多個FOR命令。
指定一組文件
集參數(shù)可代表一組文件或幾組文件。你可用通配符(*及?)來指定一文件集。下面是合法的文件集:
(*.doc)
(*.doc *.txt *.me)
(jan*.doc jan*.rpt feb*.doc feb*.rpt)
(ar??1991.* ap??1991.*)
當你使用FOR命令時,集中的第一個值將代替%%變量(或%變量),而為了處理此值MS-DOS將執(zhí)行指定的命令;此過程一直持續(xù)進行,直到MS-DOS將對應于集中的值(或多值)的所有文件(或多組文件)處理完畢為止。
--------------------------------------------------------------------------------
FOR─例子
假設(shè)你想用TYPE命令來顯示當前目錄下擴展名.DOC或.TXT的所有文件的內(nèi)容。為了做到這一點要使用可替代變量%F,并在命令提示符下輸下面的命令。
for %f in (*.doc *.txt) do type %f
在此例中,當前目錄下擴展名為.DOC或.TXT的每一個文件將代替%F變量,直到顯示出每一個文件的內(nèi)容為止。若把每一個%F都替換成%%F,則此命令可用于一批處理文件。否則,MS-DOS將忽略此變量而顯示錯誤信息。
MS-DOS支持你想用于特定命令的開關(guān)、管道及重定向符。例如,為了把前一例的輸出送到PRN(默認打印機口),應輸入下面的命令:
for %f in (*.doc *.txt) do type %f > prn:
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。