#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# @Time : 2022/3/13 8:08
# @Author : AndyXi
# @Version:V 0.1
# @File : network_info.py
# @desc :
from IPy import IP
ip=IP("192.168.0.0/16")
print(ip.version()) ###ipv4 or 6
print(ip.len()) ###output all IP 清单
for x in ip:
print(x)
ip1=IP("10.0.0.122")
print(ip1.reverseName()) ###反向解析122.0.0.10.in-addr.arpa.c
print(ip1.make_net("255.0.0.0")) #10.0.0.0/8
print(IP('10.0.0.0/8').strNormal(3))
print(IP('192.168.0.0/23').overlaps('192.168.1.0/24')) #两个网段是否重叠,1为真
#####################判断
ip_s = input('Please Input an IP or net-range:')
ips= IP(ip_s)
print(len(ips))
if len(ips) > 1: ###网络地址
print('net: %s' % ips.net()) ####network address
print('netmask: %s' % ips.netmask()) #####netmask
print('broadcast: %s' % ips.broadcast()) ###broadcase
print('reverse address: %s' % ips.reverseNames()[0]) ####dns reverse
else:
print('reverse address: %s' % ips.reverseNames()[0])
print('hexadecimal: %s' % ips.strHex())
print('binary ip: %s' % ips.strBin())