Захоплення трафіку локальним хостом Wireshark [закрито]


117

Я написав простий серверний додаток на C, який працює на localhost. Як захопити трафік localhost за допомогою Wireshark?


3
Хоча я стара, я все ще голосую за повторне відкриття з міркувань послідовності. Це справедливе запитання, і IMHO досить вузький (конкретна проблема - "localhost")
Marcel

Відповіді:


69

Якщо ви використовуєте Windows, це неможливо - читайте нижче. Ви можете скористатися локальною адресою машини, і тоді ви зможете фіксувати речі. Див. Розділ CaptureSetup / Loopback .

Резюме: ви можете захопити на кільцевому інтерфейсі на Linux, на різних BSDs , включаючи Mac OS X, і на Digital / Tru64 UNIX, і ви можете бути в змозі зробити це на Irix і AIX, але ви напевне не можете зробити це на Solaris, HP -УК… .

Хоча на сторінці згадується, що це неможливо в Windows тільки за допомогою Wireshark, ви можете насправді записати це за допомогою вирішення, як згадується в іншій відповіді .


EDIT: Через 3 роки ця відповідь вже не є абсолютно правильною. Пов'язана сторінка містить інструкції щодо захоплення в інтерфейсі зворотного зв'язку .


Відповідь feuGene насправді працює.
GWLlosa

@GWLlosa Yup Ви можете використовувати локальну адресу вашої машини .
cnicutar

7
Я виявив, що недостатньо просто поставити власний IP-код у дротяну замість петлі; додавання маршруту було необхідним для того, щоб він працював у моїй ситуації.
GWLlosa

1
Дякую. В OS X інтерфейсом зворотного зв'язку є lo0. Здається, вибір en1 або все, що за замовчуванням, не спрацює.
судо

Для налаштування адаптера петлі, я вважаю це відео на YouTube корисним. youtube.com/watch?v=KsWICPPO_N8
developer747

51

Чомусь жодна з попередніх відповідей не працювала в моєму випадку, тому я опублікую щось, що зробило трюк. Існує маленька коштовність під назвою RawCap, яка може захоплювати трафік localhost в Windows. Переваги:

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

Після того, як трафік буде захоплений, ви можете відкрити його і перевірити в Wireshark нормально. Єдиний недолік, який я виявив, - це те, що ви не можете встановити фільтри, тобто ви повинні захопити весь локальний хост, який може бути великим. Також є одна помилка щодо Windows XP SP 3.

Трохи більше порад:


1
не потрібна установка і була досить простою.
vibhu

І ви можете змусити Wireshark миттєво прочитати вихідні дані RawCap, що дасть вам можливість живого захоплення. Детальну інформацію див. У моїй відповіді.
Річард Кіфер

48

На платформі Windows також можна фіксувати локальний трафік за допомогою Wireshark. Що вам потрібно зробити, це встановити адаптер петлі Microsoft , а потім обнюхати його.


шифоре, ти це успішно зробив? це прямо суперечить відповіді цинкутара.
feuGene

так, я це зробив успішно.
шифон

І як? Не спрацювало.
шламар

18
У мене це все працювало на Win 7. Диспетчер пристроїв -> Додати застаріле обладнання -> Я виберу -> Мережа -> Microsoft -> Адаптер петлі. Після встановлення налаштуйте його за допомогою IP-адреси, яку ви обрали. Потім: перевстановіть дротик, щоб він перевстановив драйвер захоплення в новому інтерфейсі - це потрібно зробити щоразу, коли ви додаєте нові інтерфейси до вікна, циклу або реального.
antiduh

4
Дотримуйтесь інструкцій @antiduh щодо Win 7, і хоча я бачив деякі запити netbios, я не бачив HTTP-трафік на localhost.
Карлос Рендон

26

Я насправді цього не намагався, але ця відповідь з Інтернету звучить багатообіцяюче:

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

Однак існує спосіб обходу цього маршруту, ви можете маршрутизувати локальний трафік через мережевий шлюз (маршрутизатор), встановивши (тимчасовий) статичний маршрут на вашому комп'ютері Windows XP.

Скажімо, ваша IP-адреса XP - 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 , доступ до якого зараз.


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.
проводки

Завантажити інсталятор можна тут: nmap.org/npcap
Wayne Phipps

2
Добре знати, що NPcap має деякі ліцензійні обмеження для використання в бізнес-середовищі.
Jan Smrčina

10

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

[...] якщо ви хочете переглянути трафік в Wireshark, ви все одно можете це зробити, запустивши RawCap з одного командного рядка та запустивши Wireshark з іншого. Якщо припустити, що у вас є хвіст цигувіна, це можна зробити, використовуючи щось подібне:

cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap

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

Для цього потрібен хвіст Кігвіна, і я не міг знайти способу зробити це за допомогою інструментів 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 -Редо
Крістофер Мейнард

8

Для Windows ,

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

RawCap

Run 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

Ви не можете зафіксувати зворотний зв'язок на Solaris, HP-UX або Windows, проте ви можете дуже легко обійти це обмеження, скориставшись таким інструментом, як RawCap .

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

Дивіться тут для отримання повної інформації про те, як відстежувати localhost за допомогою RawCap та Wireshark.


2

Так, ви можете відстежувати локальний трафік за допомогою адаптера петлі Npcap

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.