現在、私は以下のように対処ランダムなIP(IPv4)を生成するメソッドを作成しました:どのようにIPアドレスからホストを削除するには?
def rand_ip(mask=False):
"""This uses the TEST-NET-3 range of reserved IP addresses.
"""
test_net_3 = '203.0.113.'
address = test_net_3 + six.text_type(random.randint(0, 255))
if mask:
address = '/'.join((address,
six.text_type(random.randrange(24, 32))))
return address
をそして今、私は 私はマスクが有効になっていた時にホストアドレスを削除する機能を持つメソッドを強化する必要があります、ケース
1.1.2.23/24(before) => 1.1.2.0/24(after host address removed)
1.1.2.23/16 => 1.1.0.0 (the same as above)
を下回っている、実際に変更がちょうど(右から左へ32-マスク、)左の部品を交換された16進数で0 で、任意の簡単な方法または存在していたのlibsはありますが、この(Pythonの2.7倍を行うことができますし、 3.xの互換性を考慮する必要があります)?
作成してから変更する代わりに、 '' '' '' '' 'によって' '' '' '' '' 'によって' – wwii
@wwii、Bilal Baqarの答えを確認してください。私のorigianlメソッドでは、おそらくipネットワーク '1.1.2.34/16'を生成しますが、正しいネットワーク '1.1.0.0/16' – TommyLike