2013-07-24 76 views
0

我正在尋找解決方案,如何能夠每1秒鐘在本地網絡上ping一些5000(最多10000個)IP地址,並立即,當任何icmp數據包超時時,它會將輸出寫入到unix文件丟包和IP地址的歷元時間。因此,我將能夠以秒爲單位測量每個IP地址的網絡中斷的長度。如何icmp每秒同時ping數千個IP地址?

我試圖在無限循環中爲每個IP地址運行那麼多的ping命令(所以我有很多正在運行的進程 - 對於我只發送一個數據包的所有IP地址。 ,我管理其輸出並再次運行ping命令等)。但我不知何故覺得這不是如何做到這一點的最佳方式:|

我可以寫只是在bash和PHP,但不是在C++腳本,......所以我更喜歡,如果你有我的技能解決:)

預先感謝您。 Pep。 PS:我想我知道fping是如何工作的,我認爲它太慢了。它不能每秒ping 5000個IP地址我是對的嗎?

+0

整天每秒鐘ping 5000-10000臺機器會讓你的網絡管理員產生很大的仇恨。你確定你想要那麼做,還是需要這樣做? – fvu

+0

我是管理員和整個本地骨幹網的所有者,所以這不是問題。但是,是的,幾千個IP地址是我們的客戶,我想這不應該介意每秒鐘處理一次。這對我來說是一個很大的嘗試,但我會詳細統計骨幹的行爲方式,如果它能工作的話。如果我看到一秒鐘ping太多,我仍然可以持續兩秒鐘,這仍然很好。 – user2616411

回答

-1
ping IP_ADDRESS_HERE /n NUMBER_OF_PINGS_HERE -l PACKET_SIZE_HERE & ping IP_ADDRESS_HERE /n NUMBER_OF_PINGS_HERE -l PACKET_SIZE_HERE 

兩個ping在一行中運行。很簡單。通過添加&標誌添加更多。

+0

問題是你如何平行運行數千個** **。你的方法是**系列**,即一個接一個地運行它們。如果平均往返時間爲50毫秒,則運行5000將需要250秒,超過4分鐘,並且OP希望每秒執行一次。而且這甚至不計算某些ping可能會超時並花費更長時間,這是必須考慮的,因爲檢測超時正是所有這一切的目的。 –