IPv4 レンジ展開
IPv4 レンジや CIDR をすべてのアドレス一覧に展開し、件数をリアルタイム表示。ファイアウォールルールや資産管理に便利。
範囲をリストに。 開始-終了の範囲(192.168.1.1-192.168.1.20)または CIDR(10.0.0.0/28)を入力すると、範囲内の全アドレスと件数を取得。巨大な範囲はブラウザ保護のため制限します。ローカル計算。
10,000 アドレスを超える範囲は最初の 10,000 件のみ表示し件数を付記。
IPv4 レンジや CIDR をすべてのアドレス一覧に展開し、件数をリアルタイム表示。ファイアウォールルールや資産管理に便利。
範囲をリストに。 開始-終了の範囲(192.168.1.1-192.168.1.20)または CIDR(10.0.0.0/28)を入力すると、範囲内の全アドレスと件数を取得。巨大な範囲はブラウザ保護のため制限します。ローカル計算。
10,000 アドレスを超える範囲は最初の 10,000 件のみ表示し件数を付記。
CIDR ブロックと開始 - 終了のペアはどちらも連続したアドレス範囲を表しますが、表現力は同じではありません。CIDR が表せるのはサイズが 2 のべき乗で、ベースアドレスがそのサイズに整列したブロックだけです。10.0.0.0/30 は正当ですが、10.0.0.1/30 は下位ビットがマスクで消えるため 10.0.0.0/30 と同じブロックを指します。192.168.0.254-192.168.1.2 のような任意の範囲は単一の CIDR では書けず、3 つ必要になります。
このツールは両方の形式を受け付け、どちらも明示的なリストに展開します。リストの利用側が CIDR を理解しない場面、たとえば古い機器の許可リスト、表計算の列、シェルのループ、そして範囲が本当に思ったとおりを覆っているかの確認などで役立ちます。
自作の展開処理でよくあるバグは、アドレスを 4 つの独立した数値として扱い、最後のオクテットだけを加算することです。範囲が境界をまたがないうちは動きますが、またいだ瞬間に 192.168.0.255 の次が 192.168.1.0 ではなく 192.168.0.256 になります。32 ビット整数に変換して加算し、また戻せば繰り上がりは自動的に正しくなります。採用に値する方法はこれだけです。
もう 1 つの落とし穴は符号です。ビット演算の結果が符号付き 32 ビット整数になる言語では、符号なしに戻さないかぎり 255.255.255.255 は -1 になります。127.x.x.x より上のアドレスがすべて影響を受けるため、10 や 192 で始まる RFC 1918 の範囲だけでテストしているとバグが表に出ません。
/8 には 1670 万個のアドレスが含まれます。これをテキストとして実体化すると約 250 MB になり、描画が終わる前にタブが固まります。ここでは出力に上限を設け、実際の総数は別に表示します。ブラウザに描画させることなく範囲の本当の規模を確認できます。本当に巨大なブロックを走査する必要があるなら、テキストボックスのリストではなくサーバー側のストリーム処理で行ってください。