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