Tilbake

Nettverk 3.0 · Wireshark

Wireshark: Se trafikk på det lokale nettet

I denne laben bruker du Wireshark til å se hva som faktisk sendes mellom maskiner på et lokalt nettverk. Målet er å kjenne igjen pakker, protokoller og IP-adresser når nettleseren, terminalen eller Flask-appen bruker nettverket.

Dette bruker du Wireshark til

Feilsøking

Hvor stopper trafikken?

Sjekk om problemet er DNS, brannmur, feil IP, feil port eller serveren.

Utvikling

Hva sender appen?

Se om nettleseren faktisk sender GET og POST til Flask.

Sikkerhet

Hva er synlig?

Sammenlign ukryptert HTTP med HTTPS, der innholdet er kryptert.

Før du starter: lovlig og ryddig bruk

Første gang du åpner Wireshark

Wireshark kan se overveldende ut første gang. Tenk på programmet som en opptaker for nettverk. Du trykker start, gjør én bestemt handling, stopper opptaket og filtrerer ned til akkurat den trafikken du vil undersøke.

Del av skjermen Hva betyr det?
Packet list Listen øverst. Hver linje er én nettverkspakke.
Source IP-adressen som sender pakken.
Destination IP-adressen som mottar pakken.
Protocol Hvilket språk pakken bruker, for eksempel DNS, TCP, HTTP eller ICMP.
Info Kort forklaring på hva pakken gjør.
Tips: Ikke prøv å forstå alt. I denne oppgaven jakter du bare på noen få tydelige spor: ping, DNS-oppslag og Flask-trafikk på port 5000.

Hva skal du se etter?

ICMP

Ping

En enkel test for å se om en annen maskin svarer på nettverket.

DNS

Navneoppslag

Når et domenenavn oversettes til en IP-adresse.

HTTP

Webtrafikk

Forespørsler og svar mellom nettleser og webserver.

TCP

Tilkobling

Pakker som oppretter, bruker og lukker en forbindelse.

Steg 1 - Finn din lokale IP-adresse

Før du åpner Wireshark, må du vite hvilken IP-adresse maskinen har på nettverket.

Kjør disse kommandoene i Terminal på Macen du bruker.
ipconfig getifaddr en0
ipconfig getifaddr en1
ifconfig | grep "inet "
Skriv én kommando om gangen og trykk Enter. På Mac er en0 ofte Wi-Fi. Hvis én kommando ikke gir svar, prøv neste. Noter IP-adressen, for eksempel 192.168.1.34.
Noter: Min IP-adresse er __________. Hvis du jobber med Flask 2.1, noter også IP-adressen til servermaskinen.

Steg 2 - Start Wireshark og velg riktig nettverkskort

Hvor? Dette gjør du i Wireshark.
  1. Åpne Wireshark.
  2. Finn nettverkskortet som har aktivitet. Det er ofte Wi-Fi: en0 eller en1.
  3. Dobbeltklikk på nettverkskortet for å starte opptak.
  4. La opptaket gå i 10-20 sekunder uten å gjøre noe. Se hvor mye bakgrunnstrafikk som finnes.
  5. Trykk på den røde stoppknappen. Det er lettere å lære når opptaket står stille.
Hvis Wireshark ber om tillatelse på macOS, må du gi tilgang. Uten riktige rettigheter kan Wireshark vise tom liste selv om maskinen er på nett.
Oppdrag: Finn én pakke i listen. Hva står i kolonnene Source, Destination og Protocol?

Steg 3 - Filtrer bort støy

Hvor? Skriv filtrene i filterfeltet øverst i Wireshark.

Wireshark viser mye mer trafikk enn du trenger. Display-filteret øverst skjuler det du ikke vil se. Det sletter ikke pakker; det bare gjør listen lettere å lese. Skriv ett filter om gangen og trykk Enter.

Filter Hva viser det?
icmp Ping-trafikk.
dns Navneoppslag, for eksempel når nettleseren spør etter IP-adressen til et domene.
http U-kryptert webtrafikk. Dette passer godt med Flask-laben på lokalt nett.
tcp.port == 5000 Trafikk til eller fra Flask-serveren hvis appen kjører på port 5000.
ip.addr == 192.168.1.34 All trafikk til eller fra en bestemt IP-adresse. Bytt IP-adressen med din egen.
Viktig forskjell: Et display-filter brukes etter at opptaket er startet. Det er det trygge og enkle valget her. Ikke bruk capture-filter i denne første oppgaven.

Steg 4 - Se ping-trafikk

Hvor? Start opptaket i Wireshark, og kjør ping i Terminal.
  1. Start et nytt opptak i Wireshark.
  2. Åpne Terminal og ping ruteren eller en annen maskin.
  3. Stopp opptaket etter noen sekunder.
  4. Skriv filteret icmp.
ping 192.168.1.1

Du skal se pakker som heter Echo request og Echo reply. Det betyr at maskinen sender et spørsmål og får svar tilbake.

Oppdrag: Finn én Echo request og én Echo reply. Hvilken IP-adresse sendte spørsmålet, og hvilken IP-adresse svarte?

Steg 5 - Se DNS når du åpner en nettside

Hvor? Start opptaket i Wireshark, og åpne nettsiden i nettleseren.
  1. Start et nytt opptak.
  2. Åpne en ny nettside i nettleseren, for eksempel https://ndla.no.
  3. Stopp opptaket etter at siden er lastet.
  4. Skriv filteret dns.

Se etter felt som Standard query og Standard query response. DNS er koblingen mellom menneskevennlige navn og IP-adresser.

Oppdrag: Finn domenenavnet du slo opp. Klarer du å finne IP-adressen DNS svarte med?

Steg 6 - Se Flask-trafikk på lokalt nett

Dette steget passer sammen med Flask 2.1. En maskin kjører Flask-serveren, og en annen maskin åpner siden i nettleseren.

Hvor? Start Flask i Terminal, fang trafikk i Wireshark, og åpne siden i nettleseren.
Klient

Nettleser

Åpner http://SERVER-IP:5000 og sender skjema.

Server

Flask

Svar på HTTP og lagrer meldingen i databasen.

Wireshark

Pakker

Viser trafikken med filteret tcp.port == 5000.

  1. Start Flask-serveren på servermaskinen.
  2. Start et nytt opptak i Wireshark på servermaskinen eller klientmaskinen.
  3. Åpne http://SERVER-IP:5000 fra en annen maskin.
  4. Send en melding i Flask-skjemaet.
  5. Stopp opptaket.
  6. Bruk filteret tcp.port == 5000.

Hvis Flask kjører med vanlig HTTP, kan du ofte se GET / og POST /send. Det er akkurat forespørslene nettleseren sender til Flask-serveren.

Oppdrag: Finn en pakke som viser GET / eller POST. Hvilken IP-adresse er klienten, og hvilken IP-adresse er Flask-serveren?

Steg 7 - Hva er forskjellen på HTTP og HTTPS?

Hvor? Fang trafikk i Wireshark, og åpne sidene i nettleseren.
  1. Start et nytt opptak.
  2. Åpne http://SERVER-IP:5000 hvis du har Flask-laben klar.
  3. Åpne deretter en vanlig nettside med https://.
  4. Stopp opptaket.
  5. Prøv filteret http, og deretter tls.

Flask-laben bruker vanlig HTTP, så du kan ofte se ruter som GET /. Moderne nettsider bruker som regel HTTPS. Da ser du at det går trafikk, men innholdet er kryptert.

Aha-spørsmål: Hvorfor er det bra at nettbanken, e-post og innlogginger bruker HTTPS?

Steg 8 - Stopp, lagre og rydd

  1. Trykk på den røde stoppknappen i Wireshark.
  2. Lagre opptaket bare hvis lærer ber om det.
  3. Gi filen et nøytralt navn, for eksempel gruppe-3-flasktrafikk.pcapng.
  4. Ikke del opptak som inneholder privat eller unødvendig trafikk.

Kontrollspørsmål

  1. Hva er forskjellen på Source og Destination i Wireshark?
  2. Hvorfor ser du ofte DNS før en nettside lastes?
  3. Hva betyr port 5000 i Flask-laben?
  4. Hvorfor kan du ikke lese innholdet i vanlig HTTPS-trafikk?
  5. Hvordan kan Wireshark hjelpe deg med å feilsøke en Flask-app på LAN?