使用Python获取网段IP个数以及地址清单的方法
使用Python获取网段的IP个数以及地址清单需要用到IPy的库,而相应的方法主要就是IP。
写小脚本如下:
from IPy import IP ip = IP('192.168.0.0/16') print(ip.len()) for x in ip: print(x)
运行结果:
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 requests.post带head和body的实例
今天小编就为大家分享一篇python requests.post带head和body的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-01-01Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
这篇文章主要介绍了Python爬虫 scrapy框架爬取某招聘网存入mongodb解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-07-07ROS1 rosbag的详细使用并且使用python合并bag包的方法
这篇文章主要介绍了ROS1 rosbag的详细使用,并且使用python来合并bag包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-05-05Python实现爬取亚马逊数据并打印出Excel文件操作示例
这篇文章主要介绍了Python实现爬取亚马逊数据并打印出Excel文件操作,结合实例形式分析了Python针对亚马逊图书数据的爬取操作,以及数据打印输出Excel相关实现技巧,需要的朋友可以参考下2019-05-05
最新评论