Networking/Computing Tips/Tricks

Check out these great references as well: 

 Our custom profiles repository for Wireshark
 Our Udemy course on Wireshark 
 Our Udemy course on Wireless Packet capture

Whenever your web browser connects to a web server using HTTPS, a secure connection is established, keys are exchanged, and the traffic is encrypted.  We won't spend any time in this article describing that HTTPS process, instead we will focus on how you can decrypt the encrypted traffic using Wireshark.

There are a couple of environment constraints in this explanation:

  1. We are on Windows with administrative privileges 
  2. We are using the Chrome web browser

The step by step is illustrated in this video, followed by the instructions:

The steps I followed were (you must follow each of these steps):

  1. Windows Start> Environment Variables  (just start typing) - a System Properties dialogue will appear.
  2. Click on the Environment Variables button (bottom right) - an Environment Variables dialogue appears.
  3. On the top half of that dialogue (User Variables) - click New
  4. An input box appears, in the Variable Name field enter: "SSLKEYLOGFILE"
  5. In the Variable Value field enter a path to where you want to store the keys: "C:\keys\keys.log" as an example
  6. Click on OK - you should see the new variable in the list.
  7. Click on OK to close the Environment Variables dialogue.
  8. Click on OK to close the System Properties dialogue.
  9. Now Reboot.
  10. Once rebooted, launch either Chrome or Firefox.
  11. Open Wireshark and start a capture.
  12. In Wireshark, go to Edit> Preferences> Protocols> TLS
  13. In the Pre-Master Secret log filename box, browse to and select the file you created in Step 5.
  14. Click OK and close the dialogue. 

Back in Wireshark, you will see that Wireshark will now use the saved keys to decrypt anything your machine is capturing using that browser.

You can open the log file in a text editor.  You can search the log file for the client random field, and cut and paste the key pairs into a stand alone file and send them to another machine to decrypt the traffic elsewhere.

I hope this video helps and explains.  I welcome comments below. 

You may want to check on my separate article on SSL/TLS decryption using Key files here.

Comments powered by CComment

Did you learn something?
Did I save you time? 

Buy me a coffeeBuy me a coffee!

Find by Tag

4G Networks 5G Networks 6LoWLAN 6LoWPAN 802.11 802.11ah 802.11ax 802.11ay 802.11az ACL Addressing Analysis Ansible Architecture ARP AToM Backup Bandwidth BGP Bloom's Taxonomy Cable CBRS CellStream Cellular Central Office Cheat Sheet Chrome Cisco Clock Cloud Coloring Rules Computer Consulting CPI Data Center Data Networking Decryption DHCPv4 DHCPv6 DNS Documentation dumpcap ECMP EIGRP Ethernet Ethics Fiber Optics Flipping the Certification Model Fragmentation G-MPLS Git GNS3 Google GQUIC Hands-On History Home Network HTTPS ICMP ICMPv6 IEEE 802.11p IEEE 802.15.4 Internet IOS Classic IoT iPerf IP Mobility IPsec IP Spoofing IPv4 IPv6 IS-IS L2 Switch L2VPN L3VPN LDP Linux LLN Logging LoL M-BGP MAC Macro Microsoft mininet Monitoring Monitor Mode MPLS Multicast Name Resolution Netcat Netflow NetMon netsh Networking Network Science nmap Npcap Online Learning Online School OpenFlow OSPF OSPFv2 OSPFv3 OSX OTT Parrot PIM Ping Policy POTS POTS to Pipes PPP Profile Programming Project Management PW3E Python QoS QUIC Remote Desktop Requirements RIP Routing RPL RSVP Rural SAS SDN Security Security Associations Self Certification Service Provider Small Business Smartport SONET Speed SSH SSL Subnetting T-Shark TCP TCP/IP Telco Telecom 101 Telecommunications Telephone Telnet TLS Tools Traceroute Traffic Analysis Traffic Engineering Training Travel Tunnel Ubuntu Utility Video Virtualbox Virtualization VoIP VRF VXLAN Webex Wi-Fi Wi-Fi 6 Windows Wireless Wireless 5G Wireshark Wireshark Tip WLAN ZigBee Zoom

Twitter Feed