IP子网包
jamaddr的Python项目详细描述
jamaddr python包
此软件包由Jamison Emilio创建,由Todd Albiston打包
安装python3.6及以上版本
pip3 install jamaddr
对于Python2.7.12及更高版本,请参见jamaddr27https://github.com/talbiston/jamaddr27
说明:
python包添加了将ip地址或子网掩码转换为位并将位转换回ip地址的函数。
fromjamaddrimportJamAddripbits=JamAddr.ip_to_bits("192.168.0.23")ipbitsreturns='11000000101010000000000000010111'
fromjamaddrimportJamAddrbitsip=JamAddr.bits_to_ip("11000000101010000000000000010111")bitsipreturns='192.168.0.23'
当然,您也可以输入子网掩码以转换为位,然后对其相应的IP执行相同的操作,然后 弄清楚网络id或广播ip是什么,或者用你的想象力去想象其他的用例是什么。
fromjamaddrimportJamAddrdefnetwork_id(ip_cidr):ip,cidr=ip_cidr.split('/')ip_bits=JamAddr.ip_to_bits(ip)[:int(cidr)]+'0'*(32-int(cidr))return'{}/{}'.format(JamAddr.bits_to_ip(ip_bits),cidr)networkID=network_id("192.168.0.23/28")print(networkID)returns=192.168.0.16/28
上面的这个例子已经作为一个函数包含在这个包中了,所以您可以只执行以下操作,但是您得到了要点。
fromjamaddrimportJamAddrnetworkID=JamAddr.network_id("192.168.0.23/28")print(networkID)returns=192.168.0.16/28