Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

IPアドレスの範囲からサブネットマスクを簡単に計算する@CentOS 5

      2013/07/15

ちょっとしたアタックがあるIPからあった場合に、whois で IP の情報調べて、そのIPが属するネットワークを iptables で DROP するようなことをしたいのですが、whois で出てくる情報は大抵がIP アドレスの範囲でネットマスクは出てきません。

毎回計算するのが面倒だなと思っていたら、簡単な方法がありました。

perl の perl-Net-IP.noarch というモジュールです。CentOS 5ではrpmがありますので、それをインストールすると、ipcount というコマンドが使えるようになります。

# yum install perl-Net-IP.noarch

例えば、192.168.0.0 – 192.168.0.255 の範囲のネットマスクを調べたい場合は、

# ipcount 192.168.0.0 - 192.168.0.255
 192.168.0/24        192.168.0.0 - 192.168.0.255   [256]

といった応答が返ってきますので、/24 というプレフィックスがわかります。IPとネットマスクから範囲を調べることもできます。

# ipcount 192.168.0.0/24
 192.168.0/24        192.168.0.0 - 192.168.0.255   [256]

きれいにサブネットに分けられない値を入力した場合はこのような応答が返ってきます。

# ipcount 192.168.0.0 - 192.168.0.129
 192.168.0.0/25        192.168.0.0 - 192.168.0.127   [128]
 192.168.0.128/31      192.168.0.128 - 192.168.0.129   [2]

192.168.0.0/25,/31        192.168.0.0 - 192.168.0.129   [130]

上記では、192.168.0.0~192.168.0.127で、プレフィックスが25のネットワークと、192.168.0.128~192.168.0.129でプレフィックスが2のネットワークに分けられることが分かります。

さらに、プレフィックスからネットマスクを調べたいときは、一緒にインストールされるiptabというコマンドを使えば便利です。以下では/24は255.255.255.0であることがわかります。

# iptab
+----------------------------------------------+
| addrs   bits   pref   class  mask            |
+----------------------------------------------+
|     1      0    /32          255.255.255.255 |
|     2      1    /31          255.255.255.254 |
|     4      2    /30          255.255.255.252 |
|     8      3    /29          255.255.255.248 |
|    16      4    /28          255.255.255.240 |
|    32      5    /27          255.255.255.224 |
|    64      6    /26          255.255.255.192 |
|   128      7    /25          255.255.255.128 |
|   256      8    /24      1C  255.255.255.0   |
|   512      9    /23      2C  255.255.254.0   |
|    1K     10    /22      4C  255.255.252.0   |
|    2K     11    /21      8C  255.255.248.0   |
|    4K     12    /20     16C  255.255.240.0   |
|    8K     13    /19     32C  255.255.224.0   |
|   16K     14    /18     64C  255.255.192.0   |
|   32K     15    /17    128C  255.255.128.0   |
|   64K     16    /16      1B  255.255.0.0     |
|  128K     17    /15      2B  255.254.0.0     |
|  256K     18    /14      4B  255.252.0.0     |
|  512K     19    /13      8B  255.248.0.0     |
|    1M     20    /12     16B  255.240.0.0     |
|    2M     21    /11     32B  255.224.0.0     |
|    4M     22    /10     64B  255.192.0.0     |
|    8M     23     /9    128B  255.128.0.0     |
|   16M     24     /8      1A  255.0.0.0       |
|   32M     25     /7      2A  254.0.0.0       |
|   64M     26     /6      4A  252.0.0.0       |
|  128M     27     /5      8A  248.0.0.0       |
|  256M     28     /4     16A  240.0.0.0       |
|  512M     29     /3     32A  224.0.0.0       |
| 1024M     30     /2     64A  192.0.0.0       |
| 2048M     31     /1    128A  128.0.0.0       |
| 4096M     32     /0    256A  0.0.0.0         |
+----------------------------------------------+

 - IT技術, ネットワーク , , , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

Windows 10 の Ubuntu (WSL) でGUI (X Window)を使う

Windows 10 の WSL 上の Ubuntu 上のアプリでGUI(X)が …

no image
ゲストOSの時刻同期@VMware + adjtimeでの調整

Windows上のVMware ServerでゲストOSとしてLinux (De …

no image
fileコマンドの判定方法@CentOS 5.4

あるファイルが何のファイルかを判別するためのコマンドfileコマンドがありますが …

no image
OpenStackをインストール中にはまった@Ubuntu 12.04

OpenStack は様々なコンポーネントがあるため、インストールのための支援ツ …

no image
表示言語を英語に変更@Windows 7 Ultimate RC

通常日本でPCを購入すると、日本語版のWindowsが付属してきます。 しかし、 …

no image
Linuxコンテナ(LXC)内からNFSマウント@Ubuntu 14.04

Ubuntu 14.04 上で作成したLinuxコンテナ内からNFSマウントでき …

no image
VMware 2.0 を専用クライアントで使う (msiからファイルの抽出)

VMware 2.0 は基本的にWebインタフェースしか使えないと思っていました …

no image
blu-rayの再生でちらつく@Acer AS 1410 with PowerDVD 10 on Windows 7

Acer AS 1410 で blu-ray を再生してみました。 blu-ra …

no image
vimでシンタックスのハイライトがおかしくなる

vim では、テキストファイルの種類に応じて色をつけてくれる機能(ハイライト機能 …

no image
Windows XPのディスクアクセスがうるさいので自動デフラグを無効にする

今更ですが、Windows XP を使っていると、ディスクがカリカリとうるさいな …