首页 > 代码库 > 根据输入的IP或子网返回网络、掩码、广播、反向解析、子网数、IP类型等信息

根据输入的IP或子网返回网络、掩码、广播、反向解析、子网数、IP类型等信息

 根据输入的IP或子网返回网络、掩码、广播、反向解析、子网数、IP类型等信息

需要的模块为IPy模块  此处为python3版本



#!/usr/bin/env python
# -*- coding:utf-8 -*-
from IPy import IP

ip_s = input(‘Please input an IP or net-range: ‘)    #参数为IP或网段
ips = IP(ip_s)
if len(ips) > 1:                #网络地址个数
    print(‘net: %s‘ % ips.net())      #输出网络地址
    print(‘netmask: %s‘ % ips.netmask())   #掩码地址
    print(‘broadcast: %s‘ % ips.broadcast())  #广播
    print(‘reverse address: %s‘ % ips.reverseNames()[0])   #输出地址反向解析
    print(‘subnet: %s‘ % len(ips))     #输出网络子网数
else:         #若上面Input的值为一个IP地址
    print(‘reverse address: %s‘ % ips.reverseNames()[0])   #输出IP地址反向解析

print(‘hexadecimal: %s‘ % ips.strHex())    #输入16进制地址
print(‘binary ip: %s‘ % ips.strBin())      #2进制
print(‘iptype: %s‘ % ips.iptype())         #输出IP地址类型
 
运行结果:
[root@www python]# python IP1.py 
Please input an IP or net-range: 192.168.1.0/24
net: 192.168.1.0
netmask: 255.255.255.0
broadcast: 192.168.1.255
reverse address: 1.168.192.in-addr.arpa.
subnet: 256
hexadecimal: 0xc0a80100
binary ip: 11000000101010000000000100000000
iptype: PRIVATE
You have new mail in /var/spool/mail/root
[root@www python]# python IP1.py 
Please input an IP or net-range: 192.168.1.102
reverse address: 102.1.168.192.in-addr.arpa.
hexadecimal: 0xc0a80166
binary ip: 11000000101010000000000101100110
iptype: PRIVATE




本文出自 “愿与您分享” 博客,请务必保留此出处http://pengjc.blog.51cto.com/9255463/1847307

根据输入的IP或子网返回网络、掩码、广播、反向解析、子网数、IP类型等信息