-->

2010-04-26

javascript の IPアドレス の 計算


操作の説明
入力エリア

IPアドレス(ipv4, マスクを含む)を入力します。

submitボタン

出力エリアに結果を出力します。

resetボタン

入力エリア出力エリアを初期化します。

2回クリックすると入力エリアにサンプルの初期値が入ります。

sampleボタン

入力エリアにサンプルを入れます。

複数回クリックするとサンプルが切り替わります。

出力エリア

結果が出力されます。

出力エリアに複数の値を入力するにはresetボタンを押してからsampleボタンを押して改行で区切って入力してください。

入力した値はsubmitボタンを押すと出力結果で上書きされます。

一括入力のサンプルを表示するにはresetボタンを押してからsampleボタンを2回押してください。

出力エリアの説明
// Date:

開始時の日付です。

original:

入力内容です。

type:

入力内容のマスクのタイプです。

result(net):

結果です。

マスクはIPアドレスです。

result(bit):

結果です。

マスクは2進数の32桁目から右に連続する1の個数です。

連続する1が終わった後は0の連続が続きます。

表現できない場合はfalseを返します。

result(range):

結果です。

マスクは範囲(最後の値)を指定しています。

結果が期待した値にならない場合があります。

(例) 192.168.0.1-192.168.0.2
192.168.0.0-192.168.0.3 になります。
(2つのIPアドレスにはなりません)

また、グローバルなIPアドレスを付与されている場合のネットワークアドレス、ブロードキャストアドレスを表現している場合があります。

(例) 192.168.222.120/29
result(range) : 192.168.222.120-192.168.222.127
IPアドレスは8個で
ネットワークアドレスは     192.168.222.120
使えるIPアドレスは         192.168.222.121 ~ 192.168.222.126
ブロードキャストアドレスは 192.168.222.127

この場合classC:の内容に (network address) (broadcast address) が付くかどうかは無関係です。

num:

IPアドレスの数です。

IPアドレス/32 の場合に1として計算しています。

addr (bin):

mask (bin):とセットでresult(net):と同じ内容を2進数で表現しています。

mask (bin):

addr (bin):とセットでresult(net):と同じ内容を2進数で表現しています。

range(bin):

addr (bin):とセットでresult(range):と同じ内容を2進数で表現しています。

addr (hex):

mask (hex):とセットでresult(net):と同じ内容を16進数で表現しています。

mask (hex):

addr (hex):とセットでresult(net):と同じ内容を16進数で表現しています。

range(hex):

addr (hex):とセットでresult(range):と同じ内容を16進数で表現しています。

classA:

0.0.0.0-127.255.255.255にマッチした場合に表示されます。

10.0.0.0-10.255.255.255にマッチした場合 (private) を追加します。

9~32ビット目が0の場合 (network address) を追加します。

9~32ビット目が1の場合 (broadcast address) を追加します。

classB:

128.0.0.0-191.255.255.255にマッチした場合に表示されます。

172.16.0.0-172.31.255.255にマッチした場合 (private) を追加します。

17~32ビット目が0の場合 (network address) を追加します。

17~32ビット目が1の場合 (broadcast address) を追加します。

classC:

192.0.0.0-223.255.255.255にマッチした場合に表示されます。

192.168.0.0-192.168.255.255にマッチした場合 (private) を追加します。

25~32ビット目が0の場合 (network address) を追加します。

25~32ビット目が1の場合 (broadcast address) を追加します。

classD:

224.0.0.0-239.255.255.255にマッチした場合に表示されます。

IPv4 Multicast Address Space Registry

classE:

240.0.0.0-255.255.255.255にマッチした場合に表示されます。

localBroadcast:

255.255.255.255にマッチした場合に表示されます。

loopBack:

127.0.0.0/8にマッチした場合に表示されます。

--- separate ---

結果の区切り文字です。

// error

エラーです。

入力内容に数字が無い場合に表示されます。

0 件のコメント: