Networking/Computing Tips/Tricks

QUIC banner2As explained in our prior article on QUIC, you may be seeing a lot of QUIC traffic in your packet captures.  Assuming you have read that article, and understand that all QUIC traffic is encrypted, you know the only way to see some of the details is using Chrome itself.  That does not mean that you can't use Wireshark as well.

Note: Google originally called this protocol "QUIC" as you can tell by the original logo, but now that original version is referred to as GQUIC, whereas the IETF has chosen to call the newer version they are working on as "QUIC" - confusing - yes - so when I saw QUIC here I am referring to Googles original QUIC protocol.

First, we have created a QUIC profile for Wireshark.  It is in our Profiles repository - you can find that repository here.  You will need to download and install that profile in your Wireshark personal configuration.

As you dive deeper into QUIC, you may want to refer to the detailed RFC drafts.  Surprisingly there are approximately 30 internet draft specifications dealine with QUIC.  You can find those drafts here.

Next, you will want to perform a simple capture on your computer by:

  1. Start Wireshark on your working Internet interface, making sure the QUIC profile is selected
  2. Open Chrome, and then going to Google's home page (www.google.com), and then click on the "I'm Feeling Lucky" button. 
  3. Stop the capture.

Using the profile, click on the Display Filter bookmark, and select the QUIC packets only filter:

 

You should now only see QUIC packets.  Let's discuss some of the columns I created (note here – I took the screenshots below before the protocol name changed to GQUIC – so while I updated my profile at the repository, I do not show the updates below – but it is easy to resolve – anywhere it says “quic” – simply change in your mind or on your latest version of Wireshark to “gquic” and you are good):

QUIC4

Knowing the source and destination ports in Layer 4 UDP is important so I have created UDP port columns.  QUIC uses the Ephemeral Port range, and it can have ports translated in NPAT without issue.  These ports are never the same, so you may find that firewall configuration may need to be flexible here.

Expand the QUIC header and you should see something like this:

QUIC7

QUIC uses connection identifiers to identify the various streams it is carrying.  Therefore I have a column for that identifier.  You can filter based on the connection identifiers.  There are multiple ways to do this, but one simple way is to click on the column header to sort!

Also there is a packet number that I extract as a column from the QUIC header.

The next thing to look at is once again in the Display filter pick list, it is the filter for QUIC client hello packets.  Select it and you should see something like this:

QUIC5 

These packets have some clear text that we can examine.

Expand the packet QUIC contents:

QUIC6

These Hello's define the stream 'personality'.  I align this to the TCP SYN and SYN-ACK options in my mind.  What we see is the much more complex and capable stream personality.  It is from this format that I have extracted things like the maximum number of streams column and the QUIC/GQUIC version information.

I hope this helps the reader get started using Wireshark and QUIC/GQUIC.

Comments?  Questions?

 

 

 

Comments powered by CComment

The nicest thing you can do is use these inks to support us!  Thank you!

Find by Tag

4G Networks 5G Networks 6in4 6LoWLAN 6LoWPAN 802.11 802.11ah 802.11ax 802.11ay 802.11az Addressing Analysis Ansible Architecture ARP AToM BGP Bloom's Taxonomy Broadband Cable cat CBRS CellStream Cellular Central Office Cheat Sheet Chrome Cisco Cloud Coloring Rules Computer Consulting CPI Customer Support Data Center Data Networking DHCPv6 DNS Docker Documentation Dublin-Traceroute dumpcap ECMP Ethernet Ethics Fragmentation G-MPLS Git GNS3 Google GQUIC Hands-On History Home Network ICMP ICMPv6 IEEE 802.11p IEEE 802.15.4 Interface Control Internet IoT IPsec IPv4 IPv6 IS-IS L2VPN L3VPN LDP Linux LLN LoL M-BGP MAC MAC OSx Macro Microsoft mininet Monitoring MPLS MTU Multicast My Room Name Resolution Netcat Netmiko NetMon netsh Networking Network Science nmap Npcap Online School OpenFlow OSPF OSPFv2 OSPFv3 OSX OTT Paris-Traceroute Parrot PIM pktmon PMTU Policy POTS POTS to Pipes PPP Profile Programming Project Management Protocol 41 PW3E Python QoS QUIC Remote Desktop Requirements RIP Routing RPL RSVP Rural SAS SDN Security Service Provider Small Business SONET Speed SS7 SSH SSL Subnetting SYSCTL T-Shark TCP TCP/IP Telco Telecom 101 Telecommunications Telephone termshark TLS Tools Traceroute Traffic Engineering Training Travel Tunnel Ubuntu Utility Video Virtualbox Virtualization VoIP VRF VXLAN Webex WEP Wi-Fi Wi-Fi 4 Wi-Fi 5 Wi-Fi 6 Wi-Fi 6/6E Windows Winpcap Wireless Wireless 5G Wireshark Wireshark Tip WLAN WPA2 Zenmap ZigBee Zoom

Support us by clicking:

Twitter Feed