Skip to content

Latest commit

 

History

History
120 lines (92 loc) · 3.58 KB

README.md

File metadata and controls

120 lines (92 loc) · 3.58 KB

IPGeoLocation

A tool to retrieve IP Geolocation information

Powered by ip-api

Requirements

Python 3.x

Features

  • Retrieve IP or Domain Geolocation.
  • Retrieve your own IP Geolocation.
  • Retrieve Geolocation for IPs or Domains loaded from file. Each target in new line.
  • Define your own custom User Agent string.
  • Select random User-Agent strings from file. Each User Agent string in new line.
  • Proxy support.
  • Open IP geolocation in Google Maps using the default browser.
  • Export results to csv, xml and txt format.

Geolocation Information

  • ASN
  • City
  • Country
  • Country Code
  • ISP
  • Latitude
  • Longtitude
  • Organization
  • Region Code
  • Region Name
  • Timezone
  • Zip Code

Usage

$ ./ip2geolocation.py
usage: ip2geolocation.py [-h] [-m] [-t TARGET] [-T file] [-u User-Agent] [-r]
                         [-U file] [-g] [--noprint] [-v] [--nolog] [-x PROXY]
                         [-e file] [-ec file] [-ex file]

IPGeoLocation 1.8
Retrieve IP Geolocation information from http://ip-api.com
http://ip-api.com service will automatically ban any IP addresses doing over 150 requests per minute.


optional arguments:
  -h, --help            show this help message and exit
  -m, --my-ip           Get Geolocation info for my IP address.
  -t TARGET, --target TARGET
                        IP Address or Domain to be analyzed.
  -T file, --tlist file
                        A list of IPs/Domains targets, each target in new line.
  -u User-Agent, --user-agent User-Agent
                        Set the User-Agent request header (default: IP2GeoLocation 1.8).
  -r                    Pick User-Agent strings randomly from a file.
  -U file, --ulist file
                        A list of User-Agent strings, each string in new line.
  -g                    Open IP location in Google maps with default browser.
  --noprint             Run without printing results to terminal.
  -v, --verbose         Enable verbose output.
  --nolog               Run without logging.
  -x PROXY, --proxy PROXY
                        Setup proxy server (example: http://127.0.0.1:8080)
  -e file, --txt file   Export results.
  -ec file, --csv file  Export results in CSV format.
  -ex file, --xml file  Export results in XML format.

Examples

Retrieve your IP Geolocation

  • ./ip2geolocation.py -m

Retrieve IP Geolocation

  • ./ip2geolocation.py -t x.x.x.x

Retrieve Domain Geolocation

  • ./ip2geolocation.py -t example.com

Do not save .log files

  • ./ip2geolocation.py -t example.com --nolog

Custom User Agent string

  • ./ip2geolocation.py -t x.x.x.x -u "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"

Using Proxy

Pick User Agent string randomly

  • ./ip2geolocation.py -t x.x.x.x -U /path/to/user/agent/strings/filename.txt -r

Retrieve IP geolocation and open location in Google maps with default browser

  • ./ip2geolocation.py -t x.x.x.x -g

Export results to CSV file

  • ./ip2geolocation.py -t x.x.x.x --csv /path/to/results.csv

Export results to XML file

  • ./ip2geolocation.py -t x.x.x.x --xml /path/to/results.xml

Export results to TXT file

  • ./ip2geolocation.py -t x.x.x.x -e /path/to/results.txt

Retrieve IP Geolocation for many targets

  • ./ip2geolocation.py -T /path/to/targets/targets.txt

Retrieve IP Geolocation for many targets and export results to xml

  • ./ip2geolocation.py -T /path/to/targets/targets.txt --xml /path/to/results.xml

Do not print results to terminal

  • ./ip2geolocation.py -m -e /path/to/results.txt --noprint