用于处理无类ip地址的cli实用程序

cidr-brewer的Python项目详细描述


版权所有2016 Caleb Evans
根据麻省理工学院许可证发布

Build StatusCoverage Status

cidr brewer是一个命令行实用程序,它显示 无类IP地址(如子网掩码和网络ID),因此 需要你自己计算。

安装

您可以通过PIP安装CIDR Brewer(理想情况下为全球):

pip install cidr-brewer

用法

若要使用,请使用一个或两个IP从命令行运行cidr-brewer。 地址。

一个IP地址

如果您使用斜线符号传递单个IP地址,CIDR Brewer将 计算子网掩码、网络ID、广播ID和 有效/可用的IP地址。

$ ./cidrbrewer.py 192.168.19.100/25
Given IP address:
   192.168.19.100/25  11000000.10101000.00010011.01100100
Subnet mask:
   255.255.255.128    11111111.11111111.11111111.10000000
Network ID:
   192.168.19.0/25    11000000.10101000.00010011.00000000
Broadcast ID:
   192.168.19.127     11000000.10101000.00010011.01111111
First Available Address:
   192.168.19.1       11000000.10101000.00010011.00000001
Last Available Address:
   192.168.19.126     11000000.10101000.00010011.01111110
Subnet Size: 2^7 - 2 = 126

此外,如果你提供一个区块大小的列表,苹果酒酿造商将 为每个子块计算相同的信息

$ ./cidrbrewer.py 42.114.152.128/25 --block-sizes 16 64 16 32
Given IP address:
   42.114.152.128/25  00101010.01110010.10011000.10000000
Block 1:
   Block Size: 2^6 = 64
   Network ID:
      42.114.152.128/26  00101010.01110010.10011000.10000000
   Broadcast ID:
      42.114.152.191     00101010.01110010.10011000.10111111
   First Available Address:
      42.114.152.129     00101010.01110010.10011000.10000001
   Last Available Address:
      42.114.152.190     00101010.01110010.10011000.10111110
   Subnet Size: 2^6 - 2 = 62
Block 2:
   Block Size: 2^5 = 32
   Network ID:
      42.114.152.192/27  00101010.01110010.10011000.11000000
   Broadcast ID:
      42.114.152.223     00101010.01110010.10011000.11011111
   First Available Address:
      42.114.152.193     00101010.01110010.10011000.11000001
   Last Available Address:
      42.114.152.222     00101010.01110010.10011000.11011110
   Subnet Size: 2^5 - 2 = 30
Block 3:
   Block Size: 2^4 = 16
   Network ID:
      42.114.152.224/28  00101010.01110010.10011000.11100000
   Broadcast ID:
      42.114.152.239     00101010.01110010.10011000.11101111
   First Available Address:
      42.114.152.225     00101010.01110010.10011000.11100001
   Last Available Address:
      42.114.152.238     00101010.01110010.10011000.11101110
   Subnet Size: 2^4 - 2 = 14
Block 4:
   Block Size: 2^4 = 16
   Network ID:
      42.114.152.240/28  00101010.01110010.10011000.11110000
   Broadcast ID:
      42.114.152.255     00101010.01110010.10011000.11111111
   First Available Address:
      42.114.152.241     00101010.01110010.10011000.11110001
   Last Available Address:
      42.114.152.254     00101010.01110010.10011000.11111110
   Subnet Size: 2^4 - 2 = 14

两个IP地址

如果您传递两个IP地址(不带斜杠符号),cidr brewer将 同时计算通信所需的最大子网掩码 这两个地址。

$ ./cidrbrewer.py 172.16.11.74 172.16.11.78
Given IP addresses:
   172.16.11.74       10101100.00010000.00001011.01001010
   172.16.11.78       10101100.00010000.00001011.01001110
Largest subnet mask allowing communication:
   29 bits
   255.255.255.248    11111111.11111111.11111111.11111000
Network ID:
   172.16.11.72/29    10101100.00010000.00001011.01001000
Broadcast ID:
   172.16.11.79       10101100.00010000.00001011.01001111
First Available Address:
   172.16.11.73       10101100.00010000.00001011.01001001
Last Available Address:
   172.16.11.78       10101100.00010000.00001011.01001110
Subnet Size: 2^3 - 2 = 6

如果您传递两个IP地址(带有斜线符号),CIDR Brewer将 同时指出IP地址是否已经可以在 各自的子网。

$ ./cidrbrewer.py 125.47.32.170/25 125.47.32.53/25
Given IP addresses:
   125.47.32.170/25   01111101.00101111.00100000.10101010
   125.47.32.53/25    01111101.00101111.00100000.00110101
Can these IP addresses communicate?
   No
Largest subnet mask allowing communication:
   24 bits
   255.255.255.0      11111111.11111111.11111111.00000000
Network ID:
   125.47.32.0/24     01111101.00101111.00100000.00000000
Broadcast ID:
   125.47.32.255      01111101.00101111.00100000.11111111
First Available Address:
   125.47.32.1        01111101.00101111.00100000.00000001
Last Available Address:
   125.47.32.254      01111101.00101111.00100000.11111110
Subnet Size: 2^8 - 2 = 254

示例

/examples目录包含示例IP地址,您可以 对实用程序进行测试

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java:不解析XML的简单XML。例外   KIE Workbench的java自定义UI   java将元素从bucket移动到LinkedList,但有一个元素被完全删除   如何将java stream collect转换为scala   java运行AsynkTask多次不工作   java组织。xml。萨克斯。SAXParseException:cvccomplextype。2.4.c:匹配的通配符是严格的   java是一种计算排序算法所需时间的合适方法   java在O(logn)时间内对排序整数数组中具有相同数字的数字进行计数   xpages从当前数据库javaAgent调用另一个数据库的javaAgent   java如何在instagram中上传特定位置的所有照片   JavaApachePOI可以有效地删除多个列   java创建的对象数   java我可以在关闭连接时关闭Oracle JDBC自动提交吗?