如何在python中对ip地址和子网掩码执行AND操作

时间:2013-02-01 05:11:06

标签: python python-3.x

  

可能重复:
  How can I check if an ip is in a network in python

我假设ip1 = 172.16.0.34文件中有一个目的地IP地址;我还有一个文件(子网,掩码,下一跳),即172.16.0.0255.255.255.0117.120.10.1

在与路由表中该条目的网络掩码进行AND运算后,我必须检查传入地址ip1是否与特定路由的子网条目匹配。如果目标在掩码下匹配,则将路由添加到此数据包的可行路由列表

2 个答案:

答案 0 :(得分:0)

我假设他们的字符串开头:

ipadd = '192.168.1.1'
mask = '255.255.0.0'
anded = list()
for ip, m in zip(ipadd.split('.'),mask.split('.')):
   anded.append(str(int(ip) & int(m)))
subnet = '.'.join(anded)

答案 1 :(得分:0)

尝试将它们放入数组然后进行比较!这只是我的建议......