2016-03-03 60 views
0

我知道遠程節點的一個IP地址。路由跟蹤。但是,我想知道其接口中的所有IP地址。我該怎麼做?該節點沒有主機名,所以我無法使用API​​通過主機名API獲取各種ifaddress。我搜索了各個地方,但找不到如何獲得遠程節點的各種IP地址。有可能得到它嗎?基本上,我正在實施traceroute,我的目標是顯示中間節點的環回地址,而不是實際的接口地址。如果環回地址不可用,我想顯示實際的接口地址。我在這裏苦苦掙扎,對此毫無頭緒。這全部使用C-linux,UDP套接字來實現。如何知道使用C,Linux,Socket的服務器的各種IP地址?

+1

你想知道爲什麼嗎?您大概只能從任何特定的子網中使用其中的一個。 '這全部用C - Linux實現,UDP套接字'簡直是不真實的,否則你不會問這個問題。什麼都沒有實現。如果你真的需要這個,你將不得不設計你自己的協議和你自己的遠程代理,並把它安裝在感興趣的目標上。 – EJP

回答

0

我想知道它的接口中的所有IP地址。我該怎麼做

查找DNS或登錄並使用操作系統相關工具/ API來查找本地接口的IP地址,否則您將丟失。

0

從技術上講,如果你在同一個網絡上,你可以使用macid和嗅探網絡流量來找到該接口上的其他IP,但是一旦你離開你的本地網絡,幾乎不可能找出其他機器是ips聽着,如果他們提供這些信息,這將是一個安全問題。

0

traceroute的工作方式是通過向遠程地址發送IP TTL值增加的數據包,沿途的路由器將產生超過ICMP TTL超過的時間,從而將其IP源地址顯示給發件人,以便您瞭解嘗試與特定的遠程地址進行通信時數據可能正在穿越的跳數。 icmp錯誤消息將包含該跳來電接口的IP地址,在您的情況下,您還希望發現分配給其他傳出接口的所有其他IP地址(從發件人的角度來看,傳出),但這不是通過使用上述上述技術或任何其他。

相關問題