Вопрос или проблема
Я пытаюсь определить, с какими https-сайтами общается мой компьютер. Я понимаю, что когда я ввожу такой веб-сайт, как www.bestbuy.com, происходит вызов DNS, получается IP-адрес веб-сайта, а затем все оставшиеся коммуникации с этим IP-адресом шифруются.
Учитывая, что IP-адрес целевого сервера все еще виден, его можно перевести в фактический веб-сайт, используя обратный поиск DNS.
Я установил ‘Разрешить сетевые (IP) адреса’ и т.д. на истину в настройках. Затем я ввожу фильтр отображения tcp.port == 443 && ip.dst_host == “bestbuy.com”, но при вводе www.bestbuy.com в браузере не появляется никаких пакетов, хотя веб-сайт загружается в моем браузере.
Что я делаю неправильно в Wireshark?
Опция “Разрешить сетевые адреса” использует DNS для запроса записи PTR
(“указатель”) для данного IP-адреса. Данные, которые возвращаются из DNS для записи PTR
, могут быть любыми, и часто это ничего.
Если вы получите ответ, данные, содержащиеся в записи PTR
, обычно просто информационные. Чаще всего они не соответствуют реальной записи DNS.
Таким образом, вы, вероятно, не добьетесь большого успеха в использовании их для сопоставления разговоров в Wireshark с доменными именами.
Вы, вероятно, ничего не делаете неправильно, но обратное сопоставление не обязательно должно совпадать с прямым сопоставлением.
Bestbuy использует Akami CDN, поэтому www.bestbuy.com для меня указывает на 23.32.24.193
, который разрешается в a23-32-24-193.deploy.static.akamaitechnologies.com.
. Это может быть общим с сотнями или тысячами других веб-сайтов, также использующих Akami.
Ответ или решение
Вопрос о том, как определить посещаемые сайты через HTTPS, волнует многих специалистов в области информационных технологий и сетевой безопасности. На первый взгляд может показаться, что это простая задача, но фактическая реализация требует понимания некоторых ключевых аспектов работы протоколов и инструментов анализа сетевого трафика.
Фундаментальные аспекты HTTPS и DNS
Когда пользователь вводит адрес в браузере, например, www.bestbuy.com, происходит несколько последовательных шагов: сначала выполняется DNS-запрос, который возвращает IP-адрес, затем устанавливается защищенное соединение через HTTPS. На этом этапе все данные, передаваемые между клиентом и сервером, зашифрованы, что делает невозможным их просмотр без соответствующих инструментов.
Важно отметить, что вы по-прежнему можете видеть IP-адрес назначения, даже если HTTPS шифрует содержимое. Но использование IP-адреса для обратного сопоставления с доменным именем (через обратный DNS-запрос) может вызвать сложности, так как PTR-записи (указывающие на адреса) не всегда точно соотносятся с именами хостов и зачастую содержат лишь информационную нагрузку.
Проблемы с фильтрацией в Wireshark
Ваши попытки задать фильтры в Wireshark, такие как tcp.port == 443 && ip.dst_host == "bestbuy.com"
, могут не выдавать результатов, потому что:
-
HTTPS шифрование: Все содержимое, передаваемое через HTTPS, защищено и не может быть расшифровано без соответствующих ключей. Это значит, что вы не сможете видеть, какие именно страницы открываются на сайте.
-
Общий IP-адрес: Как вы верно подметили, большого числа ресурсов на уровне IP могут использоваться множеством сайтов (например, через CDNs, такие как Akamai). Это делает обратное сопоставление менее надежным.
-
Настройки Wireshark: Возможно, вы не получаете пакеты из-за неверной настройки фильтров. Убедитесь, что Wireshark настроен на захват трафика в нужном интерфейсе и что вы правильно задаете фильтры.
Рекомендации по анализу HTTPS-трафика
Для более эффективного анализа трафика HTTPS вы можете использовать несколько методов:
-
TLS/SSL-расшифровка: Настройте браузер для использования захвата трафика с использованием своих ключей шифрования. Это требует некоторого изменения настроек браузера и сервера, но позволит вам расшифровать и анализировать содержимое запросов.
-
Анализ метаданных: Если расшифровка не подходит, вы можете сосредоточиться на анализе метаданных: IP-адресов, временных меток и размеров пакетов. Это даст вам общее представление о типах запросов и их частоте.
-
Использование других инструментов: Рассмотрите возможность использования специализированных инструментов для анализа сетевого трафика, таких как Fiddler или mitmproxy, которые могут упрощать задачу получения информации о HTTPS-трафике, особенно в случае веб-приложений.
Заключение
Итак, анализ трафика HTTPS представляет собой сложную задачу. Тем не менее, имея правильные настройки и инструменты, вы сможете собрать полезную информацию и понять, с какими сайтами взаимодействует ваше устройство. Понимание сетевой архитектуры и протоколов поможет вам лучше справляться с подобными задачами в будущем.