A parallelised DNS resolver


Hellfire is a parallelised DNS resolver. It is written in Go and for the purpose of generating input lists to PATHspider, though may be useful for other applications.

Get Started

If you already have Go installed on your system, you can install hellfire with:

go get pathspider.net/hellfire/...

Basic Usage

  hellfire --topsites [--file=<filename>] [--output=<individual|array|oneeach>] [--type=<host|ns|mx>] [--canid=<canid address>]
  hellfire --cisco [--file=<filename>] [--output=<individual|array|oneeach>] [--type=<host|ns|mx>] [--canid=<canid address>]
  hellfire --citizenlab [--country=<cc>|--file=<filename>] [--output=<individual|array|oneeach>] [--type=<host|ns|mx>] [--canid=<canid address>]
  hellfire --opendns [--list=<name>|--file=<filename>] [--output=<individual|array|oneeach>] [--type=<host|ns|mx>] [--canid=<canid address>]
  hellfire --csv --file=<filename> [--output=<individual|array|oneeach>] [--type=<host|ns|mx>] [--canid=<canid address>]
  hellfire --txt --file=<filename> [--output=<individual|array|oneeach>] [--type=<host|ns|mx>] [--canid=<canid address>]

  -h --help     Show this screen.
  --version     Show version.

Input Formats

Hellfire is capable of taking its input list from a file, and also of downloading the latest version of an input list directly from the Internet. The following sources are supported:

Output Format

One record output per IP address looked up, discarding no addresses.
One record output per domain name, with an array of all addresses resolved.
One record output per IP address, only printing one IPv4 and one IPv6 at most for each domain.

Source Code

The source code for Hellfire is available on GitHub under a 2-clause BSD license and developer documentation is available on GoDoc.

More Information

Original PATHspider Paper published at ANRW 2016
Referencing Publications
License: GPL version 2, or at your option, any later version

Help and Support

IRC: #pathspider on irc.oftc.net

Get Involved

Report Bugs: Issue Tracker
Let us know if your lab or organisation is using PATHspider

This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 688421. The opinions expressed and arguments employed reflect only the authors' view. The European Commission is not responsible for any use that may be made of that information.