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
Hvor stopper trafikken?
Sjekk om problemet er DNS, brannmur, feil IP, feil port eller serveren.
Hva sender appen?
Se om nettleseren faktisk sender GET og POST til
Flask.
Hva er synlig?
Sammenlign ukryptert HTTP med HTTPS, der innholdet er kryptert.
Før du starter: lovlig og ryddig bruk
- Fang bare trafikk på labnettverk eller egen maskin når lærer har gitt beskjed.
- HTTPS-trafikk er kryptert. Det er normalt at du ser IP-adresser og domenenavn, men ikke innholdet.
- Hvis du bruker Flask-laben: bruk alias/gruppenavn, ikke private opplysninger.
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. |
ping, DNS-oppslag og Flask-trafikk på port 5000.
Hva skal du se etter?
Ping
En enkel test for å se om en annen maskin svarer på nettverket.
Navneoppslag
Når et domenenavn oversettes til en IP-adresse.
Webtrafikk
Forespørsler og svar mellom nettleser og webserver.
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.
ipconfig getifaddr en0
ipconfig getifaddr en1
ifconfig | grep "inet "
en0 ofte Wi-Fi. Hvis én kommando ikke gir
svar,
prøv neste. Noter IP-adressen, for eksempel 192.168.1.34.
__________. Hvis du jobber med Flask 2.1, noter også
IP-adressen til servermaskinen.
Steg 2 - Start Wireshark og velg riktig nettverkskort
- Åpne Wireshark.
- Finn nettverkskortet som har aktivitet. Det er ofte
Wi-Fi: en0elleren1. - Dobbeltklikk på nettverkskortet for å starte opptak.
- La opptaket gå i 10-20 sekunder uten å gjøre noe. Se hvor mye bakgrunnstrafikk som finnes.
- Trykk på den røde stoppknappen. Det er lettere å lære når opptaket står stille.
Source,
Destination og Protocol?
Steg 3 - Filtrer bort støy
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. |
Steg 4 - Se ping-trafikk
ping i
Terminal.
- Start et nytt opptak i Wireshark.
- Åpne Terminal og ping ruteren eller en annen maskin.
- Stopp opptaket etter noen sekunder.
- 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.
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
- Start et nytt opptak.
- Åpne en ny nettside i nettleseren, for eksempel
https://ndla.no. - Stopp opptaket etter at siden er lastet.
- Skriv filteret
dns.
Se etter felt som Standard query og Standard query response. DNS er koblingen mellom
menneskevennlige navn og IP-adresser.
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.
Nettleser
Åpner http://SERVER-IP:5000 og sender skjema.
Flask
Svar på HTTP og lagrer meldingen i databasen.
Pakker
Viser trafikken med filteret tcp.port == 5000.
- Start Flask-serveren på servermaskinen.
- Start et nytt opptak i Wireshark på servermaskinen eller klientmaskinen.
- Åpne
http://SERVER-IP:5000fra en annen maskin. - Send en melding i Flask-skjemaet.
- Stopp opptaket.
- 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.
GET / eller POST. Hvilken IP-adresse
er
klienten, og hvilken IP-adresse er Flask-serveren?
Steg 7 - Hva er forskjellen på HTTP og HTTPS?
- Start et nytt opptak.
- Åpne
http://SERVER-IP:5000hvis du har Flask-laben klar. - Åpne deretter en vanlig nettside med
https://. - Stopp opptaket.
- Prøv filteret
http, og derettertls.
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.
Steg 8 - Stopp, lagre og rydd
- Trykk på den røde stoppknappen i Wireshark.
- Lagre opptaket bare hvis lærer ber om det.
- Gi filen et nøytralt navn, for eksempel
gruppe-3-flasktrafikk.pcapng. - Ikke del opptak som inneholder privat eller unødvendig trafikk.
Kontrollspørsmål
- Hva er forskjellen på
SourceogDestinationi Wireshark? - Hvorfor ser du ofte DNS før en nettside lastes?
- Hva betyr port
5000i Flask-laben? - Hvorfor kan du ikke lese innholdet i vanlig HTTPS-trafikk?
- Hvordan kan Wireshark hjelpe deg med å feilsøke en Flask-app på LAN?