Nipher

IP lookup tool to avoid manual check.


Keywords
Nipher, IP, Lookup, Geolocation
License
MIT
Install
pip install Nipher==0.1-beta

Documentation

Nipher: a Python script to make IP Lookups

Nipher is a simple script that make multiple IP lookups to avoid to make it manually. It suports both IPV4 and IPV6.

Installation

Nipher requires Python 3+.

Use pip to install the package from PyPI:

pip install Nipher

or:

pip3 install Nipher

Usage

usage: nipher [-h] [--ip IP [IP ...]] [--ipfile IPFILE] [--json] [-o OUTPUT] [-v]

optional arguments:
  -h, --help            show this help message and exit
  --ip IP [IP ...]      List of IPs that will be resolved.
  --ipfile IPFILE       File that contains the list of IPs that will be resolved.
  --json                Saves the lookup to a .json file on the current directory.
  -o OUTPUT, --output OUTPUT
                        The path where to save the .json files.
  -v, --verbose         Force complete output in the terminal.

-h = Show the help message.

--ip = Single or multiple IPs to make lookup. Example: --ip 47.162.238.182 218.96.78.50 26.121.88.46

--ipfile = File that contains multiple IPs to make lookup. Example: --ipfile /path/to/myfile.txt

--json = Param that tells the script to save the lookup result in a .json file in the current directory. Example file.

-o/--output = Custom path where the script should save the .json file. Example: -o /my/custom/path

-v/--verbose = Param that tells the script to force a complete verbose, showing all the informations of all IPs. Warning: can increase total lookup time with much IPs.

Additional Information

Nipher uses the Ip-api API that have some limitations, such as 45 lookups per minute. It respects the ratelimits of the API, so you don't need to worry about exploding the API and getting IP banned or think about bypass the ratelimits. Anyway, it is planned that in the future Nipher will support proxies.

Furthermore, Nipher works in a linear sequence, no multithreaded (its planned to be implemented soon too). This way, it can lookups approximately 200 IPs in 3 minutes (can change by the API response time).

TODO

  • Implement proxy usage
  • Implement multithreading
  • Implement better information logging
  • Implement API fallback to avoid Ip-api API ratelimits

Example videos

Lookup with IP file and verbose: asciicast

Lookup with IP list: asciicast

Lookup with IP file without verbose: asciicast