使用和不使用子网扫描txt的IP地址

时间:2017-06-08 18:29:34

标签: python-3.x ip-address

我在.txt文件中有一个很大的IP地址列表,包含和不包含子网。让我们称他们为“BadList”。

我在另一个.txt文件中有另一组IP地址(小得多),但它们没有子网。让我们称它们为“TestList”

我的目标是使用“测试列表”扫描“坏名单”并打印所有匹配的IP。如果最后有一个带有子网的IP,则打印IP地址及其所在的子网。

麻烦在于子网。我可以在列表中循环并找到匹配的单个IP地址,但是当涉及到子网时,我无法识别出来自Testlist.txt的X.X.X.X IP是从Badlist.txt的X.X.X.X / XX中找到的。它只是通过子网跳过IP。

我已经尝试了大量的代码变体,但这是一个例子。

import ipaddress

BadIPs = open("BadIPsWithandWithoutNets.txt", "r")
CheckIPs = open("IPsToCheck.txt", "r")

list1 = BadIPs.readlines()
list2 = CheckIPs.readlines()

for line1 in list1:
   for line2 in list2:
       line1 = line1.strip() 
       line2 = line2.strip():
       if line2 == ipaddress.ip_network(line1)     
           print('Matched IP {0} in IP Net {1}'.format(line2,line1))

我正在扫描的错误IP列表示例。我的真实名单大约是500mil: BadIPs = [192.168.0.10,192.168.0.45,192.168.0.0/24]

谢谢!

0 个答案:

没有答案