Я написав простий серверний додаток на C, який працює на localhost. Як захопити трафік localhost за допомогою Wireshark?
Я написав простий серверний додаток на C, який працює на localhost. Як захопити трафік localhost за допомогою Wireshark?
Відповіді:
Якщо ви використовуєте Windows, це неможливо - читайте нижче. Ви можете скористатися локальною адресою машини, і тоді ви зможете фіксувати речі. Див. Розділ CaptureSetup / Loopback .
Резюме: ви можете захопити на кільцевому інтерфейсі на Linux, на різних BSDs , включаючи Mac OS X, і на Digital / Tru64 UNIX, і ви можете бути в змозі зробити це на Irix і AIX, але ви напевне не можете зробити це на Solaris, HP -УК… .
Хоча на сторінці згадується, що це неможливо в Windows тільки за допомогою Wireshark, ви можете насправді записати це за допомогою вирішення, як згадується в іншій відповіді .
EDIT: Через 3 роки ця відповідь вже не є абсолютно правильною. Пов'язана сторінка містить інструкції щодо захоплення в інтерфейсі зворотного зв'язку .
Чомусь жодна з попередніх відповідей не працювала в моєму випадку, тому я опублікую щось, що зробило трюк. Існує маленька коштовність під назвою RawCap, яка може захоплювати трафік localhost в Windows. Переваги:
Після того, як трафік буде захоплений, ви можете відкрити його і перевірити в Wireshark нормально. Єдиний недолік, який я виявив, - це те, що ви не можете встановити фільтри, тобто ви повинні захопити весь локальний хост, який може бути великим. Також є одна помилка щодо Windows XP SP 3.
Трохи більше порад:
На платформі Windows також можна фіксувати локальний трафік за допомогою Wireshark. Що вам потрібно зробити, це встановити адаптер петлі Microsoft , а потім обнюхати його.
Я насправді цього не намагався, але ця відповідь з Інтернету звучить багатообіцяюче:
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 , доступ до якого зараз.
Спробуйте Npcap: https://github.com/nmap/npcap , він заснований на WinPcap та підтримує захоплення зворотного трафіку в Windows. Npcap - це підпроект Nmap ( http://nmap.org/ ), тому повідомляйте про будь-які проблеми у списку розробок Nmap ( http://seclists.org/nmap-dev/ ).
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.
Ви можете переглянути трафік із зворотним зв'язком у прямому ефірі у 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 на захопленому циклічному трафіку.
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 -Редо
Для Windows ,
Ви не можете зафіксувати пакети для Local Loopback в Wireshark, проте ви можете використовувати дуже крихітну, але корисну програму під назвою 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
Ви не можете зафіксувати зворотний зв'язок на Solaris, HP-UX або Windows, проте ви можете дуже легко обійти це обмеження, скориставшись таким інструментом, як RawCap .
RawCap може захоплювати необроблені пакети на будь-якому ip, включаючи 127.0.0.1
(localhost / loopback). Rawcap також може генерувати pcap
файл. Ви можете відкрити та проаналізувати pcap
файл за допомогою Wireshark .
Дивіться тут для отримання повної інформації про те, як відстежувати localhost за допомогою RawCap та Wireshark.