2017-09-20 4 views
1

を経由してIPアドレスの範囲を見つけることの私のローカルIPが10.212.97.23で、私のサブネットマスクが255.255.254.0サブネットマスク

それによると、私は10.212.96.*と同じサブネット内だとCIDRは10.212.96.0/23

だから私のだろうあるとしましょう問題は:ローカルのIPとサブネットマスクをとり、CIDR値を計算するPythonライブラリはありますか?私はnetaddrライブラリをチェックしますが、この機能

答えて

0

はCIDRでの基本的なカウントが任意のライブラリを使用せずに、以下の機能を使用して手動で計算することができます見つけることができませんでした:

>>> netmask = "255.255.254.0" 
>>> sum([bin(int(x)).count("1") for x in netmask.split(".")]) 
23 

は、それが役に立つなら、私に教えてください。あなたはモジュールでそれをしたい場合は

+1

ありがとうございました。例えば、 "/ 23"文字列を私のローカルIPに "10.212.97.23/23"とすると、 "10.212.96.0/23"と同じIP範囲を参照していますか? –

+0

これらは同じip範囲内にある必要があります。 –

0

、IPアドレスモジュールを助けることができる:

❯ python3 
>>> import ipaddress 
>>> ipaddress.IPv4Network("10.212.97.23/255.255.254.0", strict=False).prefixlen 
23 

ドキュメントhere

関連する問題