写一个简单的python脚本来返回ip地址的掩码,子网个数等
2018-01-19 17:44
225 查看
如果我们想快速得到一个IP地址段有多少个ip,快速得到IP地址段的子网掩码,或者快速得到一个IP地址的二进制,那么可以来学习一下。
本文利用python的一个IP分析模块IPy实现,首先安装IPy模块
接下来简单介绍一下功能
>> 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地址返回各种结果:
测试一下:
关于IP地址处理模块IPy的功能还有很多,大家可根据需要去使用。
本文利用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小脚本的一些必要步骤
- 分享一个简单的python读写文件脚本
- python写一个最简单的可执行脚本
- python 一个简单的、迅速生成和执行循环的辅助脚本
- 一个简单比较oracle两个用户下表数据差异的python脚本
- 一个简单的python读写文件脚本
- 写一个python脚本,实现简单的http服务器功能:
- 一个简单的脚本程序----Python
- Python自动化测试例子--一个简单的自动化测试用例脚本--批量执行测试用例
- 一个简单的 python 实现 图片同步脚本 ,对于有图片群集的项目有参考价值
- Python实现根据IP地址和子网掩码算出网段的方法
- python构建一个简单的备份脚本
- 测试网站页面网速的一个简单Python脚本
- Windows 下针对python脚本做一个简单的进程保护
- [python脚本]一个简单的web爬虫(1)
- 写python脚本进行abaqus建模,抄某指导书中的一个简单的悬臂梁代码
- python 一个简单防攻击脚本
- [python脚本]一个简单的web爬虫(1)
- 使用一个简单的python脚本将一个本地文件以码流的形式,通过UDP协议发送到对端:
- 一个简单的判断远端服务器端口是否通的Python脚本