使用Python获取网段IP个数以及地址清单
2017-04-16 14:25
746 查看
使用Python获取网段的IP个数以及地址清单需要用到IPy的库,而相应的方法主要就是IP。
写小脚本如下:
1 from IPy
import IP
2
3 ip = IP('192.168.0.0/16')
4 print(ip.len())
5 for x in ip:
6 print(x)
7
运行结果:
GreydeMac-mini:01_系统基础信息模块详解 greyzhang$ python ip.py
65536
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
192.168.0.16
192.168.0.17
……………………
192.168.255.241
192.168.255.242
192.168.255.243
192.168.255.244
192.168.255.245
192.168.255.246
192.168.255.247
192.168.255.248
192.168.255.249
192.168.255.250
192.168.255.251
192.168.255.252
192.168.255.253
192.168.255.254
192.168.255.255
从上面的结果中可以看出,这个王端中共有65535个IP,同时脚本输出了所有的IP地址清单。至于这个IP地址的含义可以再做一下简单的解释。代码中的192.168.0.0/16其实是一个私有地址网段。早起的网络设计中,总是尝试给所有的计算机分配一个固定的地址,但是随着局域网的发展这个多少有点不必要了。私有的局域内部网络很多时候并不需要保护共有IP。未连接到互联网上的机器并不需要使用唯一的IP地址,因为它并不在因特网上路由,也不需要与IP地址注册表协调。在RFC
1981中保留了IPV4的三个费重叠地址,具体的地址说明如下:
而代码中,用到的便是上面表格中的第三个。针对前面两个的网段IP数目进行获取如下:
In [67]:
ip1 = IP('172.16.0.0/12')
In [68]:
ip1.len()
Out[68]:
1048576
In [69]:
ip2 = IP('10.0.0.0/8')
In [70]:
ip2.len()
Out[70]:
16777216
写小脚本如下:
1 from IPy
import IP
2
3 ip = IP('192.168.0.0/16')
4 print(ip.len())
5 for x in ip:
6 print(x)
7
运行结果:
GreydeMac-mini:01_系统基础信息模块详解 greyzhang$ python ip.py
65536
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
192.168.0.16
192.168.0.17
……………………
192.168.255.241
192.168.255.242
192.168.255.243
192.168.255.244
192.168.255.245
192.168.255.246
192.168.255.247
192.168.255.248
192.168.255.249
192.168.255.250
192.168.255.251
192.168.255.252
192.168.255.253
192.168.255.254
192.168.255.255
从上面的结果中可以看出,这个王端中共有65535个IP,同时脚本输出了所有的IP地址清单。至于这个IP地址的含义可以再做一下简单的解释。代码中的192.168.0.0/16其实是一个私有地址网段。早起的网络设计中,总是尝试给所有的计算机分配一个固定的地址,但是随着局域网的发展这个多少有点不必要了。私有的局域内部网络很多时候并不需要保护共有IP。未连接到互联网上的机器并不需要使用唯一的IP地址,因为它并不在因特网上路由,也不需要与IP地址注册表协调。在RFC
1981中保留了IPV4的三个费重叠地址,具体的地址说明如下:
而代码中,用到的便是上面表格中的第三个。针对前面两个的网段IP数目进行获取如下:
In [67]:
ip1 = IP('172.16.0.0/12')
In [68]:
ip1.len()
Out[68]:
1048576
In [69]:
ip2 = IP('10.0.0.0/8')
In [70]:
ip2.len()
Out[70]:
16777216
相关文章推荐
- 使用Python获取网段IP个数以及地址清单的方法
- Python使用django获取用户IP地址的方法
- Python使用django获取用户IP地址的方法
- python使用Flask框架获取用户IP地址的方法
- JS 通过用户IP 获取用户所在地址以及所使用浏览器和操作系统
- 查看网段内正在使用的IP以及ip定位
- 使用c# 根据IP 获取物理地址
- 使用ARP发包获取目的IP的mac地址
- Python获取本机Ip地址
- 使用python获取博客园作者的文章列表的超链接以及标题
- C# 获取本地IP客户端IP地址以及MAC地址
- python通过ip获取地址
- [Asp.Net]获取客户端IP以及MAC地址
- 【python】获取本机的hostname以及外网ip
- python 获取本机ip地址的两个方法
- 嵌入式 最精简的程序获取IP以及广播地址示例
- Python获取本机IP地址
- 在 python 使用socket 获取 IP
- 【python】获取本机的hostname以及外网ip
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第十节 获取本机已探测的IP – 物理地址映射表