[英]change IP range address
我有一个执行扫描的脚本
def IPsRange(start='', end=''):
if not start and not end:
return []
if not end and start.__contains__("-"):
start, end = start.split("-")
end = end.replace("\n","")
start = int(ip_address(start).packed.hex(), 16)
end = int(ip_address(end).packed.hex(), 16)
return [ip_address(ip).exploded for ip in range(start, end)]
ip 范围的格式为 xxx.xxx.xxx.x-xxx.xxx.xxx.x,我想将其更改为 xxx.xxx.xxx.0/24
有人可以解释我如何改变这个吗?
可以这样解决:
>>> import ipaddress
>>> def get_all_ips_by_subnet(subnet):
... l = [*map(str, ipaddress.IPv4Network(subnet, strict=False))]
... return l
...
>>> l = get_all_ips_by_subnet("172.17.20.30/30")
>>> l
['172.17.20.28', '172.17.20.29', '172.17.20.30', '172.17.20.31']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.