Korzystanie z Wireshark do zbadania ruchu FTP

Korzystanie z Wireshark do zbadania ruchu FTP
Poprzedni artykuł dostarczył Ci dogłębne zrozumienie filtrów Wireshark, warstw OSI, ICMP i analizy pakietów HTTP. W tym artykule dowiemy się, jak działa FTP, i zbadamy przechwytywanie FTP Wireshark. Zanim zagłębimy się głęboko w przechwyconą analizę pakietów, zaczniemy od krótkiego zrozumienia protokołu.

Ftp

FTP to protokół używany przez komputery do udostępniania informacji w sieci. Mówiąc najprościej, jest to sposób na udostępnianie plików między połączonymi komputerami. Ponieważ HTTP jest budowany dla stron internetowych, FTP jest zoptymalizowane pod kątem dużych transferów plików między komputerami.

Klient FTP najpierw buduje Połączenie kontrolne żądanie portu serwera 21. Połączenie kontrolne wymaga logowania do nawiązania połączenia. Ale niektóre serwery udostępniają wszystkie swoje treści bez żadnych poświadczeń. Takie serwery są znane jako anonimowe serwery FTP. Później osobny łącze danych jest ustanowiony do przesyłania plików i folderów.

Analiza ruchu FTP

Klient FTP i serwer komunikują się, jednocześnie nieświadomym, że TCP zarządza każdą sesją. TCP jest ogólnie używany w każdej sesji do kontrolowania dostawy, przybycia i zarządzania rozmiarem okien. Dla każdej wymiany danych TCP inicjuje nową sesję między klientem FTP a serwerem FTP. Dlatego rozpoczniemy naszą analizę od dostępnych informacji pakietu TCP dla inicjacji sesji i zakończenia sesji FTP w środkowym panelu.

Uruchom przechwytywanie pakietów z wybranego interfejsu i użyj ftp polecenie w terminalu, aby uzyskać dostęp do strony ftp.McAfee.com.

Ubuntu $ ubuntu: ~ $ ftp ftp.McAfee.com

Zaloguj się z twoimi poświadczeniami, jak pokazano na zrzucie ekranu poniżej.

Używać Ctrl+c Aby zatrzymać przechwytywanie i poszukać inicjacji sesji FTP, a następnie TCP [Syn], [Syn-ACK], I [Ack] Pakiety ilustrujące trójstronne uścisk dłoni do niezawodnej sesji. Zastosuj filtr TCP, aby zobaczyć pierwsze trzy pakiety w panelu listy pakietów.

Wireshark wyświetla szczegółowe informacje TCP, które pasują do segmentu pakietu TCP. Podkreślamy pakiet TCP z komputera hosta do serwera FTP McAfee, aby zbadać warstwę protokołu kontroli transferu w panelu szczegółów pakietu. Możesz zauważyć, że pierwszy datagram TCP dla inicjacji sesji FTP tylko ustawia Syn odrobina 1.

Wyjaśnienie każdego pola w warstwie protokołu kontroli transportu w Wireshark podano poniżej:

  • Port źródłowy: 43854, to host TCP zainicjował połączenie. To liczba, która leży gdziekolwiek powyżej 1023.
  • Port docelowy: 21, jest to numer portu powiązany z usługą FTP. Oznacza to, że serwer FTP słucha w porcie 21 dla żądań połączenia klienta.
  • Numer sekwencji: Jest to 32-bitowe pole, które zawiera liczbę dla pierwszego bajtu wysłanego w określonym segmencie. Ten numer pomaga w identyfikacji otrzymanych wiadomości w porządku.
  • Numer potwierdzenia: 32-bitowe pole określa odbiornik potwierdzenia.
  • Flagi kontrolne: Każdy formularz bit kodu ma szczególne znaczenie w zarządzaniu sesją TCP, które przyczynia się do leczenia każdego segmentu pakietu.

Ack: Sprawdzanie uznania numer segmentu odbioru.

Syn: Synchronizacja numer sekwencji, która jest ustawiona na inicjacji nowej sesji TCP

PŁETWA: żądanie rozwiązania sesji

URG: żądania nadawcy o wysłanie pilnych danych

RST: prośba o zresetowanie sesji

PSH: prośba o push

  • Rozmiar okna: To wartość przesuwnego okna mówi o rozmiarze wysłanych bajtów TCP.
  • Suma kontrolna: pole, które utrzymuje sumę kontrolną pod kątem kontroli błędów. To pole jest obowiązkowe w TCP w przeciwieństwie do UDP.

Przechodząc w kierunku drugiego DataGram TCP przechwyconego w filtrze Wireshark. Serwer McAfee potwierdza Syn wniosek. Możesz zauważyć wartości Syn I Ack bity ustawione na 1.

W ostatnim pakiecie można zauważyć, że host wysyła potwierdzenie do serwera w celu inicjacji sesji FTP. Możesz zauważyć, że Numer sekwencji i Ack bity są ustawione na 1.

Po ustanowieniu sesji TCP klient FTP i serwer wymieniają ruch, klient FTP potwierdza serwer FTP Odpowiedź 220 pakiet wysyłany przez sesję TCP poprzez sesję TCP. Stąd cała wymiana informacji jest przeprowadzana za pośrednictwem sesji TCP w FTP Client i FTP Server.

Po zakończeniu sesji FTP klient FTP wysyła komunikat o zakończeniu serwera. Po potwierdzeniu żądania sesja TCP na serwerze wysyła ogłoszenie o wypowiedzeniu do sesji TCP klienta. W odpowiedzi sesja TCP u klienta potwierdza datagram z wypowiedzeniem i wysyła własną sesję rozwiązania. Po otrzymaniu sesji terminowej serwer FTP wysyła potwierdzenie zakończenia, a sesja jest zamknięta.

Ostrzeżenie

FTP nie używa szyfrowania, a logowanie i poświadczenia hasła są widoczne w świetle dziennym. Dlatego, dopóki nikt nie podsłuchuje i przesyłacie poufne pliki w sieci, jest to bezpieczne. Ale nie używaj tego protokołu, aby uzyskać dostęp do treści z Internetu. Używać Sftp który używa bezpiecznego shell ssh do przesyłania plików.

Przechwytywanie hasła FTP

Pokazamy teraz, dlaczego ważne jest, aby nie korzystać z FTP przez Internet. Będziemy szukać określonych zwrotów w przechwyconym ruchu zawierającym Użytkownik, nazwa użytkownika, hasło, itp., zgodnie z instrukcją poniżej.

Iść do Edycja-> „Znajdź pakiet” i wybierz ciąg dla Filtr wyświetlania, a następnie wybierz Bajty pakietowe Aby wyświetlić wyszukiwane dane w ClearText.

Wpisz w ciągu przechodzić w filtrze i kliknij Znajdować. Pakiet znajdziesz ze sznurkiem „Podaj hasło ” w Bajty pakietowe płyta. Możesz także zauważyć podświetlony pakiet w Lista pakietów płyta.

Otwórz ten pakiet w osobnym oknie Wireshark, klikając prawym przyciskiem myszy pakiet i wybierz Follow-> TCP Stream.

Teraz wyszukaj ponownie, a hasło znajdziesz w zwykłym tekście w panelu BYTE PACKET. Otwórz podświetlony pakiet w osobnym oknie jak wyżej. Uwierzyźnie użytkownika znajdziesz w PlainText.

Wniosek

W tym artykule dowiedział się, jak działa FTP, przeanalizowano, w jaki sposób TCP kontroluje i zarządza operacjami w sesji FTP, i zrozumiał, dlaczego ważne jest użycie bezpiecznych protokołów powłoki do przesyłania plików przez Internet. W przyszłości w artykułach omówimy niektóre interfejsy wiersza poleceń dla Wireshark.