5 releases

0.1.4 Dec 10, 2020
0.1.3 Dec 7, 2020
0.1.2 Nov 26, 2020
0.1.1 Nov 22, 2020
0.1.0 Nov 22, 2020

#3 in #locator

GPL-3.0 license

365KB
425 lines

ipmap

An interactive map that shows connected IP addresses.

Requirements

ipmap uses libpcap-dev, which is only easily available on UNIX-like systems (Linux, MacOS, *BSD).

Windows is possible, but WinPcap is required before build time.

Building

Because this program is written in rust, you must have rust installed.

First, build it:

$ cargo build --release

You must have privileges to capture using the pcap API. In order to give the binary the necessary permissions, run:

# setcap cap_net_raw,cap_net_admin=eip target/release/ipmap

Finally, execute it.

# target/release/ipmap

To use it navigate to your web browser and go to localhost:700, where the map will appear

Services

The IP geolocation service used in ipmap can be changed at the start using the command line flag.

Each service included in this library has a weekly, hourly, or monthly limit. Some have more free queries, but are less reliable.

Here are the query limits:

Service Limit
ipwhois 10,000/month
freegeoip 15,000/hour
ipapi 45/minute
ipapico 1,000/day (30,000/month)

If no service specified, ipapi will be used, which will limit how many IP is detected per minute.

Command Line Options

ipmap 0.1.2
Skyline High School Coding Club Authors <skylinecc@gmail.com>

USAGE:
    ipmap [FLAGS] [OPTIONS]

FLAGS:
    -h, --help        Prints help information
        --headless    Launches the program without running the webserver
    -V, --version     Prints version information

OPTIONS:
    -s, --service <SERVICE>    Geolocation API

Dependencies

~22MB
~410K SLoC