Wireshark localhost traffic capture [закрыто]


118

Я написал простое серверное приложение на C, которое работает на localhost. Как захватить трафик localhost с помощью Wireshark?


3
Я стар, но все же голосую за повторное открытие из соображений согласованности. Это правильный вопрос, и ИМХО достаточно узкий (конкретная проблема - "localhost")
Марсель

Ответы:


69

Если вы используете Windows, это невозможно - читайте ниже. Вместо этого вы можете использовать локальный адрес своей машины, и тогда вы сможете захватывать материалы. См. CaptureSetup / Loopback .

Резюме: вы можете выполнять захват на интерфейсе обратной связи в Linux, на различных BSD, включая Mac OS X, и на Digital / Tru64 UNIX, и вы можете сделать это на Irix и AIX, но вы определенно не можете сделать это на Solaris, HP ... - UX .

Хотя на странице упоминается, что это невозможно в Windows с использованием только Wireshark, на самом деле вы можете записать это, используя обходной путь, упомянутый в другом ответе .


РЕДАКТИРОВАТЬ: около 3 лет спустя этот ответ уже не совсем правильный. На связанной странице содержатся инструкции по захвату в интерфейсе обратной связи .


Ответ feuGene действительно работает.
GWLlosa

@GWLlosa Ага. Вы можете использовать локальный адрес вашего компьютера .
cnicutar

7
Я обнаружил, что недостаточно просто поместить свой собственный IP-адрес в wirehark вместо loopback; добавление маршрута было необходимо для работы в моей ситуации.
GWLlosa

1
Спасибо. В OS X интерфейс обратной петли - lo0. Похоже, выбор en1 или того, что у вас по умолчанию, не сработает.
sudo

Для настройки адаптера loopback я нашел это видео на YouTube. youtube.com/watch?v=KsWICPPO_N8
developer747

51

По какой-то причине ни один из предыдущих ответов в моем случае не помог, поэтому я опубликую кое-что, что помогло. Есть маленькая жемчужина под названием RawCap, которая может захватывать трафик localhost в Windows. Преимущества:

  • всего 17 кБ!
  • не нужны внешние библиотеки
  • чрезвычайно прост в использовании (просто запустите его, выберите интерфейс обратной петли и файл назначения и все)

После захвата трафика вы можете открыть его и нормально изучить в Wireshark. Единственный недостаток, который я обнаружил, заключается в том, что вы не можете устанавливать фильтры, т.е. вам нужно захватывать весь трафик localhost, который может быть большим. Также есть одна ошибка, касающаяся Windows XP SP 3.

Еще несколько советов:


1
Никакой настройки не требовалось и было довольно просто.
вибху

И вы можете заставить Wireshark мгновенно считывать вывод RawCap, обеспечивая захват в реальном времени. Подробности смотрите в моем ответе.
Ричард Кифер

48

На платформе Windows также можно захватить трафик localhost с помощью Wireshark. Что вам нужно сделать, так это установить адаптер обратной связи Microsoft , а затем понюхать его.


ciphor, вы успешно это сделали? это прямо противоречит ответу cnicutar.
feuGene 08

да, у меня получилось.
ciphor 08

И как? Не получилось.
schlamar

18
У меня это все равно работает на Win 7. Диспетчер устройств -> Добавить устаревшее оборудование -> Я выберу -> Сеть -> Microsoft -> Адаптер Loopback. После его установки настройте его с помощью IP-адреса по вашему выбору. Затем: переустановите wirehark, чтобы он переустановил драйвер захвата на новом интерфейсе - это должно выполняться каждый раз, когда вы добавляете новые интерфейсы в Windows, loopback или real.
antiduh 02

4
Следовал инструкциям @antiduh в Win 7, и хотя я видел некоторые запросы netbios, я не видел HTTP-трафик на localhost.
Карлос Рендон

26

На самом деле я этого не пробовал, но этот ответ из Интернета звучит многообещающе:

Wireshark не может захватывать локальные пакеты в Windows XP из-за природы стека TCP Windows. Когда пакеты отправляются и принимаются на одном компьютере, кажется, что они не пересекают границу сети, которую отслеживает wirehark.

Однако есть способ обойти это, вы можете направить локальный трафик через сетевой шлюз (маршрутизатор), установив (временный) статический маршрут на вашем компьютере с Windows XP.

Скажем, ваш IP-адрес XP - 192.168.0.2, а адрес вашего шлюза (маршрутизатора) - 192.168.0.1, вы можете запустить следующую команду из командной строки Windows XP, чтобы заставить весь локальный трафик выходить и возвращаться через границу сети, чтобы wirehark мог затем отслеживать data (обратите внимание, что в этом сценарии wirehark будет сообщать о пакетах дважды: один раз, когда они покидают ваш компьютер, и один раз, когда они возвращаются).

route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1

http://forums.whirlpool.net.au/archive/1037087 , доступ открыт только что.


6
Я попробовал это и обнаружил, что это очень хорошо работает.
GWLlosa

не работает на win 7 32bit
vantrung -cuncon

11

Попробуйте Npcap: https://github.com/nmap/npcap , он основан на WinPcap и поддерживает захват трафика с обратной связью в Windows. Npcap - это подпроект Nmap ( http://nmap.org/ ), поэтому, пожалуйста, сообщайте о любых проблемах в списке разработчиков Nmap ( http://seclists.org/nmap-dev/ ).


Вариант №1 из документации Starting from Windows Vista: Npcap is an update of WinPcap using NDIS 6 Light-Weight Filter (LWF), done by Yang Luo for Nmap project during Google Summer of Code 2013 and 2015. Npcap has added many features compared to the legacy WinPcap.
wirehark

Вы можете скачать установщик отсюда: nmap.org/npcap
Уэйн Фиппс,

2
Приятно знать, что NPcap имеет некоторые лицензионные ограничения для использования в бизнес-средах.
Ян Смрчина

10

Вы можете просматривать петлевой трафик в режиме реального времени в Wireshark, если он мгновенно считывает вывод RawCap . cmaynard описывает этот гениальный подход на форумах Wireshark . Я процитирую это здесь:

[...] если вы хотите просматривать текущий трафик в Wireshark, вы все равно можете сделать это, запустив RawCap из одной командной строки и запустив Wireshark из другой. Предполагая, что у вас есть хвост cygwin, это можно сделать примерно так:

cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap

cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -

Для этого требуется хвост cygwin, и я не смог найти способ сделать это с помощью готовых инструментов Windows. Его подход отлично работает для меня и позволяет мне использовать все возможности фильтрации Wiresharks для захваченного кольцевого трафика в реальном времени.


3
Для меня важной частью было запустить вторую команду cmd с некоторой задержкой, иначе Wireshark не смог бы прочитать файл .pcap. Предположительно, потому что для начала в нем должен быть какой-то записанный трафик.
Ричард Кифер

Это должен быть принятый ответ (достаточно запустить cmd2 из git bash)
fider

4
Обновление : Netresec анонсировала сегодня (30 января 2020 г.) новую версию RawCap, которая теперь поддерживает запись в канал или в stdout. Таким образом, на сегодняшний день решение, представленное выше, можно упростить следующим образом без tailнеобходимости: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k Подробнее о новых функциях RawCap можно прочитать на странице объявления RawCap Redux здесь: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
Кристофер Мейнард

8

Для Windows ,

Вы не можете захватывать пакеты для Local Loopback в Wireshark, однако вы можете использовать очень маленькую, но полезную программу RawCap ;

RawCap

Запустите RawCap в командной строке и выберите Loopback Pseudo-Interface (127.0.0.1), затем просто напишите имя файла захвата пакетов ( .pcap )

Простая демонстрация приведена ниже;

C:\Users\Levent\Desktop\rawcap>rawcap
Interfaces:
 0.     169.254.125.51  Local Area Connection* 12       Wireless80211
 1.     192.168.2.254   Wi-Fi   Wireless80211
 2.     169.254.214.165 Ethernet        Ethernet
 3.     192.168.56.1    VirtualBox Host-Only Network    Ethernet
 4.     127.0.0.1       Loopback Pseudo-Interface 1     Loopback
Select interface to sniff [default '0']: 4
Output path or filename [default 'dumpfile.pcap']: test.pcap
Sniffing IP : 127.0.0.1
File        : test.pcap
Packets     : 48^C

6

Вы не можете захватить loopback в Solaris, HP-UX или Windows, однако вы можете очень легко обойти это ограничение, используя такой инструмент, как RawCap .

RawCap может захватывать необработанные пакеты с любого IP-адреса, включая 127.0.0.1(localhost / loopback). Rawcap также может сгенерировать pcapфайл. Вы можете открыть и проанализировать pcapфайл с помощью Wireshark .

См. Здесь для получения полной информации о том, как контролировать localhost с помощью RawCap и Wireshark.


2

Да, вы можете отслеживать трафик localhost с помощью адаптера обратной связи Npcap.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.