{ "info": { "author": "Caleb Evans", "author_email": "caleb@calebevans.me", "bugtrack_url": null, "classifiers": [], "description": "CIDR Brewer\n===========\n\n| *Copyright 2016 Caleb Evans*\n| *Released under the MIT license*\n\n|Build Status| |Coverage Status|\n\nCIDR Brewer is a command-line utility which displays information for\nclassless IP addresses (such as subnet mask and network ID) so you don't\nneed to perform the calculations yourself.\n\nInstalling\n----------\n\nYou can install CIDR Brewer via pip (ideally globally):\n\n::\n\n pip install cidr-brewer\n\nUsage\n-----\n\nTo use, run ``cidr-brewer`` from the command line with one or two IP\naddresses.\n\nOne IP address\n~~~~~~~~~~~~~~\n\nIf you pass a single IP address using slash notation, CIDR Brewer will\ncompute the subnet mask, network ID, broadcast ID, and the range of\nvalid/available IP addresses.\n\n::\n\n $ ./cidrbrewer.py 192.168.19.100/25\n Given IP address:\n 192.168.19.100/25 11000000.10101000.00010011.01100100\n Subnet mask:\n 255.255.255.128 11111111.11111111.11111111.10000000\n Network ID:\n 192.168.19.0/25 11000000.10101000.00010011.00000000\n Broadcast ID:\n 192.168.19.127 11000000.10101000.00010011.01111111\n First Available Address:\n 192.168.19.1 11000000.10101000.00010011.00000001\n Last Available Address:\n 192.168.19.126 11000000.10101000.00010011.01111110\n Subnet Size: 2^7 - 2 = 126\n\nAdditionally, if you supply a list of block sizes, CIDR Brewer will\ncompute the same information for each sub-block.\n\n::\n\n $ ./cidrbrewer.py 42.114.152.128/25 --block-sizes 16 64 16 32\n Given IP address:\n 42.114.152.128/25 00101010.01110010.10011000.10000000\n Block 1:\n Block Size: 2^6 = 64\n Network ID:\n 42.114.152.128/26 00101010.01110010.10011000.10000000\n Broadcast ID:\n 42.114.152.191 00101010.01110010.10011000.10111111\n First Available Address:\n 42.114.152.129 00101010.01110010.10011000.10000001\n Last Available Address:\n 42.114.152.190 00101010.01110010.10011000.10111110\n Subnet Size: 2^6 - 2 = 62\n Block 2:\n Block Size: 2^5 = 32\n Network ID:\n 42.114.152.192/27 00101010.01110010.10011000.11000000\n Broadcast ID:\n 42.114.152.223 00101010.01110010.10011000.11011111\n First Available Address:\n 42.114.152.193 00101010.01110010.10011000.11000001\n Last Available Address:\n 42.114.152.222 00101010.01110010.10011000.11011110\n Subnet Size: 2^5 - 2 = 30\n Block 3:\n Block Size: 2^4 = 16\n Network ID:\n 42.114.152.224/28 00101010.01110010.10011000.11100000\n Broadcast ID:\n 42.114.152.239 00101010.01110010.10011000.11101111\n First Available Address:\n 42.114.152.225 00101010.01110010.10011000.11100001\n Last Available Address:\n 42.114.152.238 00101010.01110010.10011000.11101110\n Subnet Size: 2^4 - 2 = 14\n Block 4:\n Block Size: 2^4 = 16\n Network ID:\n 42.114.152.240/28 00101010.01110010.10011000.11110000\n Broadcast ID:\n 42.114.152.255 00101010.01110010.10011000.11111111\n First Available Address:\n 42.114.152.241 00101010.01110010.10011000.11110001\n Last Available Address:\n 42.114.152.254 00101010.01110010.10011000.11111110\n Subnet Size: 2^4 - 2 = 14\n\nTwo IP addresses\n~~~~~~~~~~~~~~~~\n\nIf you pass two IP addresses (without slash notation), CIDR Brewer will\nalso compute the largest subnet mask needed for communication between\nthe two addresses.\n\n::\n\n $ ./cidrbrewer.py 172.16.11.74 172.16.11.78\n Given IP addresses:\n 172.16.11.74 10101100.00010000.00001011.01001010\n 172.16.11.78 10101100.00010000.00001011.01001110\n Largest subnet mask allowing communication:\n 29 bits\n 255.255.255.248 11111111.11111111.11111111.11111000\n Network ID:\n 172.16.11.72/29 10101100.00010000.00001011.01001000\n Broadcast ID:\n 172.16.11.79 10101100.00010000.00001011.01001111\n First Available Address:\n 172.16.11.73 10101100.00010000.00001011.01001001\n Last Available Address:\n 172.16.11.78 10101100.00010000.00001011.01001110\n Subnet Size: 2^3 - 2 = 6\n\nIf you pass two IP addresses (with slash notation), CIDR Brewer will\nalso indicate if the IP addresses can already communicate on their\nrespective subnets.\n\n::\n\n $ ./cidrbrewer.py 125.47.32.170/25 125.47.32.53/25\n Given IP addresses:\n 125.47.32.170/25 01111101.00101111.00100000.10101010\n 125.47.32.53/25 01111101.00101111.00100000.00110101\n Can these IP addresses communicate?\n No\n Largest subnet mask allowing communication:\n 24 bits\n 255.255.255.0 11111111.11111111.11111111.00000000\n Network ID:\n 125.47.32.0/24 01111101.00101111.00100000.00000000\n Broadcast ID:\n 125.47.32.255 01111101.00101111.00100000.11111111\n First Available Address:\n 125.47.32.1 01111101.00101111.00100000.00000001\n Last Available Address:\n 125.47.32.254 01111101.00101111.00100000.11111110\n Subnet Size: 2^8 - 2 = 254\n\nExamples\n--------\n\nThe ``/examples`` directory contains example IP addresses for you to\ntest against the utility.\n\n.. |Build Status| image:: https://travis-ci.org/caleb531/cidr-brewer.svg?branch=master\n :target: https://travis-ci.org/caleb531/cidr-brewer\n.. |Coverage Status| image:: https://coveralls.io/repos/caleb531/cidr-brewer/badge.svg?branch=master\n :target: https://coveralls.io/r/caleb531/cidr-brewer?branch=master", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/caleb531/cidr-brewer", "keywords": "networking ip addresses cidr", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "cidr-brewer", "package_url": "https://pypi.org/project/cidr-brewer/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cidr-brewer/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/caleb531/cidr-brewer" }, "release_url": "https://pypi.org/project/cidr-brewer/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "A CLI utility for working with classless IP addresses", "version": "1.0.0" }, "last_serial": 2211308, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "3341bd59ad1fc5aa642681f26f0c10a0", "sha256": "837b852b52eede9bb406b52fe69700762fb23a12f4abc163df1b8cd6e613cd0c" }, "downloads": -1, "filename": "cidr-brewer-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3341bd59ad1fc5aa642681f26f0c10a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4720, "upload_time": "2016-07-09T04:30:07", "url": "https://files.pythonhosted.org/packages/dc/55/4fec566bf631af704f0c17524c7be7bcd5f7564aeaf5ce76e0c927356729/cidr-brewer-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3341bd59ad1fc5aa642681f26f0c10a0", "sha256": "837b852b52eede9bb406b52fe69700762fb23a12f4abc163df1b8cd6e613cd0c" }, "downloads": -1, "filename": "cidr-brewer-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3341bd59ad1fc5aa642681f26f0c10a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4720, "upload_time": "2016-07-09T04:30:07", "url": "https://files.pythonhosted.org/packages/dc/55/4fec566bf631af704f0c17524c7be7bcd5f7564aeaf5ce76e0c927356729/cidr-brewer-1.0.0.tar.gz" } ] }