Skip to content

DNS probe

The DNS probe sends one or more queries to a DNS resolver. VirtuProbe implements the DNS wire protocol from scratch (RFC 1035 / RFC 3596) — no third-party DNS library is used, giving full control for testing and fuzzing.

DNS probe editor — resolver/port/UDP settings, query list with answer records

FieldDescription
ResolverDNS server hostname or IP (e.g. 8.8.8.8, 1.1.1.1)
PortServer port (default: 53)
Use UDPSend queries over UDP (default: on). When the server sets the TC (truncation) bit, VirtuProbe automatically retries over TCP. Disable to force TCP for all queries.

Each query is an independent DNS question sent in sequence to the same resolver.

FieldDescription
NameDomain name to resolve, e.g. example.com
TypeRecord type: A, AAAA, MX, CNAME, TXT, NS, PTR, SOA
Recursion DesiredSets the RD bit in the query (on by default)
Expected RCODEOptional assertion — 0 = NOERROR, 3 = NXDOMAIN, etc.

Queries can be reordered by dragging the handle on the left.

TypeDescription
AIPv4 address
AAAAIPv6 address
MXMail exchange (preference + hostname)
CNAMECanonical name alias
TXTFree-form text records (SPF, DKIM, etc.)
NSAuthoritative nameservers
PTRReverse DNS lookup (use x.x.x.x.in-addr.arpa format for the name)
SOAStart of authority — serial, refresh/retry/expire/minimum, primary NS

After sending, each query block shows the server’s RCODE and the returned records:

ColumnDescription
TypeRecord type chip
NameOwner name of the record
ValueParsed RDATA (IP, hostname, preference+host, text, etc.)
TTLTime-to-live in seconds

When no answers are returned (e.g. NXDOMAIN), the authority section is shown instead — typically a SOA record indicating the zone’s authoritative server.

Set an Expected RCODE on any query. Common values:

CodeNameMeaning
0NOERRORQuery answered successfully
1FORMERRFormat error in the query
2SERVFAILServer failed to complete the query
3NXDOMAINThe queried name does not exist
4NOTIMPQuery type not supported by the resolver
5REFUSEDResolver refused the query (policy)

If the actual RCODE differs from the expected value, the probe history entry is marked as failed and the query block shows a warning chip.

{{variable}} placeholders are supported in resolver and name fields.

The history panel shows the overall success/fail status and the resolver address for each past execution.

DNS history panel — expanded entry showing query blocks with answer records