天天看點

給VMware中的作業系統配置設定空閑ip

    前一段時間,我住的小區寬帶改造(西安廣電小區網絡),管理者為了對付萬惡的arp病毒和殘酷的廣播風暴,登記了每個使用者家庭登入的終端的MAC位址進行了綁定配置,由于小區網絡拓撲構成簡單,是以取消了動态位址配置設定DHCP,統一給使用者配置設定了靜态IP。

   這樣一來,我在電腦(真機)上安裝的虛拟機VMware,因為最初搭建的時候采用的是橋接方式,直連到實體網絡,是以現在無法擷取IP位址,以緻不能連入internet,自己随意手動輸入一個靜态IP又很容易因為和已使用IP相同而造成位址沖突問題。。。但是,我又不想采用真機搭建代理伺服器的形式,是以,就想到用下面的手段來查找和擷取小區區域網路内空閑的IP位址。

    因為現在90%以上的使用者都在自己的計算機上安裝了防火牆,是以,我們利用PING指令發出的試探往往得到的是Request timed out (請求逾時),進而很難判斷目标IP是否存在。

    其實,就算目标計算機對PING指令進行了屏蔽,我們(發出指令方)仍然會在自己計算機上獲得一些資訊,這就是ARP(位址解析協定)在區域網路内進行了廣播以後給我們傳回的資訊。

    知道了這些,我們就可以開始行動了。。。

    首先,ping IP位址進行測試。

遇到這樣的,不用我說,大家也都知道這個IP位址已經存在被使用了。。

更多的時候,會是下面這樣:

這個時候,就需要用arp -a指令來進一步判斷了:

這樣看來,這個IP位址實際已被占用。。。

于是,我們可以重複上面的步驟來繼續尋找可能空閑的ip位址。

針對我們小區内網配置設定的是192.168.1.X的C類私有位址,是以可以簡單的寫一個批處理程式幫我們查找。

建立一個文本文檔,寫入内容如下(儲存名稱為:findip.bat):

@echo off

cls

if "%1x"=="x" goto help

if "%2x"=="x" goto startip

if "%3x"=="x" goto endip

@echo finding...wait...

arp -d

for /l %%i in (%2,1,%3) do ping -n 4 %1.%%i

@echo finish...

ping 127.0.0.1 -i 5 >nul

@echo the ip address in the nether list is exist and occupied,  please choose another one without the list.

arp -a

goto end

:startip

@echo Warning: the startip and endip are absent!

goto help

:endip

@echo Warning: the endip is missing!

:help

@echo 此指令的用法是: findip[C類位址網絡位][開始IP位址][結束IP位址]

@echo for example: findip 192.168.1 1 254

pause press any key to quit

:end

(附件中我上傳了編輯好的這個檔案)

将此批處理檔案放到%systemroot%下,然後在cmd中執行,如截圖所示:

最後的list中顯示的結果即是被占用的IP位址,然後我們就可以友善的選出沒有被占用的IP位址進行使用了。

本文轉自 jrfly331 51CTO部落格,原文連結:http://blog.51cto.com/mrfly/32257,如需轉載請自行聯系原作者

繼續閱讀