通过Python获取IP地址网段1 min read

  • A+
所属分类:Python

 
 

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import ipaddress
import sys

def check_ip(ip_addr):
    try:
        print('检查地址: '+str(ipaddress.ip_interface(ip_addr)))
        print('地址版本: IPV'+str(ipaddress.ip_network(ip_addr, strict=False).version))
        print('所属网段: '+str(ipaddress.ip_network(ip_addr, strict=False)))
        print('子网掩码: '+str(ipaddress.ip_network(ip_addr, strict=False).netmask))
        addr_total = ipaddress.ip_network(ip_addr, strict=False).num_addresses
        if addr_total != 1:
            print('广播地址: ' + str(ipaddress.ip_network(ip_addr, strict=False).broadcast_address))
            print('网络号码: ' + str(ipaddress.ip_network(ip_addr, strict=False).network_address))
            print('地址总数: ' + str(ipaddress.ip_network(ip_addr, strict=False).num_addresses))
            print('可用数量: '+str(ipaddress.ip_network(ip_addr, strict=False).num_addresses - 2))
            print('起始可用IP地址: '+str(ipaddress.ip_network(ip_addr, strict=False)[1]))
            print('起始可用IP地址: '+str(ipaddress.ip_network(ip_addr, strict=False)[-2]))
            print('可用IP地址范围: '+str(ipaddress.ip_network(ip_addr, strict=False)[1])+' ~ '+str(ipaddress.ip_network(ip_addr, strict=False)[-2]))
    except:
        print('输入地址有误,请检查!')

ip_list = list(sys.argv)
del ip_list[0]

for ip in ip_list:
    check_ip(ip)
    print('==========================end==========================')

 
 

zhaoyulin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: