IPMapper

IPMapper is an Elixir-based tool that generates incremental IP addresses, performs non-blocking HTTP requests using Mint, and does reverse DNS lookups. It logs the results (including timestamp, IP, DNS name, HTTP status, and a hex color) to a CSV file while providing real-time progress updates.

Features

Installation

  1. Clone the repository:

    git clone https://github.com/evokelektrique/internet_mapper.git
    cd ip_mapper
  2. Fetch dependencies:

    mix deps.get
  3. Compile the project:

    mix compile

Usage

Start an interactive shell with:

iex -S mix

Then run the pipeline (for example, to generate 100 sequential IPs starting at 1.0.0.0 with 50 consumers):

IPMapper.start("1.0.0.0", 100, 50)

Progress will be printed to the console and results logged to results.csv.

Running Tests

To run the test suite:

mix test

License

This project is licensed under the MIT License.