码迷,mamicode.com
首页 > 编程语言 > 详细

写一个简单的python脚本来返回ip地址的掩码,子网个数等

时间:2018-01-19 17:53:53      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:类型   test   pre   一个   rom   pack   pytho   0.12   ipy   

如果我们想快速得到一个IP地址段有多少个ip,快速得到IP地址段的子网掩码,或者快速得到一个IP地址的二进制,那么可以来学习一下。
本文利用python的一个IP分析模块IPy实现,首先安装IPy模块

wget https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63/IPy-0.83.tar.gz
tar -xf IPy-0.83.tar.gz 
cd IPy-0.83
python setup.py install

接下来简单介绍一下功能

>> from IPy import IP
>> ip = IP(‘192.168.0.0/28‘)
>> print ip.len() ##输出ip网段的所有ip个数
16
>> for x in ip: ##将所有的ip便利出来
... print x
...
192.168.0.0
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
192.168.0.7
192.168.0.8
192.168.0.9
192.168.0.10
192.168.0.11
192.168.0.12
192.168.0.13
192.168.0.14
192.168.0.15

>> IP(‘192.168.1.1‘).strBin() ##输出IP地址的二进制
‘11000000101010000000000100000001‘

>> IP(‘192.168.0.0/23‘).netmask() ##输出ip地址段的子网掩码
IP(‘255.255.254.0‘)

>> IP(‘192.168.1.1‘).iptype() ##输出IP地址的类型公有或者私有等
‘PRIVATE‘
>> IP(‘8.8.8.8‘).iptype()
‘PUBLIC‘

接下来写一个脚本来根据输入的IP地址返回各种结果:

[root@lsf python]# cat ip_test.py 
#!/usr/bin/python
#-*- coding:utf-8 -*-
from IPy import IP
ip_input = raw_input("请输入一个ip地址或者地址段: ")
ips = IP(ip_input)
if int(len(ips)) > 1 :   ##判断IP地址个数,大于1代表输入的是地址段
    print "网段: %s" % ips.net()
    print "ip个数: %s" % len(ips)
    print "子网掩码: %s" % ips.netmask()
    print "广播地址: %s" % ips.broadcast()
else :   ##输入的是一个IP地址
    print "二进制为: %s" % ips.strBin()
    print "地址的类型: %s" % ips.iptype()

测试一下:

输入IP地址测试
[root@lsf python]# python ip_test.py 
请输入一个ip地址或者地址段: 192.168.1.1
二进制为: 11000000101010000000000100000001
地址的类型: PRIVATE

输入IP地址段测试
[root@lsf python]# python ip_test.py 
请输入一个ip地址或者地址段: 192.168.0.0/23
网段: 192.168.0.0
ip个数: 512
子网掩码: 255.255.254.0
广播地址: 192.168.1.255

关于IP地址处理模块IPy的功能还有很多,大家可根据需要去使用。

写一个简单的python脚本来返回ip地址的掩码,子网个数等

标签:类型   test   pre   一个   rom   pack   pytho   0.12   ipy   

原文地址:http://blog.51cto.com/lsfandlinux/2062959

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!