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

yipeiwu_com5年前Python基础

使用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设计】。

相关文章

Python列表(list)所有元素的同一操作解析

Python列表(list)所有元素的同一操作解析

针对很普遍的每个元素的操作会遍历每个元素进行操作。 这里给出了几种写法,列表每个元素自增等数学操作同理; 示例:整形列表ilist加1个数、元素类型转字符串: ilist = [1,...

Python中MySQL数据迁移到MongoDB脚本的方法

MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库...

pyQT5 实现窗体之间传值的示例

pyQT5 实现窗体之间传值的示例

准备 一个MainWindow和一个WidgetForm,总代码如下 # -*- coding: utf-8 -*- from PyQt5 import QtWidgets fr...

Python给你的头像加上圣诞帽

Python给你的头像加上圣诞帽

引言 随着圣诞的到来,大家纷纷@官方微信给自己的头像加上一顶圣诞帽。当然这种事情用很多P图软件都可以做到。但是作为一个学习图像处理的技术人,还是觉得我们有必要写一个程序来做这件事情。而且...

Python实现查找最小的k个数示例【两种解法】

本文实例讲述了Python实现查找最小的k个数。分享给大家供大家参考,具体如下: 题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的...