Skip to main content

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”))

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iptoolsjj-1.4.2.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iptoolsjj-1.4.2-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file iptoolsjj-1.4.2.tar.gz.

File metadata

  • Download URL: iptoolsjj-1.4.2.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for iptoolsjj-1.4.2.tar.gz
Algorithm Hash digest
SHA256 884522782d84065ac662d68e539c522872760268a8b5b269c3afc3388ba9d138
MD5 9c1fdc8e1f99ff37c181d612ae11e512
BLAKE2b-256 1e82bdcd2a179e435e316662a17dea09c8326925c46ddf9368728743ee2757ab

See more details on using hashes here.

File details

Details for the file iptoolsjj-1.4.2-py3-none-any.whl.

File metadata

  • Download URL: iptoolsjj-1.4.2-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for iptoolsjj-1.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6db372cfb6cc598534f2408ddfaca061cb9c9ab2fc062677380f9dafaf6d95af
MD5 9fd06d246f3eedc7c4fc26c9c7cacc78
BLAKE2b-256 5f43e08de625b93c3f04b802a10595605b69b37eb6bafa5bc261a8774c0e1a47

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4.2 This release

2 files

1.4.1

2 files

1.3.0

1 file

1.2.6

2 files

1.2.5

1 file

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

1 file

1.2

1 file

1.1

1 file

1.0.7

1 file

1.0.6

1 file

1.0.5

1 file

1.0.4

1 file

1.0.3

1 file

1.0.2

1 file

1.0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page