IPNetwork C#ライブラリを使用して最初と最後の使用可能なIPアドレスを探しています。 私が達成したいのは、最初と最後の使用可能なIPの間のIPアドレスのすべての範囲をリストに印刷または保存することです。私は最初と最後の使用可能なIPを見つけるために以下を使用しています。最初のIPと最後のIPの間のすべてのIPを見つける
IPNetwork ipnetwork = IPNetwork.Parse("192.168.1.1/24");
string first = ipnetwork.FirstUsable.ToString();
string last = ipnetwork.LastUsable.ToString();
私は、ネットマスク大きいか24に等しいを渡した場合、最大で/ 24で、我々は256個のIPアドレスを持っているので、すべての範囲を印刷するのは非常に簡単であり、ホストと単純なループのために利用できる254が生成されます。 4番目のオクテットだけが変更されるため、すべての範囲に適用されます。しかし、\ 24 example \ 23より小さいネットマスクを渡すと、3番目のオクテットも同様に変更する必要があり、単純なループはジョブを実行せず、別の解決策を見つける必要があります。 また、IPNetwork.Parseに渡されるパラメータは、それぞれ192.168.1.1または10.0.2.1ではなく192.168.1.130または10.0.2.200である必要がありますが、これも考慮する必要があります。
これは役立ちますか?http://stackoverflow.com/questions/1470792/how-to-calculate-the-ip-range-when-the-ip-address-and-the-netmask-is-given http://stackoverflow.com/questions/14327022/calculate-ip-range-by-subnet-mask? –
IPNetwork.Parse()を書いていますか、それとも既存のライブラリですか? – Wamadahama
これは既存のライブラリです。 – user2307236