DNS Packet Capture: DoT, DoH, DoQ, DoH3

While I was working on my presentation about “Secure DNS” for this year’s SharkFest, the Wireshark Developer and User Conference, I recognised that I’m still missing some DNS-related packet captures in the Ultimate PCAP, that is DNS over TLS and DNS over HTTPS. And while working on it with the DNSDiag toolkit (thanks, Babak!), I came across DNS over QUIC and DNS over HTTP/3. 😂 Here we go:

Please find the packets/sessions in the Ultimate PCAP with the following Display Filter, which filters for the used Do{T|H|Q|H3}-endpoints. For the sake of completeness, I also captured a standard UDP and TCP DNS session.

Also, refer to the packet comments of the first packet of each session, where I have listed the respective command.

Setup

For the DNS-servers, I primarily used the DNS4EU “Protective resolution” (UDP, TCP, DoT, DoH), while AdGuard DNS for DoQ and DoH3. Thanks to the DNSDiag tool “dnsping”, which supports all of those variants. (I used version 2.9.0 during my tests.) These were my six commands, each querying four times the A record of “heise.de”:

Here’s the complete log:

Wiresharking all the Stuff

Since the payload is encrypted in all four cases, it’s only the headers (TCP/UDP destination ports) and the TLS handshake, if present, that are of interest. Depending on the variant, you can see the Server Name Indication (SNI) and the server certificate.

As with the current Wireshark version 4.6.0, DoQ is decoded as DTLS, while it should be QUIC. (Feature request is out. Feature request implemented after less than 24 hours.) As a workaround, use the “Decode As…” function, as used in the screenshot:

Traffic Logs on a Palo

Just because I was curious, those are the detected applications as seen from a Palo Alto Networks firewall (without TLS interception), PAN-OS 11.2.9, Application Version 9034-9733 (10/27/25):

It is not surprising that none of the DNS sessions were recognised as ‘DNS’, since the user data is completely encrypted. It is also interesting to note that direct DoQ traffic on the well-known UDP port 853 was only recognised as ‘unknown-udp’, while DoH3, which also runs via QUIC, albeit on the ‘classic’ QUIC port UDP 443, was recognised accordingly.

Thanks for watching. ;)

RFCs

Appendix

Additionally, I added some more DoT and DoH packets to the Ultimate PCAP, originating from other tools: dig, as well as real user traffic from Firefox using DoH. Refer to the packet comments. For dig, I used the following commands:

Soli Deo Gloria!

Photo by Markus Winkler on Unsplash.

One thought on “DNS Packet Capture: DoT, DoH, DoQ, DoH3

Leave a Reply

Your email address will not be published. Required fields are marked *