{{tag>network}}

====== Wireshark сетевой сканер ======

{{:wireshark_3.gif?300|}}

====== Tcpdump + TLS ======

<code bash>
$ tcpdump -i eth0 -n -s 0 port 1720 and net xxx.xxx.107.0/24 -vvv -w /tmp/tcpdumplog-logfile.log
</code>

Использование закрытого ключа сервера:
  * **Получите закрытый ключ**: получите закрытый ключ RSA сервера, участвующего в SSL/TLS-соединении. Ключ должен быть в формате PEM и без парольной фразы.
  * **Настройте Wireshark**: В Wireshark перейдите в **Edit > Preferences > Protocols > TLS**.
  * **Добавьте ключ RSA**: Нажмите «Изменить» рядом со «Списком ключей RSA» и добавьте закрытый ключ сервера, указав IP-адрес, порт, протокол (например, http для HTTPS) и путь к файлу ключа. 
  * **Открыть захваченный файл**: открыть .pcap захваченный файл tcpdump в Wireshark.
  * **Анализ**: Wireshark попытается расшифровать трафик, используя предоставленный закрытый ключ, что позволит вам просмотреть незашифрованные данные приложения (например, поток HTTP).

Использование файла журнала Pre-Master-Secret (для расшифровки на стороне клиента):
  * **Создайте файл журнала**: установите **SSLKEYLOGFILE** переменную окружения перед запуском браузера или приложения, инициирующего SSL/TLS-соединение. Это заставит приложение регистрировать предварительные секретные ключи, используемые для шифрования сеанса.
  * **Захват трафика**: Запустите tcpdumpWireshark (или непосредственно Wireshark), чтобы захватить трафик во время работы приложения и создать файл журнала.
  * **Настройте Wireshark**: В Wireshark перейдите в **Edit > Preferences > Protocols > TLS**.
  * **Загрузите файл журнала**: в разделе «(Pre)-Master-Secret log filename» выберите сгенерированный файл журнала. 
  * **Открыть захваченный файл**: открыть захваченный .pcapфайл.
  * **Анализ**: Wireshark будет использовать предварительные главные секреты для расшифровки трафика.

===== POP3 / IMAP =====

Как перехватить пароль почты (pop3/imap)

==== POP3 ====

  pop.request.command == "USER" || pop.request.command == "PASS"
  
==== IMAP ====

  imap.request contains "login"
  
==== SMTP ====
  
  smtp.req.command == "AUTH"  