Skip to main content

IPParser

The IPParser Python library was created to simplify accepting IP addresses, DNS names, and target / host information in security or network based tooling.

User inputs are parsed to provide an iterable list for further action. If called with resolve=True, ipparser will attempt to perform an "A" record lookup and return the first resolved address associated with the host.

Inputs:

IPParser currently accepts the following user inputs:

  • Single IP (192.168.1.10)
  • IP ranges (192.168.1.1-55)
  • Multiple IP's (192.168.1.3,192.168.1.7,m8sec.dev)
  • CIDR Ranges /8-/32 (192.168.1.0/24)
  • URL's (https://m8sec.dev)
  • IP:Port (192.168.1.1:8080)
  • DNS Names (m8sec.dev)
  • TXT files (Containing any of the items listed)
  • Nmap XML Reports
  • Read from STDIN

Install

pip3 install ipparser

OR

git clone https://github.com/m8sec/ipparser
cd ipparser
python3 setup.py install

(Primary) Usage:

The IPParser function can be called with the following arguments (shown with their default values):

  • open_ports=False - Return IP:Port notation for all open ports found (Nmap XML only)
  • exit_on_error=True - Exit on error while parsing user input.
  • resolve=False - Resolve any DNS names identified, to IPv4 addresses, and append to output.
  • ns=[] - Define name servers for DNS lookups.

Examples

Standard Usage

>>> from ipparser import ipparser
>>> ipparser('192.168.1.3-5')
['192.168.1.3', '192.168.1.4', '192.168.1.5']

>>> ipparser('yahoo.com',resolve=True)
['74.6.143.26']


>>> ipparser('192.168.1.1,yahoo.com')
['192.168.1.1', 'yahoo.com']

Argparse Integration - Required Positional Argument:

from ipparser import ipparser
from argparse import ArgumentParser

args = ArgumentParser(description='ipparser integration with argparse')
args.add_argument(dest='positional_host', nargs='+', type=lambda x: ipparser(x, resolve=False), help='Host Input')
args = args.parse_args()
Namespace(positional_host=[['192.168.1.1']])

Metadata

Release files for ipparser 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ipparser 1.0.2
File Size Uploaded
ipparser-1.0.2.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ipparser 1.0.2
File Interpreter ABI Platform
ipparser-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 12.0 kB

Release files / ipparser-1.0.2.tar.gz

Download URL ipparser-1.0.2.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ff95fc506479848f93045a964dc200daace9c180b5fca827e4e8be474453675c
BLAKE2b-256 checksum
How to use checksums
0f202a533471c467f78183e0a9a31dba8311ecdd41bf6d251bd5d79be4e93a4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / ipparser-1.0.2-py3-none-any.whl

Download URL ipparser-1.0.2-py3-none-any.whl
Size 6.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e0a3bc05f23bfcafdc3fda69efa8fc0c4cf236c2e6283c908cc6407268aac14
BLAKE2b-256 checksum
How to use checksums
e4b843bc792f2511ebb424fcd64452d5f0543ade2e843eac9c63fc35ada7d0cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.3.8

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page