FTP
FTP er en protokol, der bruges af computere til at dele information over netværket. Kort sagt, det er en måde at dele filer mellem tilsluttede computere. Da HTTP er bygget til websteder, er FTP optimeret til store filoverførsler mellem computere.
FTP-klienten bygger først en kontrolforbindelse anmodning til serverporten 21. En kontrolforbindelse kræver et login for at oprette en forbindelse. Men nogle servere gør alt deres indhold tilgængeligt uden legitimationsoplysninger. Sådanne servere er kendt som anonyme FTP-servere. Senere en separat dataforbindelse er oprettet til at overføre filer og mapper.
FTP-trafikanalyse
FTP-klienten og serveren kommunikerer, mens de ikke er klar over, at TCP administrerer hver session. TCP bruges generelt i hver session til at kontrollere datagramlevering, ankomst og vinduesstørrelsesstyring. For hver datagramudveksling initierer TCP en ny session mellem FTP-klienten og FTP-serveren. Derfor vil vi begynde vores analyse med de tilgængelige TCP-pakkeoplysninger til FTP-sessionens initiering og afslutning i den midterste rude.
Start pakkeopsamling fra din valgte grænseflade, og brug ftp kommando i terminalen for at få adgang til webstedet ftp.mcafee.com.
ubuntu $ ubuntu: ~ $ ftp ftp.mcafee.com
Log ind med dine legitimationsoplysninger som vist på skærmbilledet nedenfor.
Brug Ctrl + C for at stoppe optagelsen og se efter indledningen af FTP-sessionen efterfulgt af TCP [SYN], [SYN-ACK], og [ACK] pakker, der illustrerer et trevejshåndtryk for en pålidelig session. Anvend tcp-filter for at se de første tre pakker i panelet med pakkelister.
Wireshark viser detaljerede TCP-oplysninger, der matcher TCP-pakkesegmentet. Vi fremhæver TCP-pakken fra værtscomputeren til ftp McAfee-serveren for at undersøge Transfer Control Protocol-laget i detaljepanelet for pakke. Du kan bemærke, at det første TCP-datagram til start af ftp-session kun indstilles SYN bit til 1.
Forklaringen for hvert felt i Transport Control Protocol-laget i Wireshark gives nedenfor:
- Kildehavn: 43854, det er TCP-værten, der startede en forbindelse. Det er et tal, der ligger hvor som helst over 1023.
- Destinationshavn: 21, det er et portnummer, der er knyttet til ftp-tjenesten. Det betyder, at FTP-server lytter på port 21 efter anmodninger om klientforbindelse.
- Sekvensnummer: Det er et 32-bit felt, der indeholder et nummer for den første byte, der sendes i et bestemt segment. Dette nummer hjælper med at identificere de modtagne meddelelser i rækkefølge.
- Kvitteringsnummer: Et 32-bit felt angiver, at en kvitteringsmodtager forventer at modtage efter vellykket transmission af tidligere bytes.
- Kontrol Flag: hver kodebitform har en særlig betydning i TCP-sessionadministration, der bidrager til hvert paktsegments behandling.
ACK: validerer kvitteringssegmentets kvitteringsnummer.
SYN: synkroniser sekvensnummer, der indstilles ved starten af en ny TCP-session
FIN: anmodning om afslutning af sessionen
URG: anmodninger fra afsenderen om at sende hastende data
RST: anmodning om nulstilling af sessionen
PSH: anmodning om push
- Vinduesstørrelse: det er skydevinduets værdi, der fortæller størrelsen på sendte TCP-byte.
- Kontrolsum: felt, der indeholder kontrolsum for fejlkontrol. Dette felt er obligatorisk i TCP i modsætning til UDP.
Bevæger os mod det andet TCP-datagram, der er taget i Wireshark-filteret. McAfee-serveren anerkender SYN anmodning. Du kan bemærke værdierne for SYN og ACK bits indstillet til 1.
I den sidste pakke kan du bemærke, at værten sender en kvittering til serveren for FTP-sessionsinitiering. Du kan bemærke, at Sekvensnummer og ACK bits er indstillet til 1.
Efter oprettelse af en TCP-session udveksler FTP-klienten og serveren noget trafik, FTP-klienten anerkender FTP-serveren Svar 220 pakke sendt via TCP-session via en TCP-session. Derfor udføres al informationsudveksling via TCP-session på FTP-klient og FTP-server.
Efter FTP-sessionens afslutning sender ftp-klienten afslutningsmeddelelsen til serveren. Efter bekræftelse af anmodning sender TCP-sessionen på serveren en opsigelsesmeddelelse til klientens TCP-session. Som svar bekræfter TCP-sessionen hos klienten afslutningsdatagrammet og sender sin egen afslutningssession. Efter modtagelse af afslutningssessionen sender FTP-serveren en bekræftelse af afslutningen, og sessionen lukkes.
Advarsel
FTP bruger ikke kryptering, og login- og adgangskodeoplysningerne er synlige i stort dagslys. Derfor, så længe ingen aflytter, og du overfører følsomme filer inden for dit netværk, er det sikkert. Men brug ikke denne protokol til at få adgang til indhold fra internettet. Brug SFTP der bruger sikker shell SSH til filoverførsel.
FTP-adgangskodefangst
Vi viser nu, hvorfor det er vigtigt ikke at bruge FTP over internettet. Vi vil kigge efter de specifikke sætninger i den fangede trafik, der indeholder bruger, brugernavn, adgangskode, etc., som beskrevet nedenfor.
Gå til Rediger-> “Find pakke” og vælg streng for Skærmfilter, og vælg derefter Pakkebyte for at vise søgte data i klar tekst.
Indtast strengen passere i filteret, og klik på Finde. Du finder pakken med strengen “Angiv adgangskoden ” i Pakkebyte panel. Du kan også bemærke den fremhævede pakke i Pakkeliste panel.
Åbn denne pakke i et separat Wireshark-vindue ved at højreklikke på pakken og vælge Følg-> TCP-stream.
Søg nu igen, og du finder adgangskoden i almindelig tekst i panelet Pakkebyte. Åbn den fremhævede pakke i et separat vindue som ovenfor. Du finder brugeroplysningerne i almindelig tekst.
Konklusion
Denne artikel har lært, hvordan FTP fungerer, analyseret, hvordan TCP styrer og styrer operationer i en FTP-session, og forstået, hvorfor det er vigtigt at bruge sikre shell-protokoller til filoverførsel over internettet. Kommer op i fremtidige artikler, vi dækker nogle af kommandolinjegrænsefladerne til Wireshark.