Takk til Linux, har vi tilgang til mange verktøy som legger til rette for nettverk administrasjon & diagnostikk. I denne forstand, Linux ping-kommandoen er en av de mest nyttige verktøyene for sysadmins og nettverksadministratorer.

Sin grunnleggende funksjon er å avgjøre om en rekke nettverket er tilgjengelig eller ikke. Imidlertid, i dette innlegget, vi skal ta for seg andre mer avanserte egenskapene til Linux Ping-kommandoen.

Innholdsfortegnelse

Hva er bruken av ping-kommandoen?,

ping-kommandoen er en av de mest grunnleggende verktøy for å arbeide med nettverk. Dens formål er å diagnostisere nettverkstilkobling feil.

På denne måten er det mulig å vite om en nettverksnode har mistet tilkobling. På den annen side, det er også nyttig å utføre andre diagnostiske oppgaver, for eksempel følgende:

  • Måle tiden det tar av to nettverk noder for å kommunisere.
  • vil Vi også være i stand til å identifisere IP-adressen til en bestemt vert. Vi kan bruke denne funksjonen på både Internett og i et privat nettverk.,
  • ping-kommandoen kan brukes i et bash-script for å utføre automatisk sjekker med nettverk noder.
  • det gjør Det mulig å vite om det er en sammenheng med spesifikke utstyr.

Som du kan se, det er en nødvendig kommando for administrasjon av nettverk og servere.

Hvordan gjør ping-kommandoen fungerer?

I Linux, som er omfattet av ping-kommandoen er ganske enkelt å forklare. Kommandoen sender en rekke små pakker til en bestemt node.

Du kan teste denne noden ved hjelp av enten IP-adressen eller vertsnavnet., Så, etter at du har sendt pakken på kommando, bekrefter og måler tiden det tar å få svar fra mottaker-noden.

Som du kan forvente, responstiden kan bli påvirket på grunn av forhold som geografiske plassering mellom kontaktpunktene eller hvilken som helst del av maskinvaren som brukes mellom to noder.

For eksempel, i kabelbasert private nettverk, kommando vil bli bedre tider enn med et nettverk med flere rutere eller broer.

Imidlertid informasjon om at kommandoen vil generere vil vurdere om nettverket er i god eller dårlig tilstand.,

syntaksen for kommandoen er som følger:

ping 

Noen av de mest nyttige og brukte valg av ping-kommandoen er følgende:

  • -c: Med dette alternativet, kan du angi hvor mange pakker å sende.
  • -s: med Dette alternativet kan du endre standard størrelse på pakkene.
  • -v: detaljert modus.
  • -w: Angir tiden i sekunder som kjøring av kommandoen vil ende. Uansett hvor mange pakker kommandoen er sendt eller mottatt.
  • -i: Med dette alternativet kan du angi nettverks-grensesnitt til bruk.,

målet node kan være angitt av en IP-adresse eller et vertsnavn.

Kan jeg ping med en proxy?

En proxy er en server eller applikasjon som fungerer som et mellomledd for forbindelse mellom to punkter i et nettverk. Det er mannen i midten som gjør forespørsel direkte til en annen node.

problemet er at Ping-kommandoen krever et direkte nettverksforbindelse mellom nodene.

Derfor, Ping-kommandoen generelt kan ikke fungere skikkelig hvis det er en proxy bak det.

En mulig løsning er at mange nettsteder tilbyr Ping-kommandoen service., På den annen side, for noen oppgaver av ping-kommandoen, er det mulig å bruke curl-kommandoen. Du kan også bruke en VPN, slik at det vil skjule din IP.

Imidlertid, i noen Linux-distribusjoner, har denne kommandoen er ikke installert som standard. Først må du kontrollere den og deretter installere det på nytt hvis det ikke er installert.

Ping IPv6-protokollen

Vanligvis, når du bruker Ping-kommandoen, vi bruker IP-adresser med IPv4-protokollen. Imidlertid, med bruk av IPv6-protokollen, det blir stadig vanligere å legge merke til adresser i dette formatet.

Linux-kjernen støtter IPv6-protokollen siden versjon 2.,2, slik at alle Linux-distribusjoner i dag støtter det.

Den grunnleggende syntaksen er som følger:

$ ping -6 2001:4860:4860::8888

På gamle versjoner, det var ping6 kommando. På nyere versjoner av Linux, ping6 ikke eksisterer lenger, og funksjonaliteten har blitt slått sammen til ping, og det fungerer på samme måte som du så.

Den grunnleggende syntaksen er som følger:

ping6 

Med opsjonen-c, kan vi angi antallet pakker for å sende og med -jeg for nettverksgrensesnittet du vil bruke., For eksempel:

ping6 2001:4860:4860::8888

Ping en bestemt port

noen Ganger ønsker vi å vite om en bestemt port på en node er aktiv. Imidlertid, ping-kommandoen gir ikke denne funksjonaliteten, men det er mulig å gjøre det med telnet-kommandoen som er installert som standard på Linux.

for Å gjøre dette, bruker du følgende syntaks:

telnet 
telnet google.com 80

På denne måten er det mulig å pinge en bestemt port av et nettverk node i en primitiv måte.,

Ping tid

Selv om ping-kommandoen viser nyttig informasjon, det kan være litt enkel. Det er imidlertid mulig å endre driften av kommando litt, for å gjøre det vise dato pakken er sendt.

Dette kan gjøre informasjonen fryd for øyet, og kan være nyttig for skript og logger.

Denne syntaksen er tilstrekkelig til å gjøre det. Imidlertid, du trenger å installere ccze pakken.

ping | xargs -n1 -i bash -c 'echo `date +%F\ %T`" {}"' | ccze

Som du kan se, det viser tid for hver pakke som sendes.,

Ping alle vertene på et gitt subnet

Du kan sende en ping-signal til alle verter på et nettverk eller delnettverk. For dette, det er nok å legge til alternativet-b og ping broadcast IP-adresse for nettverket som ender med 255.

For eksempel slik:

ping -b -c 4 192.168.1.255

Så hvis destinasjonen ligger i et område uten dekning, kanskje de blokkerer ICMP-pakker som er sendt ved hjelp av ping-kommandoen, eller kanskje det er et nettverk problem eller et problem på ruting-tabellen.

Hvordan å avslutte en ping?,

standard ping-kommandoen på Linux kontinuerlig sender test pakker til vertene. Imidlertid, når informasjonen er tilgjengelig, blir det nødvendig å avslutte gjennomføring av ping-kommandoen.

for Å gjøre dette, er det bare å trykke følgende taster:

CTRL + C

Denne måten, er kommandoen umiddelbart slutte å fungere.

avsluttes etter en bestemt teller

Du kan begrense antall pakker til 10 eller hva som helst. Når den er ferdig, sender de ti pakker, vil den stoppe.,

ping -c 10 

Hvor kommer ping-kommandoen ligger på Linux?

I et Unix-baserte systemet som Linux, binærfiler er ofte funnet i banen:

/usr/bin/

I denne katalogen, vil du finne mange binærfiler som vi bruker som kommandoer i terminalen. I andre operativsystemer med Linux-familien, er det også mulig å plassere den i

/usr/sbin/

– katalogen.,

Så, vi kan sjekke det ved hjelp av ls-kommandoen:

$ ls /usr/bin | grep ping

I dette bildet, kan du se at ping-kommandoer er plassert i

/usr/bin/

en Annen måte, du kan bruke hvilken kommando for å finne en hvilken som helst kommando på Linux:

$ which ping

Det vil vise følgende:

/usr/bin/ping

Sjekk ventetid ved hjelp av ping-kommandoen

En av mulighetene som tilbys av ping-kommandoen er at du kan måle tilkobling responstid. Det er ventetid.,

for Å måle ventetid ved hjelp av ping-kommandoen, bruker det bare og betale oppmerksomhet til tv-utgang:

ping -c 4 ping -c 4 192.168.1.1

Som du kan se, fire pakker som har blitt sendt til bestemmelsesstedet med en viss responstid.

nederst er det en linje som starter som følger:

rtt min/avg/max/mdev

Den andre verdien etter likhetstegnet er ventetid verdi. I dette tilfellet er verdien 6.798.,

Med ventetid, er det mulig å fastslå vertene som har tilkobling dårligere enn resten. Denne måten, vil vi være i stand til å ta relevante tiltak.

Finn den ideelle MTU

MTU (Maximum transmission unit) er en verdi som statisk uttrykker størrelsen (i byte) på den største dataenheten som kan sendes over et nettverk.

i Dag, på grunn av sikkerhetstiltak, flere og flere nettverk hindrer at MTU fra arbeidslivet. Imidlertid er de fleste lokale Ethernet-nettverk bruker en 1500 byte MTU.,

Hvis du ønsker å finne den ideelle MTU-verdien ved hjelp av ping-kommandoen, angi startverdier, og reduser til det er ingen feil. Hvis verdien er for høy, vil vi få neste feil:

ping: local error: Message too long

for Å gjøre dette, bruker du følgende syntaks:

ping -M do -s 

For eksempel:

ping -M do -s 1473 192.168.1.1

I dette tilfellet, verdien av pakken størrelse er veldig stor. Så jeg vil redusere det. I dette tilfellet, den optimale verdien 1472.,

Hvis du får en ny melding, vil den første verdien må være nedsatt en og en, til du får ønsket resultat.

Hvis MTU-verdien er kjent, kan den brukes til å forbedre nettverket atferd, særlig hvis dette er et stort eller enda metropolitan nettverk.

Ping på lag 2 (ved hjelp av arping)

Med ping-kommandoen, vil vi være i stand til å utføre tester for å vite IP-adressen til en bestemt node i nettverket. Dette er fordi ping-kommandoen fungerer på lag 3 i OSI-modellen (nettverk).,

På den annen side, er det mulig å bruke en annen kommando som er bygget inn i Linux som arping. Denne kommandoen fungerer veldig lik ping men fungerer på lag 2 i OSI-modellen.

syntaksen for kommandoen er som følger:

$ sudo arping 
$ sudo arping 192.168.1.1

vil Du få et resultat som dette:

skjermen resultatet av kommandoen viser først størrelsen på de sendte pakken og klikk MAC-adressen til node og responstid.

Merk at denne kommandoen er ikke installert som standard på Debian Linux og derivater., Så du må installere den, og deretter kan du kjøre den som root.

Ping et vertsnavn

standard ping-kommandoen sender test pakker til destinasjonen ved hjelp av IP-adressen eller vertsnavnet på destinasjonen. Det bør også bemerkes at de fleste ping-implementeringer på Linux ikke løse DNS-i omvendt.

For eksempel, hvis du bruker Ping-kommandoen ved å legge til en IP-adresse, vil det bare tilbake IP-adressen til verten på utdataene. Derimot, hvis vi har spesifisert et vertsnavn, det vil løse den og vise IP på utdataene.,

Sjekk utgangen av følgende kommando:

$ ping google.com

Ping rute (ved hjelp av traceroute)

ping-kommandoen ikke vise ruten fra kilden for å nå målet.

Og dette kan være ganske nyttig i tilfelle i forbindelse med verten har gått tapt fordi vi kan forstå på hvilket punkt-tilkobling er brutt.

tracert eller traceroute kommandoen fungerer på en lignende måte til ping-kommandoen. Fordelen med dette er at det viser den vei som pakken tar, og dermed viser sin rute.,

Som ping-kommandoen kommer installert i de fleste Linux-distribusjoner. Den grunnleggende syntaksen er som følger:

traceroute 

på den måten, kan vi se rute pakkene er å ta.

Kjør Kommando hvis ping mislykkes

Tenk deg at du ønsker å bli varslet når ping-kommando mislykket. For å gjøre dette, trenger du å innlemme ping-kommandoen i et bash-script for å angi ønsket tilstand.,

For eksempel, dette skall-skript kan du sjekke hvis ping-kommandoen mislykkes:

#! /bin/bashping -c 1 If ; then #Your_command_hereFi

Angi ping pakkestørrelsen

standard størrelse på pakker som er sendt ved hjelp av ping-kommandoen til å verter er 56 bytes. Det er en lav verdi nok ikke til å påvirke driften av nettverket.

det er Imidlertid mulig å endre den til en annen verdi. For å gjøre dette, bare legge til alternativet-s med ønsket pakkestørrelsen.,

For eksempel slik:

ping -s hostname/IP

Hvis du vil pakkestørrelsen for å være 100 bytes, bare bruk følgende kommando:

ping -s 100 192.168.1.1

Husk at det kan variere litt av MTU.

Deaktiver ping-kommandoen

Hvis vi er ansvarlig for å opprettholde et nettverk, kan det hende at vi vil deaktivere ping svar når som helst. Vi kan gjøre det midlertidig eller permanent, i henhold til våre behov.,

Hvis vi ønsker å deaktivere den midlertidig, det er nok å bruke dette kommando som root-bruker:

$ su$ echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

Dette vil deaktivere ping-kommandoen svar, men bare frem til neste gang du starter systemet.

Hvis du ønsker å gjøre det permanent, må du redigere følgende fil

/etc/sysctl.conf

og legg til neste linje:

$ nano /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1

Deretter lagre filen, og avslutt., For å bruke endringene, kan du bruke denne kommandoen:

$ sysctl -p

Dette vil deaktivere ping-kommando eller ICMP-pakker respons.

Konklusjon

I dette innlegget, vi har forklart i detalj hvordan ping-kommandoen fungerer på Linux. Fra sin nytteverdi til å deaktivere det. Ping er en av de enkleste kommandoer for å bruke.

Dette gjør den person som er ansvarlig for driften av nettverket vet hvor problemet er, slik at han kan ta affære.

jeg håper du finner innlegget nyttig. Kommer tilbake.

Takk skal du ha.,

Grunnlegger av LikeGeeks. Jeg jobber som et Linux-system administrator siden 2010. Jeg er ansvarlig for å vedlikeholde, sikre, og feilsøking av Linux-servere for flere kunder over hele verden. Jeg elsker å skrive skall og Python-skript for å automatisere arbeidet mitt.