Wireshark tip of the day: SSL handshake versions
Hypothetical scenario is that a user has disabled TLS < 1.2 and has sporadic SSL handshake failures. The suspected culprit is just a non-TLS 1.2 client, but people can be simultaneously skeptical and lazy. # Show TLSv1.2 client hellos tshark -Y "ssl.handshake.version == 0x303" -r ssl.cap # Show TLSv1.1 client hellos tshark -Y "ssl.handshake.version == 0x302" -r ssl.cap # Show TLSv1.0 client hellos tshark -Y "ssl.handshake.version == 0x301" -r ssl.cap Caution! It's easy to glance at wireshark/tshark output and be confused that all clients speak TLSv1.2. TLS has versioning at the outter record layer and also in the inner handshake messages. 99% of the time, the inner versioning is the important one. But wireshark will often display TLSv1.2 on the outter layer even when it's transmitted as 0x30 x00 because of some early ambiguity in specs. Net, don't look at the version in the Record twistie or the en...