2014-10-12 102 views
2

我遇到麻煩了解爲什麼解析IP會花費那麼長的時間才能解析域名。我明白IP必須被轉換才能被getByName方法使用。但這:InetAddress.getByName(FQDN)與InetAddress.getByName(IP),性能問題

InetAddress address = InetAddress.getByName("google.com"); 
System.out.println("Reachable: " + address.isReachable(10000)); 

運行速度快了近20倍,然後這樣的:

InetAddress address = InetAddress.getByName("192.168.1.1"); 
System.out.println("Reachable: " + address.isReachable(10000)); 

我的目標是尋求通過IP-ADRESS活動的主機特定網段。所以通過這65025次從192.168.1.1運行到192.168.255.255似乎並不聰明。 :-(

是否有這樣做。不幸的是調用的「ping命令」一個更好的方式是不是一種選擇。

乾杯,

斯蒂芬妮

+0

把一切的Java之外,反向查找往往比那些向前慢,因爲正向查詢是更頻繁,因此更可能已經存在於附近的高速緩存。反向區域更不可能被正確地設置和/或維護,因爲它們不如正向的更重要。 – 2014-10-15 10:32:07

回答

0

感謝大道,它似乎也玩弄portscans和很多DNS查找可能會觸發對網絡基礎設施的有趣影響,然後在一個for循環中運行一些查找,並且有多個步驟,我接到一個詢問我在做什麼的電話。:-(

乾杯,

斯蒂芬妮