Napisałem prostą aplikację serwerową w C, która działa na hoście lokalnym. Jak przechwycić ruch lokalnego hosta za pomocą Wireshark?
Napisałem prostą aplikację serwerową w C, która działa na hoście lokalnym. Jak przechwycić ruch lokalnego hosta za pomocą Wireshark?
Odpowiedzi:
Jeśli używasz systemu Windows, nie jest to możliwe - przeczytaj poniżej. Zamiast tego możesz użyć lokalnego adresu swojej maszyny, a wtedy będziesz mógł przechwytywać rzeczy. Zobacz CaptureSetup / Loopback .
Podsumowanie: możesz przechwytywać w interfejsie sprzężenia zwrotnego w systemie Linux, na różnych BSD, w tym w systemie Mac OS X oraz w systemie Digital / Tru64 UNIX, i możesz to zrobić na Irix i AIX, ale zdecydowanie nie możesz tego zrobić na Solarisie, HP UX ... .
Chociaż na stronie wspomniano, że nie jest to możliwe w systemie Windows przy użyciu samego programu Wireshark, w rzeczywistości można to nagrać, stosując obejście, jak wspomniano w innej odpowiedzi .
EDYCJA: Jakieś 3 lata później ta odpowiedź nie jest już całkowicie poprawna. Strona, do której prowadzi łącze, zawiera instrukcje dotyczące przechwytywania w interfejsie sprzężenia zwrotnego .
Z jakiegoś powodu żadna z poprzednich odpowiedzi nie zadziałała w moim przypadku, więc opublikuję coś, co załatwiło sprawę. Jest mały klejnot o nazwie RawCap, który może przechwytywać ruch lokalnego hosta w systemie Windows. Zalety:
Po przechwyceniu ruchu możesz go otworzyć i normalnie sprawdzić w Wireshark. Jedyną wadą, którą znalazłem, jest to, że nie możesz ustawić filtrów, tj. Musisz przechwytywać cały ruch localhost, który może być ciężki. Istnieje również jeden błąd dotyczący systemu Windows XP SP 3.
Jeszcze kilka porad:
Na platformie Windows możliwe jest również przechwytywanie ruchu lokalnego hosta za pomocą Wireshark. Musisz zainstalować adapter sprzężenia zwrotnego firmy Microsoft , a następnie go podsłuchać.
Właściwie tego nie próbowałem, ale ta odpowiedź z sieci brzmi obiecująco:
Wireshark nie może faktycznie przechwytywać lokalnych pakietów w systemie Windows XP ze względu na naturę stosu TCP systemu Windows. Gdy pakiety są wysyłane i odbierane na tej samej maszynie, nie wydają się przekraczać granic sieci, które monitoruje wireshark.
Istnieje jednak sposób na obejście tego problemu, możesz skierować ruch lokalny za pośrednictwem bramy sieciowej (routera), konfigurując (tymczasową) trasę statyczną na komputerze z systemem Windows XP.
Powiedzmy, że twój adres IP XP to 192.168.0.2, a adres bramy (routera) to 192.168.0.1, możesz uruchomić następujące polecenie z wiersza poleceń systemu Windows XP, aby wymusić cały ruch lokalny na zewnątrz i z powrotem przez granicę sieci, aby wireshark mógł następnie śledzić data (pamiętaj, że w tym scenariuszu wireshark zgłosi pakiety dwukrotnie, raz po opuszczeniu komputera i raz po powrocie).
route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1
http://forums.whirlpool.net.au/archive/1037087 , dostęp właśnie teraz.
Wypróbuj Npcap: https://github.com/nmap/npcap , jest oparty na WinPcap i obsługuje przechwytywanie ruchu zwrotnego w systemie Windows. Npcap jest podprojektem Nmapa ( http://nmap.org/ ), więc prosimy o zgłaszanie wszelkich problemów na liście rozwoju Nmapa ( 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.
Możesz przeglądać ruch sprzężenia zwrotnego na żywo w Wireshark, odczytując natychmiast wyjście RawCap . cmaynard opisuje to genialne podejście na forach Wireshark . Zacytuję to tutaj:
[...] jeśli chcesz zobaczyć ruch na żywo w Wireshark, nadal możesz to zrobić, uruchamiając RawCap z jednej linii poleceń i uruchamiając Wireshark z innego. Zakładając, że masz dostępny ogon cygwina, można to osiągnąć za pomocą czegoś takiego:
cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap
cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -
Wymaga ogona cygwina i nie mogłem znaleźć sposobu, aby to zrobić za pomocą gotowych do użycia narzędzi systemu Windows. Jego podejście działa dla mnie bardzo dobrze i pozwala mi wykorzystać wszystkie możliwości filtrów Wiresharksa na przechwyconym ruchu zwrotnym na żywo.
stdout
. Dlatego na dzień dzisiejszy powyższe rozwiązanie można uprościć w następujący sposób, bez tail
konieczności: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k
Możesz przeczytać więcej o nowych funkcjach RawCap na stronie z ogłoszeniami RawCap Redux tutaj: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
Dla systemu Windows ,
Nie można przechwytywać pakiety dla lokalnego sprzężenia zwrotnego w Wireshark można jednak stosować bardzo małe, ale przydatny program o nazwie RawCap ;
Uruchom RawCap w wierszu poleceń i wybierz Loopback Pseudo-Interface (127.0.0.1), a następnie po prostu wpisz nazwę pliku przechwytywania pakietów ( .pcap )
Proste demo jest jak poniżej;
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
Nie można przechwytywać sprzężenia zwrotnego w systemie Solaris, HP-UX lub Windows, jednak można bardzo łatwo obejść to ograniczenie, używając narzędzia takiego jak RawCap .
RawCap może przechwytywać surowe pakiety na dowolnym adresie IP, w tym 127.0.0.1
(localhost / loopback). Rawcap może również wygenerować pcap
plik. Możesz otworzyć i przeanalizować pcap
plik za pomocą Wireshark .
Zobacz tutaj, aby uzyskać szczegółowe informacje na temat monitorowania hosta lokalnego za pomocą RawCap i Wireshark.