I have written my own python ip/subnet tool. It works in both python 2 and 3. It does not have dependencies except standard ‘re’ module.
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 even a bit faster, than with tools from netaddr module.
Methods provided: - is_in_subnet : check if ip belongs to subnet - is_in_range : check if ip belongs to ip range - 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:
print(iptoolsjj.is_in_subnet(‘192.168.10.10’, ‘192.168.10.0/22’))
Check if 192.168.51.1 is between 192.168.50.100 and 192.168.60.50:
print(iptoolsjj.is_in_range(‘192.168.50.100’,’192.168.60.50’,’192.168.51.1’))
Verify if ip or ip with mask is valid:
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’]’ (by default it’s list format):
print(iptoolsjj.dec_to_mask255(28))
or
print(iptoolsjj.dec_to_mask255(28,output=’string’))
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.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| iptoolsjj-1.4.2.tar.gz | 3.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iptoolsjj-1.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.2 kB
Release files / iptoolsjj-1.4.2.tar.gz
| Download URL | iptoolsjj-1.4.2.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
884522782d84065ac662d68e539c522872760268a8b5b269c3afc3388ba9d138
|
|
BLAKE2b-256 checksum How to use checksums |
1e82bdcd2a179e435e316662a17dea09c8326925c46ddf9368728743ee2757ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.5.3
|
Release files / iptoolsjj-1.4.2-py3-none-any.whl
| Download URL | iptoolsjj-1.4.2-py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6db372cfb6cc598534f2408ddfaca061cb9c9ab2fc062677380f9dafaf6d95af
|
|
BLAKE2b-256 checksum How to use checksums |
5f43e08de625b93c3f04b802a10595605b69b37eb6bafa5bc261a8774c0e1a47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.5.3
|
Security for iptoolsjj 1.4.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.