abcidr - utilities for CIDR in abmail

[戻る]

形式

abcidr [-c-] 192.168.0.0-192.168.2.255 [...]
abcidr [-c-] ::ffff:192.168.0.0-::ffff:192.168.2.255 [...]

オプション

-c-
コンマで区切られたIPアドレス空間(IPアドレスとマスク、CIDRマスク、IPアドレスの範囲)が連続する場合の出力の圧縮を抑制します。

戻り値

常に0を返します。

説明

abcidrはIPアドレスとマスク、CIDRマスク、IPアドレスの範囲を扱うためのユーティリティです。

実行例

以下の例のように任意のIPアドレスの範囲をCIDRへ、任意のマスクをIPアドレスの範囲へ変換することができます。
$ abcidr \
192.168.0.0-192.168.2.255 \
192.168.3.0/23 \
192.168.4.0/255.255.255.248 \
192.168.5.0/255.255.255.232

192.168.0.0/23,192.168.2.0/24
192.168.2.0-192.168.3.255
192.168.4.0-192.168.4.7
192.168.5.0-192.168.5.7,192.168.5.16-192.168.5.23
この例で abcidr を2回呼ぶと以下のようになります。
$ abcidr `abcidr \
192.168.0.0-192.168.2.255 \
192.168.3.0/23 \
192.168.4.0/255.255.255.248 \
192.168.5.0/255.255.255.232`

192.168.0.0-192.168.2.255
192.168.2.0/23
192.168.4.0/29
192.168.5.0/29,192.168.5.16/29
1.1.6 よりIPv6アドレスを同様に扱えるようになりました。
$ abcidr \
::ffff:192.168.0.0-::ffff:192.168.2.255 \
::ffff:192.168.3.0/119 \
::ffff:192.168.4.0/ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.248 \
::ffff:192.168.5.0/ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.232

::ffff:192.168.0.0/119,::ffff:192.168.2.0/120
::ffff:192.168.2.0-::ffff:192.168.3.255
::ffff:192.168.4.0-::ffff:192.168.4.7
::ffff:192.168.5.0-::ffff:192.168.5.7,::ffff:192.168.5.16-::ffff:192.168.5.23
この例で abcidr を2回呼ぶと以下のようになります。
$ abcidr `abcidr \
::ffff:192.168.0.0-::ffff:192.168.2.255 \
::ffff:192.168.3.0/119 \
::ffff:192.168.4.0/ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.248 \
::ffff:192.168.5.0/ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.232`

::ffff:192.168.0.0-::ffff:192.168.2.255
::ffff:192.168.2.0/119
::ffff:192.168.4.0/125
::ffff:192.168.5.0/125,::ffff:192.168.5.16/125
特にIPv6アドレスにて、通常使われないアドレスマスク(ビット1から始まらない、ビット1が不連続)を指定すると、膨大な時間が掛かる場合があるので注意して下さい。

COPYRIGHT

Copyright (C) 2007-2008 Taiji Yamada <taiji@aihara.co.jp>