Sniffer для локального хоста (ОС Windows)
Я ищу сниффер, который может работать с адресом обратной связи в Windows.
До сих пор я нашел Microsoft Network Monitor, который является хорошим инструментом, но для localhost он бесполезен, потому что в Windows пакеты localhost не проходят через обычный сетевой стек, поэтому они невидимы для анализатора Ethernet, такого как MS Network Monitor.
Как вы отлаживаете приложения, которые отправляют данные в петлевом механизме? Любые хорошие (с открытым исходным кодом) снифферы, которые могут работать с localhost?
ОБНОВЛЕНИЕ: Если у вас есть опыт работы с инструментом, было бы неплохо иметь краткое описание для дальнейшего использования
5 ответов
Я столкнулся с этой проблемой и ничего не получил после долгих исследований. В основном все доступные снифферы полагаются на стек сетевых драйверов, и Windows не предоставляет через него вызовы локального хоста.
В конечном итоге я использовал инструмент SocketSniffer, который просматривает вызовы Winsock и отслеживает соединения через сокеты TCP, UDP. Это помогло мне отладить проблему приложения, которая возникала только в win 2k3.
Его сайт загрузки находится по адресу http://www.nirsoft.net/utils/socket_sniffer.html
Обратите внимание, что это больше не работает в Windows 8. Теперь Microsoft Message Analyzer способен анализировать петлевой трафик из коробки. Официальное сообщение в блоге здесь: http://blogs.msdn.com/b/winsdk/archive/2014/08/15/rejoice-we-can-now-capture-loopback-traffic.aspx
Для Windows доступен новый инструмент, который может захватывать сетевой трафик loopback / localhost. Он называется RawCap и доступен здесь: http://www.netresec.com/?page=RawCap
Просто запустите RawCap следующим образом, чтобы прослушать интерфейс обратной связи: RawCap.exe 127.0.0.1 localhost.pcap
Затем вы можете открыть localhost.pcap в Wireshark или любом другом анализаторе pcap для просмотра захваченного трафика.
Btw. RawCap не только способен прослушивать петлевой трафик в Windows, но также может анализировать ваш интерфейс WiFi, а также интерфейсы PPP, такие как соединения 3G/UMTS.
Я полагаю, что вы можете сделать http://localhost/ (обратите внимание на точку в конце), чтобы заставить пакеты localhost через обычный сетевой стек.
Это работает для того, чтобы http был распознан таким инструментом, как fiddler - не уверен насчет других протоколов.
У меня возникла такая проблема, когда я хочу отслеживать трафик на localhost после настройки на нем SelfSSL. После поиска других полезных инструментов я обнаружил, что fidllre как-то подходит для моей проблемы, вы должны попробовать этот Fiddler для Http и Https
Надеюсь, это поможет вам!
Я бы порекомендовал Wireshark, он может подключаться к любому сетевому устройству и предлагает несколько полезных утилит для анализа трафика, плюс это бесплатное программное обеспечение.