All Projects → redirect2me → Which Dns

redirect2me / Which Dns

Licence: agpl-3.0
Detects which DNS server is being used

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Which Dns

Domain
A DNS library for Rust
Stars: ✭ 37 (-89.72%)
Mutual labels:  resolver, dns
Aiodnsbrute
Python 3.5+ DNS asynchronous brute force utility
Stars: ✭ 370 (+2.78%)
Mutual labels:  resolver, dns
Sdns
Privacy important, fast, recursive dns resolver server with dnssec support
Stars: ✭ 658 (+82.78%)
Mutual labels:  resolver, dns
Unbound
Unbound is a validating, recursive, and caching DNS resolver.
Stars: ✭ 1,103 (+206.39%)
Mutual labels:  resolver, dns
C Ares
A C library for asynchronous DNS requests
Stars: ✭ 1,193 (+231.39%)
Mutual labels:  resolver, dns
flareon
🦊A cloudflare DNS over HTTPs resolver client library.
Stars: ✭ 14 (-96.11%)
Mutual labels:  resolver, dns
solvere
A validating recursive DNS resolver library and standalone server with DNSSEC support
Stars: ✭ 32 (-91.11%)
Mutual labels:  resolver, dns
resolve
Command line iterative DNS resolution testing program
Stars: ✭ 17 (-95.28%)
Mutual labels:  resolver, dns
Sonarsearch
A MongoDB importer and API for Project Sonars DNS datasets
Stars: ✭ 297 (-17.5%)
Mutual labels:  dns
Nacos
an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
Stars: ✭ 20,691 (+5647.5%)
Mutual labels:  dns
Toriptables2
Tor Iptables script is an anonymizer that sets up iptables and tor to route all services and traffic including DNS through the Tor network.
Stars: ✭ 287 (-20.28%)
Mutual labels:  dns
Dt
DNS tool - display information about your domain
Stars: ✭ 313 (-13.06%)
Mutual labels:  dns
Doh Server
Fast, mature, secure DoH server proxy written in Rust (doh-proxy).
Stars: ✭ 327 (-9.17%)
Mutual labels:  dns
Vinyldns
DNS Governance for streamlining DNS operations and enabling safe and secure DNS self-service
Stars: ✭ 293 (-18.61%)
Mutual labels:  dns
Open dnsdb
OpenDnsdb 是去哪儿网OPS团队开源的基于Python语言的DNS管理系统
Stars: ✭ 345 (-4.17%)
Mutual labels:  dns
Nps
一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.
Stars: ✭ 19,537 (+5326.94%)
Mutual labels:  dns
Zonemaster
The Zonemaster Project
Stars: ✭ 282 (-21.67%)
Mutual labels:  dns
Dnsbrute
a fast domain brute tool
Stars: ✭ 352 (-2.22%)
Mutual labels:  dns
Rbndr
Simple DNS Rebinding Service
Stars: ✭ 343 (-4.72%)
Mutual labels:  dns
Getaltname
Extract subdomains from SSL certificates in HTTPS sites.
Stars: ✭ 320 (-11.11%)
Mutual labels:  dns

Which DNS: DNS Resolver Detection Which DNS Logo

This is a combined DNS+HTTP server that shows which DNS server a computer is using.

How does it work?

  1. You make a request to a hostname with a unique prefix.
  2. All hostnames resolve to the same IP, but the DNS server records which IP address the query came from.
  3. The webserver looks for this record and returns it.

Using

My server is running at which.nameserve.rs.

Be forewarned: it is running on the cheapest box I could find with a static IP. You can hit it for light, non-commercial use. I specifically made the API be JSONP only (i.e. you need to provide a callback parameter), so if you abuse it, bad things will happen to your clients!

Make an HTTPS request to GUID.which.nameserve.rs/api.json?callback=myfunction. The GUID should be a unique string (not necessarily an actual GUID), different for every call. It will call myfunction with an object that has the following fields:

  • success - boolean if it succeeded or not
  • output - the result (if it succeeded)
  • message - the error message (if it failed)

You can see it in action on the home page of resolve.rs.

Running your own copy

You need a static IP address to run this server.

Then you need to decide on two host names:

  • hostname is the name of the subdomain that this server will own (for example: which.example.com)
  • nshostname is the name of the authoritative name server for the subdomain (for example: which-dns.example.com)

They will both be served by the same server and at the same IP address.

The following DNS records need to be added to the main domain (for the above examples this would be example.com):

  • A for the nshostname pointing to the static IP
  • NS for the hostname pointing to the nshostname

The program needs access to the following ports:

  • 53: for DNS
  • 80: for HTTP
  • 443: for HTTPS

The following parameters are required:

  • email: the email address for your account with Let's Encrypt (and the SOA record)
  • hostname: the hostname that you picked
  • ipaddress: the public IP address of the server
  • nshostname: the nshostname that you picked

License

GNU Affero General Public License v3.0

Credits

certmagic Digital Ocean Git Github golang GoatCounter Let's Encrypt svgrepo Ubuntu water.css

Alternatives

I wasn't the first person to come up with this idea. Here are some other public sites that do the same thing:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].