4 måter å identifisere uunngåelige nettverksavbrudd på Linux

Oppdag hvordan du effektivt identifiserer nettverksproblemer på Linux med fire nøkkelverktøy: Ping, Dig, Nmap og Wireshark, for å sikre stabil tilkobling.

Hvor mange ganger har du fikset nettverksproblemer ved å starte ruteren eller datamaskinen på nytt? Det fungerer i en smule, men det løser ikke vedvarende problemer; i stedet må du identifisere årsaken. Jeg har fire verktøy jeg ofte bruker for å presist avdekke de fleste nettverksproblemer på Linux.

Ping: Den Første Henvisningen

Ping bør være kjent for de fleste, og det er alltid det første verktøyet å bruke når man feilsøker et nettverk. Ping får navnet sitt fra sonar fordi det fungerer på en lignende måte. Når du sender ut et ping, mottar det et svar, omtrent som et sonar-ping når det reflekterer lyder fra objekter. Ping sender ut en spesiell pakke kalt en ICMP (Internet Control Message Protocol) pakke og venter på respons.

Når du utfører ping-kommandoen, vil den periodisk sende ut en pakke hvert sekund. I terminalvinduet viser ping tiden for rundreise (RTT), som er den totale tiden det tar å sende og motta et svar.

ping 8.8.8.8

Du bruker vanligvis ping i følgende scenarioer:

  • Bestemme om en vert er aktiv
  • Bestemme om en forbindelse har høy latens
  • Bestemme om tilkoblingen din fungerer

Når forbindelsen min brytes (vanligvis Wi-Fi), pinger jeg ofte en kjent god vert. Når ping feiler, er det uforutsigbart, fordi hvilken som helst del av forbindelsen din kan være skyldige. Imidlertid avgjør det raskt at det er et problem med nettverket ditt. Nå kan du grave litt dypere ved hjelp av følgende verktøy.

Ping er et standard GNU-verktøy, og det er en del av hver Linux-system. Imidlertid, for å bruke det, kan det være lurt å lære hvordan man forstår ping-statistikken, som ikke er åpenbar.

Dig: Når Ping Fungerer, men Nettstedet Ditt Fremdeles Ikke Laster

Når ping fungerer, betyr det at du har en fungerende forbindelse på IP-nivå. Imidlertid, for å gjøre en vellykket tilkobling, må applikasjoner som nettlesere oversette domenenavn til IP-adresser. Noen ganger er den oversettelsesprosessen skyldig, så vi trenger en måte å oppdage slike problemer på.

Prosessen med å oversette domenenavn til IP-adresser kalles DNS (Domain Name System) oppløsning. Når du skriver inn example.com i nettleserens URL-linje, sender nettleseren en forespørsel til systemet ditt for å løse navnet til en IP-adresse. Systemet sender deretter forespørselen til en konfigurert DNS-server (som ofte leveres av din ISP). Prosessen er mer komplisert enn som så, men det er hovedpoenget. Svaret er et DNS-oppslag som kartlegger domenenavnet til en IP-adresse.

Det er helt mulig å ha en fungerende internettforbindelse, men ikke kunne løse domenenavn. For eksempel, hvis du kjører en ping-kommando og mottar et svar, men du ikke kan besøke noen websider i nettleseren, er det et tegn på at DNS-oppløsningen din er defekt.

Dig er et fantastisk verktøy som avdekker mye DNS-informasjon for en ønsket vert. På det mest grunnleggende nivået kan vi bruke dig til å se om vi kan løse et domenenavn. For eksempel, kjør følgende kommando for å se hvilken IP-adresse example.com har.

dig example.com

Noen ganger vil systemet ditt eller DNS-serverne cache svar i en kort periode, noe som betyr at de kan returnere utdaterte verdier. "+trace"-parameteren i følgende eksempel får dig til å omgå cache og starte med DNS-rottjenerne. DNS er et komplekst, men fascinerende emne, og rottjenerne er i bunn og grunn der all DNS-oppløsning begynner på internett. "+short"-parameteren holder bare utdataene rene.

dig +trace +short example.com

Jeg bruker dig-kommandoen ofte. Først bruker jeg ping, og hvis nødvendig, vil jeg utføre dig for å avgjøre om jeg har et DNS-oppløsningsproblem. Vanligvis vil du løse de fleste av nettverksproblemene dine på dette punktet.

For å installere dig på Debian, kjør følgende kommando.

sudo apt install knot-dnsutils

For å installere dig på Fedora, kjør følgende kommando.

sudo dnf install bind-utils

For å installere dig på Arch Linux, kjør følgende kommando.

sudo pacman -S bind-tools

Nmap: Når Du Ikke Er Sikker På Om Målvert Arbeider en Tjeneste

Nmap er mitt foretrukne verktøy for å teste om en tjeneste kan motta forespørslene mine om tilkobling— for eksempel en selvhostet tjeneste eller.

Fjernservice på internett.

Nmap er et portskanningverktøy, og det er godt kjent i pentesting verden (datamaskinsikkerhet). Det er ekstremt allsidig, og det kan utføre mange typer nettverksforespørsler, som emulerer ulike scenarier. For det meste er vi bare interessert i TCP fordi det er bærebjelken i internett. For å starte en TCP-tilkobling, utfører datamaskiner først en treveis håndtrykk. Prosessen tar følgende skritt:

  1. SYN (hei): Synkroniseringsforespørsel (klient→server)
  2. SYN-ACK (hei, hvordan har du det?): Synkroniseringsbekreftelse (server→klient)
  3. ACK (bra, takk): Bekreftelse (klient→server)

Det første minuttet av videoen nedenfor kan hjelpe deg med å forstå prosessen bedre.

Vi er bare interessert i steg 1: synkronisering. Vi ønsker å sende en synkroniseringsforespørsel til en spesifikk port (for eksempel en webserver på port 80 eller 443) og se om serveren svarer.

sudo nmap -sS example.com -p 80,443

Flaggene for kommandoen er som følger:

  • "-sS": Utfør en SYN-skanning
  • "-p": Spesifisere TCP-porter for kommunikasjon

Vi sender en SYN-pakke til TCP-porter 80 og 443, som er HTTP og HTTPS tjenesteporter.

Ikke glem å bruke "-p" flagget for å snevre inn skanningen til spesifikke porter, ellers vil du skanne de første 1000 portene (standard oppførsel), noe som ser mistenkelig ut.

Det er viktig å merke seg at dette er enkle TCP-synkroniseringsforespørsler, og hver TCP-tilkobling du lager - inkludert med en nettleser - sender ut slike forespørselen, så de er ufarlige. Bare bruk "-p" flagget for å unngå å synkronisere med mange porter.

For å installere Nmap på Debian, kjør følgende kommando.

sudo apt install nmap

For å installere Nmap på Fedora, kjør følgende kommando.

sudo dnf install nmap

For å installere Nmap på Arch Linux, kjør følgende kommando.

sudo pacman -S nmap

Hvis du vil lære mer, har vi en veiledning som dekker det grunnleggende om Nmap, som hvordan du utfører skanninger.

Wireshark: Når du ikke har noe idé om hva som skjer

Wireshark er en nettverksniffer, som er den mest omfattende måten du kan overvåke et nettverk på. Enkelt sagt, registrerer en nettverksniffer alle former for trafikk som krysser kabelen. Det er et komplekst verktøy, men vi kan få mye ut av det ved å ganske enkelt forstå det grunnleggende om nettverk, som DNS, ICMP, TCP-porter, eller IP-adresser. Hvis du forstår det grunnleggende, kan du identifisere når noe er ødelagt.

Når jeg er usikker på hva som skjer på nettverket mitt, kan jeg bruke Wireshark til å logge all trafikken. Jeg vil starte Wireshark og begynne å undersøke nettverket med pinger og forespørsel, og prøve å bruke områder som kan ha brutt sammen. Wireshark logger den fangede trafikken til pakkeopptaks (pcap) filer. Disse filene lar meg analysere trafikken (gjennom Wireshark) senere, når jeg kan konsentrere meg mer nøye.

Wireshark gir mange avanserte filtre som lar meg fokusere på pakker med spesifikke egenskaper og ekskludere annen støyende trafikk. Hvis du er interessert i filtre, Wiresharks filterdokumentasjon er grundig og nyttig.

For å avdekke mer informasjon om nettverket ditt, kan det være nødvendig å fange trafikk på flere noder. Den mest nyttige aspekten ved pcap-filer er at mange nettverksanalyseverktøy støtter dem; tcpdump støtter dem også. Du kan logge inn på ruteren din (hvis mulig) og fange trafikk ved hjelp av tcpdump (hvis det er tilstrekkelig plass), og deretter analysere det ved hjelp av Wireshark eller andre verktøy.

Wireshark gir meg total synlighet på nettverket mitt. Uten det, gjetter jeg bare.

For å installere Wireshark på Debian, kjør følgende kommando.

sudo apt install wireshark

For å installere Wireshark på Fedora, kjør følgende kommando.

sudo dnf install wireshark

For å installere Wireshark på Arch Linux, kjør følgende kommando.

sudo pacman -S wireshark-qt

Denne verktøyene gir tilstrekkelig dekning for de fleste vanlige hjemmenettverksproblemer. Med dem kan jeg:

  • Raskt identifisere tilkoblingsstatus med ping
  • Bestemme navneoppløsningsproblemer med dig
  • Fastslå om en ekstern tjeneste bør akseptere min tilkobling med Nmap
  • Få en omfattende oversikt over nettverkstrafikken min med Wireshark

Dessverre har disse verktøyene vært til stor nytte for meg gjennom årene for å identifisere 99% av nettverksproblemene når de oppstår. Imidlertid finnes det mange andre grunnleggende nettverkskommandoer som hver Linux-bruker bør kjenne til.

Hvis du vil lese flere artikler som 4 måter å identifisere uunngåelige nettverksavbrudd på Linux, kan du besøke kategorien Linux.

Index
  1. Ping: Den Første Henvisningen
  2. Dig: Når Ping Fungerer, men Nettstedet Ditt Fremdeles Ikke Laster
  3. Nmap: Når Du Ikke Er Sikker På Om Målvert Arbeider en Tjeneste
  4. Wireshark: Når du ikke har noe idé om hva som skjer

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Go up