2009-08-06 89 views

回答

2

我寫了一個程序,它正是以獲得在網絡 IP地址/主機名的列表。我在家裏:(

它使用PingNetworkInterface類,通過蠻力找到它。

我基本上通過所有接口迭代,產生有效的接口網絡掩碼的所有地址,並ping他們異步

這很簡單,但並不完美如果有網絡中的接口不迴應坪,他們將不會列出,這可能是這樣的情況下,如果有防火牆活躍(如Windows防火牆默認屏蔽ping)

哦,你好這是非常詳盡的。

編輯: 即使Mitch Wheat's answer是不是你問什麼,它提醒我,你可以使用Dns解決所有這些地址的主機名..

+0

+1礦山工程完全相同的方式。 – 2009-08-06 16:54:54

0

CodeProject上具有實現這一使用的一個非常粗暴的方式DOS命令net view:但是

http://www.codeproject.com/KB/IP/ipaddresses.aspx

+0

哎。這比我的解決方案還要糟糕。 – 2009-08-06 14:45:40

+0

是建議的解決方案不起作用 – 2009-08-06 17:19:21

1

一些需要注意的: 默認情況下,現代的Windows系統不響應ping(如XP的防火牆),所以提出的方法將無法可靠地工作。

我使用(雖然不是在Windows或C#),該技術是ping到整個子網,然後查看ARP緩存(如機器仍然會響應ARP請求。)

不知道一個會怎樣儘管在C#中完成。

+0

+1。非常好的主意。將編輯我的答案,使Windows防火牆的事情更加明確。 – 2009-08-06 17:04:41