In this question we have a superficial explanation of vSeeds (seednodes), from the Bitcoin wiki, we have:

DNS Addresses Upon startup, if peer node discovery is needed, the client then issues DNS requests to learn about the addresses of other peer nodes. The client includes a list of host names for DNS services that are seeded. As-of May 17, 2012 the list (from chainparams.cpp ) includes:

bitseed.xf2.org dnsseed.bluematt.me seed.bitcoin.sipa.be dnsseed.bitcoin.dashjr.org seed.bitcoinstats.com

A DNS reply can contain multiple IP addresses for a requested name. Addresses discovered via DNS are initially given a zero timestamp, therefore they are not advertised in response to a "getaddr" request. Hard Coded "Seed" Addresses The client contains hard coded IP addresses that represent bitcoin nodes. These addresses are only used as a last resort, if no other method has produced any addresses at all. When the loop in the connection handling thread ThreadOpenConnections2() sees an empty address map, it uses the "seed" IP addresses as backup.

In the Bitcoin core code base it looks like this:

// Note that of those with the service bits flag, most only support a subset of possible options vSeeds.push_back(CDNSSeedData("bitcoin.sipa.be", "seed.bitcoin.sipa.be", true)); // Pieter Wuille, only supports x1, x5, x9, and xd vSeeds.push_back(CDNSSeedData("bluematt.me", "dnsseed.bluematt.me", true)); // Matt Corallo, only supports x9 vSeeds.push_back(CDNSSeedData("dashjr.org", "dnsseed.bitcoin.dashjr.org")); // Luke Dashjr vSeeds.push_back(CDNSSeedData("bitcoinstats.com", "seed.bitcoinstats.com", true)); // Christian Decker, supports x1 - xf vSeeds.push_back(CDNSSeedData("bitcoin.jonasschnelli.ch", "seed.bitcoin.jonasschnelli.ch", true)); // Jonas Schnelli, only supports x1, x5, x9, and xd vSeeds.push_back(CDNSSeedData("petertodd.org", "seed.btc.petertodd.org", true)); // Peter Todd, only supports x1, x5, x9, and xd

When you actually go to those addresses in a browser you get something unintelligible, such as this:

All close forks of Bitcoin have them in some way including Dogecoin here:

vSeeds.push_back(CDNSSeedData("dogecoin.com", "seed.dogecoin.com")); vSeeds.push_back(CDNSSeedData("multidoge.org", "seed.multidoge.org")); vSeeds.push_back(CDNSSeedData("multidoge.org", "seed2.multidoge.org")); vSeeds.push_back(CDNSSeedData("doger.dogecoin.com", "seed.doger.dogecoin.com"));

and here Litecoin:

vSeeds.push_back(CDNSSeedData("loshan.co.uk", "seed-a.litecoin.loshan.co.uk", true)); vSeeds.push_back(CDNSSeedData("thrasher.io", "dnsseed.thrasher.io", true)); vSeeds.push_back(CDNSSeedData("litecointools.com", "dnsseed.litecointools.com")); vSeeds.push_back(CDNSSeedData("litecoinpool.org", "dnsseed.litecoinpool.org")); vSeeds.push_back(CDNSSeedData("koin-project.com", "dnsseed.koin-project.com"));

The question is, what are they exactly, i.e. what data do they provide, in what format? How are they configured?

Would I be able to create seednodes out of docker containers for a new network?

What tools could I use to query those nodes listed earlier?

Does anyone have a reference implementation for one of these?