Usando WireShark per esaminare il traffico FTP

Usando WireShark per esaminare il traffico FTP
L'articolo precedente ti ha fornito una comprensione approfondita dei filtri WireShark, i livelli OSI, ICMP e analisi dei pacchetti HTTP. In questo articolo, impareremo come funziona FTP ed esamineremo le catture di Wireshark FTP. Prima di scavare in profondità nell'analisi dei pacchetti catturati, inizieremo con una breve comprensione del protocollo.

Ftp

FTP è un protocollo utilizzato dai computer per condividere informazioni sulla rete. In poche parole, è un modo per condividere i file tra i computer connessi. Poiché HTTP è creato per i siti Web, FTP è ottimizzato per i trasferimenti di file di grandi dimensioni tra i computer.

Il client FTP costruisce prima a Controllo connessione Richiesta alla porta server 21. Una connessione di controllo richiede un accesso per stabilire una connessione. Ma alcuni server rendono disponibili tutti i loro contenuti senza credenziali. Tali server sono noti come server FTP anonimi. Più tardi un separato connessione dati è stabilito per trasferire file e cartelle.

Analisi del traffico FTP

Il client e il server FTP comunicano pur non essendo consapevoli del fatto che TCP gestisce ogni sessione. TCP viene generalmente utilizzato in ogni sessione per controllare la consegna, l'arrivo e la gestione delle dimensioni della finestra. Per ogni scambio Datagram, TCP avvia una nuova sessione tra il client FTP e il server FTP. Pertanto, inizieremo la nostra analisi con le informazioni sul pacchetto TCP disponibili per l'inizio e la risoluzione della sessione FTP nel riquadro centrale.

Avvia l'acquisizione dei pacchetti dall'interfaccia selezionata e usa il ftp comando nel terminale di accedere al sito ftp.McAfee.com.

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

Accedi con le tue credenziali, come mostrato nello screenshot seguente.

Utilizzo Ctrl+c per fermare l'acquisizione e cercare l'iniziazione della sessione FTP, seguita dal TCP [Syn], [Syn-Ack], E [ACK] Pacchetti che illustrano una stretta di mano a tre per una sessione affidabile. Applica il filtro TCP per visualizzare i primi tre pacchetti nel pannello dell'elenco dei pacchetti.

WireShark visualizza informazioni dettagliate sul TCP che corrisponde al segmento dei pacchetti TCP. Evidenziamo il pacchetto TCP dal computer host al server McAfee FTP per studiare il livello del protocollo di controllo del trasferimento nel pannello dettagliato del pacchetto. È possibile notare che il primo datagramma TCP per l'iniziazione della sessione FTP solo Syn un po 'a 1.

Di seguito è riportata la spiegazione per ciascun campo nello strato di protocollo di controllo del trasporto in Wireshark:

  • Porta di origine: 43854, è l'host TCP che ha avviato una connessione. È un numero che si trova ovunque sopra 1023.
  • Porto di destinazione: 21, è un numero di porta associato al servizio FTP. Ciò significa che il server FTP ascolta sulla porta 21 per le richieste di connessione client.
  • Sequenza di numeri: È un campo a 32 bit che contiene un numero per il primo byte inviato in un particolare segmento. Questo numero aiuta nell'identificazione dei messaggi ricevuti in ordine.
  • Numero di riconoscimento: Un campo a 32 bit specifica un ricevitore di riconoscimento prevede di ricevere dopo la trasmissione riuscita dei byte precedenti.
  • Flag di controllo: Ogni modulo bit di codice ha un significato speciale nella gestione della sessione TCP che contribuisce al trattamento di ciascun segmento di pacchetti.

Ack: Convalida il numero di riconoscimento di un segmento di ricevuta.

Syn: Sincronizzare il numero di sequenza, che è impostato all'iniziazione di una nuova sessione TCP

Fin: Richiesta di risoluzione della sessione

Urg: Richieste da parte del mittente per inviare dati urgenti

RST: Richiesta di ripristinare la sessione

PSH: Richiesta di spinta

  • Dimensione della finestra: È il valore della finestra scorrevole che racconta la dimensione dei byte TCP inviati.
  • Checksum: campo che contiene checksum per il controllo degli errori. Questo campo è obbligatorio in TCP in contrasto con UDP.

Muoversi verso il secondo datagramma TCP catturato nel filtro Wireshark. Il server McAfee riconosce il Syn richiesta. Puoi notare i valori di Syn E Ack bit impostati su 1.

Nell'ultimo pacchetto, puoi notare che l'host invia un riconoscimento al server per l'iniziazione della sessione FTP. Puoi notare che il Sequenza di numeri e il Ack I bit sono impostati su 1.

Dopo aver stabilito una sessione TCP, il client FTP e il server si scambiano un po 'di traffico, il client FTP riconosce il server FTP Risposta 220 Pacchetto inviato tramite sessione TCP tramite una sessione TCP. Pertanto, tutto lo scambio di informazioni viene effettuato tramite sessione TCP presso il client FTP e il server FTP.

Dopo il completamento della sessione FTP, il client FTP invia il messaggio di terminazione al server. Dopo il riconoscimento della richiesta, la sessione TCP sul server invia un annuncio di terminazione alla sessione TCP del client. In risposta, la sessione TCP presso il client riconosce il datagramma di terminazione e invia la propria sessione di terminazione. Dopo aver ricevuto la sessione di terminazione, il server FTP invia un riconoscimento della terminazione e la sessione è chiusa.

Avvertimento

FTP non utilizza la crittografia e le credenziali di accesso e password sono visibili in luce diurna. Quindi, fintanto che nessuno è intercettante e stai trasferendo file sensibili all'interno della tua rete, è sicuro. Ma non utilizzare questo protocollo per accedere ai contenuti da Internet. Utilizzo Sftp che utilizza la shell secure ssh per il trasferimento di file.

Acquisizione della password FTP

Mostreremo ora perché è importante non usare FTP su Internet. Cercheremo le frasi specifiche nel traffico catturato contenenti utente, nome utente, password, eccetera., come istruito di seguito.

Vai a EDIT-> "Trova pacchetto" e scegli la stringa per il Visualizza filtro, e poi seleziona Byte di pacchetto Per mostrare i dati ricercati in ClearText.

Digita la stringa passaggio nel filtro e fare clic Trovare. Troverai il pacchetto con la stringa "Si prega di specificare la password " nel Byte di pacchetto pannello. Puoi anche notare il pacchetto evidenziato in Elenco dei pacchetti pannello.

Apri questo pacchetto in una finestra WireShark separata facendo clic con il pulsante destro del mouse sul pacchetto e seleziona Follow-> flusso TCP.

Ora cerca di nuovo e troverai la password in testo normale nel pannello byte pacchetto. Apri il pacchetto evidenziato in una finestra separata come sopra. Troverai le credenziali dell'utente in chiaro.

Conclusione

Questo articolo ha imparato come funziona FTP, analizzato come TCP controlla e gestisce le operazioni in una sessione FTP e ha capito perché è importante utilizzare protocolli Shell Secure per il trasferimento di file su Internet. In arrivo in articoli futuri, tratteremo alcune delle interfacce della riga di comando per Wireshark.