我已經在網上現在爬行約5小時,找不到我的問題的解決方案(防火牆和路由器後面):檢查IP是在LAN
我公司正在開發的教育遊戲我正在使用Monotorrent爲它編寫一個autoupdater。遊戲將在學校中使用,但由於大多數學校只有非常薄弱的互聯網連接,網絡中只有一臺計算機可以從httpseeder下載,而其他計算機應該從httpseed下載的一臺計算機中汲取教訓。
所以我從跟蹤器中獲取大量的IP地址,只需要過濾出局域網中的IP地址。
當然,學校有時對防火牆比較嚴格,學校裏的一些計算機之間會有大量的路由器和交換機。
我已經嘗試過大多數解決方案,像
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface iface in interfaces)
{
IPInterfaceProperties properties = iface.GetIPProperties();
foreach (UnicastIPAddressInformation address in properties.UnicastAddresses)
{
Console.WriteLine(
"{0} (Mask: {1})",
address.Address,
address.IPv4Mask
);
}
}
或類似的技術只提供路由器/交換機/任何信息。
所以簡而言之,我想要做的是檢查給定的IP是否可以通過局域網訪問。
我真的很感激任何幫助,因爲這個功能是剩下的最後一個:)
包含遊戲連接到您的互聯網服務器的所有計算機? – Yahia
有限的IP地址允許內部使用私有子網。這不足以表明身份嗎?使用公共IP地址然後對其進行防火牆是非常罕見的,因爲您不想浪費IPv4地址。 IPv6是完全不同的問題。 – jishi
@jishi你假設學校的網絡是根據建議設置的。雖然推薦使用私人範圍,但是沒有任何東西阻止您使用公共的範圍。 –