2012-03-30 7 views
2

かなりのWindowsサーバーマシンをセットアップする必要があるため、これらのタスクの一部を簡略化するために、C#で小さなプログラムを作成することにしました。私が追加しなければならない最後のものは、IP範囲(例えば、74.117.238.112/28)を入力し、それらを静的IPとしてNICに自動的に追加する機能です。C#でIPv4サブネットマスクを決定する

私はこれまでこれまでウェブの電卓を使用してきましたが、C#でプログラム的に行う方法を理解しようとしています。私はこの書き込みを見つけましたHERE、(それから少しを学んだ)多くの意味があるが、少し混乱している。これまで私が使ってきた電卓は、255.255.255.240や.248のようなサブネットマスクを提示していましたが、これは4つの値のうちの1つだけを返すようです。

このコード例は正しいですか、それとも実際に使用できるようにさらに変更する必要がありますか?

答えて

5

上記リンクは、異なるIPクラスの標準サブネットマスクを提供します。これは実際にサブネット化していません。

私が正しく理解している場合は、サブネットのみ(サブネットに依存します)(例では/ 28)、IPアドレスではありません。

私はこの小さな機能を書い::

public static string GetSubnetMask(byte subnet) 
    { 
     long mask = (0xffffffffL << (32-subnet)) & 0xffffffffL; 
     mask=IPAddress.HostToNetworkOrder((int)mask); 
     return new IPAddress((UInt32)mask).ToString(); 
    } 

サブネット(例えば28)とそれを呼び出す場合は、文字列(255.255.255.240)としてサブネットを返します。

これがあなたが必要としているものか他に何かがあるかどうかを教えてください。

+0

これはまさに私が探していたものです!ありがとうございました:) –

+0

質問に記載されているV4の+1。 V6はどうですか? – CSharper

関連する問題