FTP
FTP er en protokoll som brukes av datamaskiner for å dele informasjon over nettverket. Enkelt sagt, det er en måte å dele filer mellom tilkoblede datamaskiner. Ettersom HTTP er bygget for nettsteder, er FTP optimalisert for store filoverføringer mellom datamaskiner.
FTP-klienten bygger først en kontrolltilkobling forespørsel til serverporten 21. En kontrollforbindelse krever pålogging for å opprette en forbindelse. Men noen servere gjør alt innholdet tilgjengelig uten legitimasjon. Slike servere er kjent som anonyme FTP-servere. Senere en egen datakobling er opprettet for å overføre filer og mapper.
FTP-trafikkanalyse
FTP-klienten og serveren kommuniserer mens de ikke er klar over at TCP administrerer hver økt. TCP brukes vanligvis i hver økt for å kontrollere datagrammelevering, ankomst og vindusstørrelsesadministrasjon. For hver datagramutveksling starter TCP en ny økt mellom FTP-klienten og FTP-serveren. Derfor vil vi begynne analysen vår med tilgjengelig TCP-pakkeinformasjon for FTP-sesjonsinitiering og avslutning i midtruten.
Start pakkefangst fra det valgte grensesnittet og bruk ftp kommandoen i terminalen for å få tilgang til nettstedet ftp.mcafee.com.
ubuntu $ ubuntu: ~ $ ftp ftp.mcafee.com
Logg på med legitimasjonen din, som vist på skjermbildet nedenfor.
Bruk Ctrl + C for å stoppe fangsten og se etter initiering av FTP-sesjonen, etterfulgt av TCP [SYN], [SYN-ACK], og [ACK] pakker som illustrerer et treveis håndtrykk for en pålitelig økt. Bruk tcp-filter for å se de tre første pakkene i pakkelistepanelet.
Wireshark viser detaljert TCP-informasjon som samsvarer med TCP-pakkesegmentet. Vi fremhever TCP-pakken fra vertsdatamaskinen til ftp McAfee-serveren for å studere Transfer Control Protocol-laget i Packet-detaljpanelet. Du kan legge merke til at det første TCP-datagrammet for ftp-sesjonsinitiering bare setter SYN litt til 1.
Forklaringen for hvert felt i Transport Control Protocol-laget i Wireshark er gitt nedenfor:
- Kildehavn: 43854, det er TCP-verten som startet en forbindelse. Det er et tall som ligger hvor som helst over 1023.
- Destinasjonsport: 21, det er et portnummer tilknyttet ftp-tjenesten. Det betyr at FTP-server lytter på port 21 etter forespørsler om klienttilkobling.
- Sekvensnummer: Det er et 32-biters felt som inneholder et tall for den første byten som sendes i et bestemt segment. Dette nummeret hjelper til med å identifisere meldingene som mottas i rekkefølge.
- Bekreftelsesnummer: Et 32-biters felt angir at en kvitteringsmottaker forventer å motta etter vellykket overføring av tidligere byte.
- Kontroll flagg: hver kodebitform har en spesiell betydning i TCP-sesjonsadministrasjon som bidrar til hvert pakkesegments behandling.
ACK: validerer kvitteringsnummer for et kvitteringssegment.
SYN: synkroniser sekvensnummer, som er angitt ved starten av en ny TCP-økt
FIN: forespørsel om avslutning av økten
URG: forespørsler fra avsenderen om å sende presserende data
RST: forespørsel om tilbakestilling av økten
PSH: forespørsel om push
- Vindusstørrelse: det er skyvevinduets verdi som forteller størrelsen på sendte TCP-byte.
- Kontrollsum: felt som inneholder kontrollsum for feilkontroll. Dette feltet er obligatorisk i TCP i motsetning til UDP.
Flytter mot det andre TCP-datagrammet som er tatt i Wireshark-filteret. McAfee-serveren anerkjenner SYN be om. Du kan legge merke til verdiene til SYN og ACK biter satt til 1.
I den siste pakken kan du legge merke til at verten sender en bekreftelse til serveren for initiering av FTP-økt. Du kan merke at Sekvensnummer og ACK biter er satt til 1.
Etter å ha opprettet en TCP-økt, utveksler FTP-klienten og serveren trafikk, FTP-klienten anerkjenner FTP-serveren Svar 220 pakke sendt via TCP-økt gjennom en TCP-økt. Derfor blir all informasjonsutveksling utført via TCP-økt på FTP-klient og FTP-server.
Etter at FTP-sesjonen er fullført, sender ftp-klienten avslutningsmeldingen til serveren. Etter bekreftelse av forespørsel sender TCP-økten på serveren en avslutning kunngjøring til klientens TCP-økt. Som svar bekrefter TCP-sesjonen hos klienten avslutningsdatagrammet og sender sin egen avslutningsøkt. Etter mottak av avslutningssesjonen sender FTP-serveren en bekreftelse på avslutningen, og økten er avsluttet.
Advarsel
FTP bruker ikke kryptering, og påloggings- og passordlegitimasjonen er synlig i dagslys. Så lenge ingen avlytter og du overfører sensitive filer i nettverket, er det trygt. Men ikke bruk denne protokollen for å få tilgang til innhold fra internett. Bruk SFTP som bruker sikker shell SSH for filoverføring.
FTP-passordfangst
Vi vil nå vise hvorfor det er viktig å ikke bruke FTP over internett. Vi vil se etter de spesifikke setningene i fanget trafikk som inneholder bruker, brukernavn, passord, etc., som beskrevet nedenfor.
Gå til Rediger-> “Finn pakke” og velg Streng for Vis filter, og velg deretter Pakkebyte for å vise søkte data i klar tekst.
Skriv inn strengen sende i filteret, og klikk Finne. Du finner pakken med strengen “Vennligst spesifiser passordet ” i Pakkebyte panelet. Du kan også legge merke til den uthevede pakken i Pakkeliste panelet.
Åpne denne pakken i et eget Wireshark-vindu ved å høyreklikke på pakken og velge Følg-> TCP-strøm.
Nå søker du igjen, så finner du passordet i ren tekst i Packet-byte-panelet. Åpne den uthevede pakken i et eget vindu som ovenfor. Du finner brukerlegitimasjonen i ren tekst.
Konklusjon
Denne artikkelen har lært hvordan FTP fungerer, analysert hvordan TCP kontrollerer og administrerer operasjoner i en FTP-økt, og forstått hvorfor det er viktig å bruke sikre skallprotokoller for filoverføring over internett. Kommer opp i fremtidige artikler, vil vi dekke noen av kommandolinjegrensesnittene for Wireshark.