2013年5月10日金曜日

Python ipaddrモジュール

IPやらNWやらの操作に便利なipaddrモジュールについて投稿。
過去に仕事で使ったような気がしなくもない。とりあえずメモメモ。


Networkレンジ内のIPリスト抽出
import ipaddr
nw = ipaddr.IPNetwork('192.168.0.0/24')
# Network内のアドレス数
print nw.numhosts
# Network内のIPすべて表示
for ip in nw:
    print ip
特定IPがNWに含まれているかどうか検査
import ipaddr
nw = ipaddr.IPNetwork('10.0.0.0/8')
ip = ipaddr.IPAddress('10.2.3.4')
if ip in nw:
    print 'IP %s はNetwork %s に含まれる' % (ip, nw)
else:
    print 'IP %s はNetwork %s に含まれない' % (ip, nw)
複数のネットワークの結合
import ipaddr
nw1 = ipaddr.IPNetwork('11.0.0.0/8')
nw2 = ipaddr.IPNetwork('10.0.0.0/8')
nws = ipaddr.collapse_address_list([nw1,nw2])
print nws


0 件のコメント:

コメントを投稿