-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
So far Sniffnet has always retrieved domain names simply by performing reverse DNS lookups.
This is problematic because most of the times servers involved in the network connections are behind CDNs that are owned by third party providers, and performing a rDNS will reveal the name of that provider instead the name of the server we're receiving data from.
To partially fix this, we can parse the SNI (Server Name Indication) that is a TLS extension reporting the name of the original server.
Such extension can be found in ClientHello
messages.
When this particular extension isn't available or a connection isn't using TLS, we can fallback to use reverse DNS.
Implementing this feature doesn't only require parsing the SNI, but also needs to come up with a new strategy to map IP addresses to network hosts: it will no longer be possible to associate an IP to a unique name, since behind the same IP there could be multiple servers with different names.