使用Python获取网段IP个数以及地址清单的方法

 更新时间:2018年11月01日 11:29:15   作者:grey_csdn  
今天小编就为大家分享一篇使用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的三个费重叠地址,具体的地址说明如下:

Python 获取网段IP个数以及地址清单

而代码中,用到的便是上面表格中的第三个。针对前面两个的网段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 pass详细介绍及实例代码

    Python pass详细介绍及实例代码

    这篇文章主要介绍了Python pass详细介绍及实例代码的相关资料,需要的朋友可以参考下
    2016-11-11
  • pytorch中的hook机制register_forward_hook

    pytorch中的hook机制register_forward_hook

    这篇文章主要介绍了pytorch中的hook机制register_forward_hook,手动在forward之前注册hook,hook在forward执行以后被自动执行,下面详细的内容介绍,需要的小伙伴可以参考一下
    2022-03-03
  • conda创建环境、安装包、删除环境步骤详细记录

    conda创建环境、安装包、删除环境步骤详细记录

    对于生信工作者,有一个方便可用的环境可以极大地方便我们开展分析,conda可以让我们在非root的情况下较为方便地切换不同的工作环境,下面这篇文章主要给大家介绍了关于conda创建环境、安装包、删除环境步骤的相关资料,需要的朋友可以参考下
    2022-08-08
  • Python下的subprocess模块的入门指引

    Python下的subprocess模块的入门指引

    这篇文章主要介绍了Python下的subprocess模块的入门指引,subprocess模块被用于Python的多线程编程,需要的朋友可以参考下
    2015-04-04
  • Linux下将Python的Django项目部署到Apache服务器

    Linux下将Python的Django项目部署到Apache服务器

    这篇文章主要介绍了Python的Django项目部署到Apache服务器上的要点总结,文中针对的是wsgi连接方式,需要的朋友可以参考下
    2015-12-12
  • python如何实现单向链表及单向链表的反转

    python如何实现单向链表及单向链表的反转

    这篇文章主要介绍了python如何实现单向链表及单向链表的反转,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • python super用法及原理详解

    python super用法及原理详解

    这篇文章主要介绍了python super用法及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • python中Pyqt5使用Qlabel标签进行视频播放

    python中Pyqt5使用Qlabel标签进行视频播放

    这篇文章主要介绍了python中Pyqt5使用Qlabel实现标签进行视频播放,QLabel是界面中的标签类,继承自QFrame类,提供文本和图像的显示,是一种展示控件,下文相关内容介绍需要的小伙伴可以参考一下
    2022-04-04
  • Python enumerate索引迭代代码解析

    Python enumerate索引迭代代码解析

    这篇文章主要介绍了Python enumerate索引迭代代码解析,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 教大家使用Python SqlAlchemy

    教大家使用Python SqlAlchemy

    如何使用Python SqlAlchemy,本文为大家详细介绍Python SqlAlchemy的使用方法,感兴趣的朋友可以参考一下
    2016-02-02

最新评论