Introduction to RDAP
RDAP (Registration Data Access Protocol) is the modern successor to WHOIS, providing structured access to domain name, IP address, and autonomous system registration information. This Rust implementation offers both a powerful CLI tool and a flexible library for programmatic access.What is RDAP?
RDAP is a standardized protocol (RFC 7480-7484) that provides:- Structured JSON responses instead of unformatted text
- RESTful HTTP API with consistent query patterns
- Internationalization support for non-ASCII domain names
- Authentication and access control capabilities
- Standardized data models across all registries
RDAP replaces the traditional WHOIS protocol with a modern, RESTful approach that’s easier to parse and more consistent across different registries.
What This Tool Does
This RDAP client provides elegant access to registration data for:Domains
Query registration details for any domain name, including registrant information, nameservers, and DNSSEC status
TLDs
Look up top-level domain information directly from IANA, including administrative and technical contacts
IP Addresses
Query both IPv4 and IPv6 addresses with CIDR support to find allocation details and abuse contacts
AS Numbers
Look up autonomous system information including name, type, and routing contacts
Key Features
Modern & Fast
- Asynchronous I/O powered by Tokio for high performance
- Efficient HTTP client with connection pooling via reqwest
- Fast JSON parsing using Serde for type-safe deserialization
- Small binary size (~4MB stripped)
Beautiful Output
Full RDAP Support
- Domain name queries with multi-layer support (registry + registrar)
- TLD queries for top-level domain information
- IPv4 and IPv6 address queries
- CIDR network range queries (e.g.,
8.8.8.0/24) - AS number queries (with or without “AS” prefix)
- Entity (contact) queries
- Nameserver queries
- Search queries for domains, entities, and nameservers
Smart Features
Auto-Detection
Query type is automatically detected - just type
rdap 8.8.8.8 and the tool knows it’s an IP addressBootstrap Discovery
Automatically finds the authoritative RDAP server using IANA’s bootstrap service
Multi-Layer Queries
For domains, automatically follows referrals from registry to registrar for complete information
Configuration & Customization
- Zero-config usage with built-in defaults embedded in the binary
- TLD overrides for ccTLDs not in IANA bootstrap
- Custom RDAP servers via command-line flag
- Local override files (
*.local.json) that survive updates - Update command to fetch latest configs from GitHub
Configuration files are loaded with priority: local overrides → user config → system config → built-in defaults
Use Cases
Network Operations
- Investigate network abuse by quickly finding abuse contacts
- Verify IP allocation and ownership
- Check AS number routing information
Domain Management
- Monitor domain expiration dates
- Verify nameserver configurations
- Check DNSSEC status
- Audit registrar information
Security Research
- Investigate suspicious domains or IPs
- Track infrastructure ownership
- Correlate registration data across resources
Automation & Integration
- Use as a Rust library in your applications
- Parse JSON output for pipeline integration
- Build custom tools on top of the RDAP API
Architecture Overview
The project is structured as both a library (rdap crate) and a CLI tool:
RFC Compliance
This implementation follows official RDAP specifications:- RFC 7480 - HTTP Usage in RDAP
- RFC 7482 - RDAP Query Format
- RFC 7483 - JSON Responses for RDAP
- RFC 7484 - Finding the Authoritative RDAP Service
- RFC 6350 - vCard Format
- RFC 7095 - jCard (JSON representation of vCard)
Next Steps
Installation
Install the RDAP client using apt, brew, cargo, or from source
Quickstart
Get started with your first RDAP query in under 2 minutes
