Lightweight package to parse host inputs for iteration.
Project description
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']])
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ipparser-1.0.1.tar.gz
.
File metadata
- Download URL: ipparser-1.0.1.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a3b472b04d8a14e6a7b25c78c9831ecef81644908a739c9889e5e46dc121f00 |
|
MD5 | 36d4ceb391735244811a5987945e2c04 |
|
BLAKE2b-256 | 6c328471cdcac6c86948951c161b4f40c7d650cff30fa21fce6a2795348b4904 |
File details
Details for the file ipparser-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: ipparser-1.0.1-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 397e71247862665b6f00638647d53acda593e56708267793c14a20d3db01958d |
|
MD5 | 7e653f69682acb6463caddbc3f90cdd8 |
|
BLAKE2b-256 | a7f54950331ec785df3765cee4f85a95afa0a92eb7de01d3b1da6a53efb4dd8a |