nip.io (wildcard DNS)
nip.io is a free wildcard DNS service that maps any IP address to a hostname on the fly, without configuring anything. Any query for <anything>.<IP>.nip.io resolves to that IP:
10.0.0.1.nip.io → 10.0.0.1
app.192.168.1.50.nip.io → 192.168.1.50
It works by running an authoritative nameserver that parses the IP out of the queried name and answers with it — so any subdomain depth works. sslip.io is an equivalent alternative service with the same syntax (10.0.0.1.sslip.io).
Note the direction of the trick: this is not reverse DNS in the PTR-record sense. It hands you a forward-resolving hostname for an IP you control — which is exactly what several workflows demand a hostname for.
Why it matters
- TLS testing without DNS: many tools and certificate flows want a hostname, not an IP.
https://10.0.0.1.nip.iogives you a real DNS name pointing at a lab box — services like Let’s Encrypt have historically issued for nip.io/sslip.io names, enabling quick TLS labs. - Callback / OOB infrastructure: when a payload or SSRF target needs a hostname (some parsers reject bare IPs or treat them differently), a nip.io name pointing at your listener is a zero-config option.
- Bypassing naive URL filters: allowlists keyed on “looks like a domain” sometimes pass
*.nip.iowhere a bare IP would be flagged; conversely, defenders should treat wildcard-DNS domains as untrusted infrastructure indicators. - Local dev: mapping
myapp.127.0.0.1.nip.iolets multiple named vhosts hit a dev box with no/etc/hostsedits.
For actual reverse lookups (IP → PTR record), use dig -x $IP (see dig) or nslookup $IP (see nslookup).
Sources
Related
- dig — real reverse lookups with
-x, and zone-transfer recon - nslookup — the Windows-available DNS query tool
- python-http-server — a quick listener to point those wildcard names at