Pythonでip範囲をCIDR表記に変換
1065 ワード
ip範囲をCIDR表記に変換したい
- 「このip範囲でアクセス許可設定してくださいx.x.x.x-y.y.y.y」って依頼されることありますよね?私も人に依頼するときは計算したくないのでそうやって依頼します
- でも実際システムに設定する時はx.x.x.x/30 みたいにサブネットマスクして書くじゃないですか?
- ググればブラウザで動く計算ツールが出てきますけど、社内システムのipアドレスだったりすると、信頼して良いサイトか判断するのも面倒なので一応ローカルで計算したいなーってなりますよね?
Python にやらせよう
- 嬉しいことにpython の標準ライブラリでipアドレスをごちゃごちゃいじれるので、やりたいことは関数一発で実現できます
- というかドキュメントに載ってます
import ipaddress
[ipaddr for ipaddr in ipaddress.summarize_address_range(
ipaddress.IPv4Address('192.0.2.0'),
ipaddress.IPv4Address('192.0.2.130'))]
結果
[IPv4Network('192.0.2.0/25'), IPv4Network('192.0.2.128/31'), IPv4Network('192.0.2.130/32')]
Author And Source
この問題について(Pythonでip範囲をCIDR表記に変換), 我々は、より多くの情報をここで見つけました https://zenn.dev/k_yone/articles/917b3e16032af5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol