Захват сетевого трафика локальный трафик


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

8 99

8 ответов:

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

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


EDIT: спустя 3 года этот ответ уже не является полностью правильным. Связанная страница содержит инструкции по захвату на петлевой интерфейс.

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

http://support.microsoft.com/kb/839013

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

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

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

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

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

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

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

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

route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1

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

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

на Windows,

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

RawCap

Run RawCap on командная строка и выберите Loopback Псевдо-Интерфейс (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

вы можете просмотреть петлевой трафик в прямом эфире в 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 на захваченном циклическом трафике в прямом эфире.

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

RawCap может захватывать необработанные пакеты на любом ip, включая 127.0.0.1 (localhost / loopback). Rawcap также может генерировать . Вы можете открыть и проанализировать С Wireshark.

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