I have written my own python ip/subnet tool. It’s for python2/3. Use theese methods to conver ip mask formats and to check if ip/subnet belong to other subnet. I made it partly for fun and to learn, so perhaps these are not the best, but they get the job done. Checking if ip belongs to subnet is actually about 20-30% faster, than with tools from netaddr module.
Methods provided: - is_in_subnet : check if ip belongs to subnet - verify : check if ip or ip/netmask are valid - get_subnet_ip : get subnet ip for some ip/mask - mask255_to_dec : convert ip mask format - dec_to_mask255 : convert ip mask format - is_mask : check if ip mask is real
Instalation:
pip install iptoolsjj
Import:
import iptoolsjj
Examples:
Check if 192.168.10.10 is inside 192.168.10.0/22:
- if iptoolsjj.is_in_subnet(‘192.168.10.10’, ‘192.168.10.0/22’):
print (‘yes’)
Verify if ip or ip with mask is in good format:
print(iptoolsjj.verify(‘192.168.1.22’)) print(iptoolsjj.verify(‘192.168.1.22/25’,’ip/mask’)) print(iptoolsjj.verify(‘192.168.1.22/255.255.255.128’,’ip/mask255’))
Get subnet ip for given ip address:
print(iptoolsjj.get_subnet_ip(‘191.123.1.36/27’))
Convert mask ‘255.255.255.240’ to ‘28’:
print(iptoolsjj.mask255_to_dec(‘255.255.255.240’))
Convert mask ‘28’ to ‘[‘255’, ‘255’, ‘255’, ‘240’]’ (normally it’s list format):
print(iptoolsjj.dec_to_mask255(28))
or
print(‘.’.join(iptoolsjj.dec_to_mask255(28)))
Check if mask is real mask in format xxx.xxx.xxx.xxx:
print(is_mask(“255.255.255.0”))
Metadata
Release files for iptoolsjj 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iptoolsjj-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / iptoolsjj-1.3.0-py3-none-any.whl
| Download URL | iptoolsjj-1.3.0-py3-none-any.whl |
|---|---|
| Size | 5.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c575c9c0d902d1de9cfc91d9d8bf6f5d9747020f955250c483c185345b28ab4e
|
|
BLAKE2b-256 checksum How to use checksums |
eae3e75f36af238d3117854998e2d42063b960b39b8cd5dc7434f98dd4b1fadc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.12.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.5.3
|