繁体   English   中英

更改 IP 范围地址

[英]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']

ip地址模块

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM