

In this way, observers of the traffic are unable to decrypt this data without the server’s private key. The public key is advertised to the clients, who are then using it to encrypt a piece of data and send it to the server that is then used to generate the symmetric key. Typically, the server has a key pair, consisting of a public and a private key. TLS makes use of a key exchange algorithm in order to secury agree on a symmetric key that will be used to subsequently encrypt the data that will be exchanged. Fortunately, it still provides some ways for us to decrypt that data. For example, it is still capable of capturing some information that is not encrypted, such as the IP or TCP headers, but it is not capable of presenting the actual application data since they are transmitted in an encrypted form. However, when the underlying traffic is encrypted, then the capabilities of the tool become limited. As a result, it can help someone understand deeply the data exchanged between two systems. Apart from being able to capture data transmitted through a network interface, it is able to understand the major protocols and thus provide additional facilities to the user, such as parsing low-level protocol details and presenting them in a more user-friendly way on its user interface or assembling multiple packets into a coherent stream. Wireshark is one of the main tools used for inspection of network traffic. for troubleshooting or better understanding of intricate details of the underlying protocols. However, there are some benign cases where we are in control of one of the two sides of communication and we want to decrypt the encrypted traffic that is exchanged between them, e.g. TLS relies on a set of cryptographic mechanisms that prevent any eavesdropper from being able to see the actual data that are transferred between the two sides. TLS is one of the main protocols used to exchange data securely over an insecure network, such as the Internet.
