<sub id="pphv3"></sub>

        <address id="pphv3"></address>

        <sub id="pphv3"></sub>
          <thead id="pphv3"></thead>

            歡迎來到河西學院信息化建設管理服務中心    2019年1月03日 星期四 校歷   |   教務系統   |   學校首頁

            常見問題

            當前位置: 中心首頁 >> 常見問題 >> 正文

            如何知道網中IP是否占用

            時間:2019/01/04 點擊數:

            問題具體處理:

            方法一:原始ping法

            第一個方法比較簡單,而且受環境限制比較大。眾所周知在沒有安裝防火墻和設置過濾規則的計算機上都容許ICMP協議數據包的通過,那么我們可以通過“ping ip地址”這個命令來查看該IP地址是否有計算機使用。

            通過任務欄的“開始->運行”,輸入CMD后回車進入命令行模式。假設公司網絡是192.168.1.0/255.255.255.0,那么我們可以通過ping 192.168.1.1,ping 192.168.1.2......ping 192.168.1.254來測試IP地址是否被占用。

            由于原始ping法比較簡單,這里就不詳細說明了,但是這種方法遇到計算機上安裝了防火墻對ICMP協議進行過濾的話,或者公司交換機和路由器上對ICMP實施ACL訪問控制列表過濾的話就不可行了。因此這個方法受的局限比較大,一般測試的成功率不高,很容易把安裝了防火墻的計算機對應的IP地址認為沒有被使用。

            方法二:掃描器掃描法

            以前筆者在進行網絡安全工作時就經常使用掃描器掃描網絡中各個主機的漏洞,那么現在我們完全可以使用此方法來查看本網絡有哪些IP地址被占用。由于掃描器掃描時并不是僅僅使用ICMP協議進行ping,我們可以設置,讓掃描器多掃描幾個端口,多掃描幾個服務。這樣即使計算機上安裝了防火墻或者交換機上有訪問控制列表過濾ICMP協議,只要該計算機開放了某些端口或某些服務,就不會出現漏報的問題。

            通過掃描器掃描出來的IP地址列表還可以導出成HTML文件或TXT文件,這樣方便我們保存和統計。

            當然掃描器工具很多,這里推薦大家使用安全焦點出的X-SCAN和LANHELPER,感興趣的讀者可以自行下載使用。

            使用掃描器掃描法可以查看出網絡中幾乎全部計算機使用的IP地址,但是對于那些極個別的設置了防火墻的復雜規則,過濾了大部分常用端口和常見服務的計算機來說,還是會或多或少的出現漏報或錯報的問題,再加上掃描器掃描法還需要我們下載專門的工具,所以也給操作上帶來了不方便。

            方法三:sniffer監視法

            作為網絡管理員的我們應該都會使用sniffer,那么我們只需要在網絡中開啟sniffer對網絡傳輸的數據包進行監視,過一段時間就會查出有哪些IP地址有數據包發出,這樣就可以確定該IP地址已經被占用了。

            不過用sniffer的方法不能將已經占用的IP地址保存成文件輸出,而且給人有一種大材小用的感覺,畢竟sniffer正統不是用來做掃描IP地址的。

            方法四:ARP緩存法

            實際上筆者還發現了一個方法可以解決網友提出的問題,他的原理是通過ARP緩存來查看獲得的,不用使用任何第三方工具,使用系統自帶的ARP -A即可。

            ARP緩存法是以前面介紹的ping法為基礎而來的,對于安裝了防火墻或設置過濾規則的計算機來說直接ping該IP地址是得不到返回信息的,但是有一點我們必須注意,那就是雖然無法從ping的返回信息中得出該IP地址是否被占用,但是從ARP緩存中卻可以看出來。防火墻等過濾設置可以不容許ICMP協議返回數據包給源地址,但是由于ARP是工作在二層上的,所以在ICMP協議數據包被過濾前ARP已經通過查看MAC的方式獲得了網絡中在線主機的MAC地址。

            只要網絡中的計算機想上網,那么他一定會將自己網卡的MAC地址告訴與其連接的交換機,接下來交換機也會進一步將他知道的MAC地址信息反饋給使用ping的主機。這樣我們在使用ping的主機上就能夠通過是否獲得MAC地址的方式來了解該IP地址對應的計算機是否在線了。

            通過任務欄的“開始->運行”,輸入CMD后回車進入命令行模式。假設公司網絡是192.168.1.0/255.255.255.0,那么我們可以通過ping 192.168.1.1,ping 192.168.1.2......ping 192.168.1.254來測試IP地址是否被占用。當然不管ping返回的是通還是不通,全部ping完后執行arp -a命令顯示ARP緩存表,出現在緩存表中的IP地址就是被占用的地址。

            對批處理命令熟悉的網絡管理員還可以自行編輯一個BAT命令來完成上面的一系列ping操作,BAT文件的內容如下:

            FOR /L %i IN (0,1,255) Do ping X.X.X.%i -n 1

            arp -a > IP.txt

            這個批處理文件將列出所有正在使用的IP地址跟他們的MAC地址,保存到ip.txt文件中。當然語句中的X.X.X.%i是可以進行修改的,例如公司網絡為192.168.1.0/255.255.255.0那么應該修改為

            FOR /L %i IN (0,1,255) Do ping 192.168.1.%i -n 1

            arp -a > IP.txt

            最后再把這個方法的原理進行總結——我們向網段內所有IP地址發送一個icmp包,也許他屏蔽了ICMP包,但是這不要緊,只要他使用了該IP地址就一定會回應一個他的mac地址的數據包過來,這樣用arp -a察看本地的arp緩存就能看到他的IP地址跟MAC地址了。

            小提示:

            我們也可以使用nbtstat -A IP命令來替代arp -a命令。

            也許有人會問計算機能夠禁止ARP數據包的通過呢?實際上計算機上能禁止ICMP包,但是是不可能禁止arp包的,如果禁止了arp,那么交換機就找不到該計算機了,該計算機也無法連接網絡,訪問網絡上的任何資源了。所以說ARP緩存法讓我們通過現象看到了本質,即使ping無法返回任何有用信息,但是實際上他已經幫助我們找出了在線主機對應的MAC地址,進一步了解了他的IP地址。

            總結:

            本文介紹了四種方法來解決查看網絡中已經使用的IP地址的辦法,當然各種方法有各種方法的特點,有的使用了第三方工具但是查看地址列表更加清晰,有的沒有使用軟件僅僅采用系統自帶命令但是受到網絡環境的局限,而有的雖然沒有任何工具,但是需要編寫批處理文件,難度較大。當然究竟采取哪個方法來解決實際問題,是需要我們這些網絡管理員自己去比較,自己去選擇的。個人推薦使用第四種方法——ARP緩存法。

            捕鱼达人