Reverse.report is mostly a side-project to learn more about DNS, information exposed via PTRs and handling a large amount of data with PostgreSQL. The database contains 1,290,456,044 records and handles about 3,000 updates per second keeping read latency at a minimum. Data consumes more than 130GB, indices take 180GB of SSD space.
The technology stack is Python/Flask webapp, Python/asyncio scanners and PostgreSQL 9.5 as a storage.

What is PTR

PTR is a type of DNS record that allows to determine a domain name associated with an IP address. Please check a Wikipedia article about Reverse DNS lookup.

Data sources

The biggest part of our dataset is built with our own scanners constantly checking pointer records for whole IP v4 space. This approach does not guarantee all records be collected and we refine our results with Rapid7 Reverse DNS dataset available for download at scans.io.


Feel free to drop an email if you have any question or suggestion: reverse.report@gmail.com or follow us on Twitter.