Analiza warstwy aplikacji (HTTP, DNS, SSL/TLS)
HTTP i HTTPS
Wireshark pozwala na analizę ruchu HTTP i HTTPS, co jest przydatne do diagnostyki aplikacji webowych.
- Filtrowanie żądań HTTP:
http.request - Filtrowanie odpowiedzi HTTP:
http.response - Analiza ruchu HTTPS wymaga odszyfrowania warstwy TLS — patrz sekcja SSL/TLS poniżej.
DNS (Domain Name System)
Analiza pakietów DNS pozwala zobaczyć, jakie domeny są odwiedzane przez użytkownika.
- Wyświetlanie tylko ruchu DNS:
dns - Znalezienie konkretnej domeny:
dns.qry.name contains "example.com"
SSL/TLS (Secure Socket Layer/Transport Layer Security)
Szyfrowane połączenia TLS mogą być analizowane pod kątem ich negocjacji i certyfikatów.
- Filtrowanie pakietów TLS:
tls - Odszyfrowanie ruchu w praktyce: import klucza prywatnego serwera działa tylko dla starszych, statycznych trybów RSA. Współczesny ruch (TLS 1.3 oraz (EC)DHE w TLS 1.2) używa kluczy efemerycznych, więc jedyną skuteczną metodą jest przechwycenie sekretów sesji w momencie ich negocjacji:
- ustaw zmienną środowiskową
SSLKEYLOGFILEprzed uruchomieniem przeglądarki/aplikacji — obsługiwana przez Chrome, Firefox i inne; - wskaż ten plik w Wiresharku:
Edit → Preferences → Protocols → TLS → (Pre)-Master-Secret log filename; - we Firefoksie i Chrome nie trzeba niczego dodatkowo instalować — wystarczy sama zmienna środowiskowa, Wireshark na bieżąco odczytuje dopisywane do pliku sekrety.
- ustaw zmienną środowiskową