Tak til Linux, har vi adgang til mange værktøjer, der letter netværk administration & diagnostik. I denne forstand er Linu.ping-kommandoen et af de mest nyttige værktøjer til sysadmins og netværksadministratorer.
dens grundlæggende funktion er at afgøre, om en vært af netværket er tilgængelig eller ej. Men i dette indlæg vil vi adressere andre mere avancerede funktioner i Linu.Ping-kommandoen.
Indholdsfortegnelse
Hvad er brugen af ping-kommandoen?,
ping-kommandoen er et af de mest grundlæggende værktøjer til at arbejde med netværk. Dens formål er at diagnosticere netværksforbindelsesfejl.
på denne måde er det muligt at vide, om en netværksknude har mistet forbindelsen. På den anden side er det også nyttigt at udføre andre diagnostiske opgaver, såsom følgende:
- mål den tid, som to netværksnoder tager at kommunikere.
- vi vil også være i stand til at identificere IP-adressen på en bestemt vært. Vi kan bruge denne funktion på både Internettet og i et privat netværk.,
- ping-kommandoen kan bruges i et bash-script til at udføre automatiske kontroller med netværksnoder.
- det giver mulighed for at vide, om der er forbindelse til specifikt udstyr.
som du kan se, er det en nødvendig kommando til administration af netværk og servere.
Hvordan fungerer ping-kommando?
i Linu.er funktionen af ping-kommandoen ganske enkel at forklare. Kommandoen sender en række små pakker til en bestemt node.
Du kan teste denne node ved hjælp af enten IP-adressen eller værtsnavnet., Derefter, efter at du har sendt pakken, kontrollerer og måler kommandoen den tid det tager at modtage et svar fra destinationsnoden.
som du kan forvente, kan responstiden blive påvirket på grund af forhold som den geografiske placering mellem forbindelsespunkterne eller ethvert stykke hard .are, der bruges mellem de to noder.for eksempel i kablede private netværk får kommandoen bedre tider end med et netværk med flere routere eller broer.
de oplysninger, som kommandoen genererer, vil dog bedømme, om netværket er i god eller dårlig stand.,
syntaksen for denne kommando er som følger:
ping
Nogle af de mest anvendelige og benyttede indstillinger for ping-kommandoen er følgende:
- -c: Med denne indstilling kan du angive, hvor mange pakker, der skal sendes.
- – s: denne indstilling giver dig mulighed for at ændre pakkernes standardstørrelse.
- – v: verbose tilstand.
- – -: angiver et tidspunkt i sekunder, hvor udførelsen af kommandoen slutter. Uanset hvor mange pakker kommandoen har sendt eller modtaget.
- -i: med denne indstilling kan du angive den netværksgrænseflade, der skal bruges.,
destinationsnoden kan angives af en IP-adresse eller et værtsnavn.
kan jeg pinge med en pro ?y?
en pro .y er en server eller et program, der fungerer som mellemmand for forbindelsen mellem to punkter på et netværk. Det er manden i midten, der fremsætter anmodningen direkte til en anden knude.
problemet er, at ping-kommandoen kræver en direkte netværksforbindelse mellem noderne.
derfor kan Ping-kommandoen generelt ikke fungere korrekt, hvis der er en pro .y bag den.
en mulig løsning er, at mange websebsteder tilbyder ping-kommandotjenesten., På den anden side er det for nogle opgaver i ping-kommandoen muligt at bruge curl-kommandoen. Du kan også bruge en VPN, så den vil skjule din IP.
i nogle Linu. – distributioner er denne kommando imidlertid ikke installeret som standard. Først skal du kontrollere det og derefter installere det, hvis det ikke er installeret.
Ping IPv6-protokol
normalt bruger vi IP-adresser med IPv4-protokollen, når vi bruger ping-kommandoen. Men med fremkomsten af IPv6-protokollen er det stadig mere almindeligt at lægge mærke til adresser i dette format.
Linu. – kernen understøtter IPv6-protokollen siden version 2.,2, så alle Linu. – distributioner understøtter det i øjeblikket.
den grundlæggende syntaks er som følger:
$ ping -6 2001:4860:4860::8888
på gamle versioner var der ping6-kommando. På nyere versioner af Linu.findes ping6 ikke længere, og dens funktionalitet er blevet fusioneret til ping, og det fungerer på samme måde som du så.
den grundlæggende syntaks er som følger:
ping6
med indstillingen-c kan vi angive antallet af pakker, der skal sendes, og med-i til den netværksgrænseflade, du vil bruge., For eksempel:
ping6 2001:4860:4860::8888
Ping en bestemt port
nogle gange vil vi gerne vide, hvis en specifik port på en node er aktiv. Men ping-kommandoen ikke levere denne funktionalitet, men det er muligt at gøre det med telnet-kommandoen, der som standard er installeret på Linux.
for At gøre dette, skal du bruge følgende syntaks:
telnet
telnet google.com 80
På denne måde, er det muligt at pinge en bestemt port af et netværk node i en primitiv måde.,
Ping med tiden
selvom ping-kommandoen viser nyttige oplysninger, kan det være lidt enkelt. Det er dog muligt at ændre kommandoens funktion lidt for at få det til at vise den dato, pakken sendes.
dette kan gøre oplysningerne behagelige for øjet og kan være nyttige til scripts og logfiler.
denne syntaks er tilstrækkelig til at gøre det. Du skal dog installere CC .e-pakken.
ping | xargs -n1 -i bash -c 'echo `date +%F\ %T`" {}"' | ccze
som du kan se, viser det tiden for hver sendt pakke.,
Ping alle værter på et givet undernet
Du kan sende et ping-signal til alle værter på et netværk eller undernet. Til dette er det nok at tilføje indstillingen-B og ping den udsendte IP-adresse på ethvert netværk, der slutter med 255.
For eksempel:
ping -b -c 4 192.168.1.255
Så hvis den destination, der er tilgængelig, måske de blokere for ICMP pakker, der sendes af ping-kommandoen, eller måske er der er et netværksproblem eller et problem på routing tabellen.
Sådan afsluttes en ping?,
som standard sender ping-kommandoen på Linu.kontinuerligt testpakker til værter. Men når oplysningerne er tilgængelige, bliver det nødvendigt at afslutte udførelsen af ping-kommandoen.
for At gøre dette, skal du blot trykke på følgende taster:
CTRL + C
på Denne måde, vil kommandoen straks stoppe med at arbejde.
slut efter et bestemt antal
Du kan begrænse antallet af pakker til 10 eller hvad som helst. Når den er færdig med at sende de ti pakker, stopper den.,
ping -c 10
hvor ligger ping-kommandoen på Linu??
I en Unix-afledte system som Linux, binære filer er almindeligt forekommende i stien:
/usr/bin/
I denne mappe, vil du finde mange binære filer, som vi bruger som kommandoer i terminal. I andre operativsystemer i Linu. – familien er det også muligt at placere det i
/usr/sbin/
.,
Så vi kan tjekke det ved hjælp af ls kommandoen:
$ ls /usr/bin | grep ping
I dette billede kan du se, at ping-kommandoer er placeret i
/usr/bin/
en Anden måde, du kan bruge den som kommando til at finde en kommando på Linux:
$ which ping
Det vil vise følgende:
/usr/bin/ping
Find ventetid ved hjælp af ping-kommandoen
En af de muligheder, som de ping-kommandoen er, at du kan måle den forbindelse responstid. Det er ventetiden.,
for At måle den forsinkelse ved hjælp af ping-kommandoen, skal du bare bruge det og være opmærksom på skærmen output:
ping -c 4 ping -c 4 192.168.1.1
Som du kan se, fire pakker, der er blevet sendt til destinationen med en bestemt respons tid.
i bunden er der en linje, der starter som følger:
rtt min/avg/max/mdev
den anden værdi efter lighedstegnet er latensværdien. I dette tilfælde er værdien 6.798.,
med latenstiden er det muligt at bestemme de værter, der har forbindelse, der er ringere end resten. På denne måde vil vi være i stand til at træffe de relevante foranstaltninger.
Find den ideelle MTU
MTU (maksimal transmission enhed) er en værdi, der statisk udtrykker størrelsen i byte af den største dataenhed, der kan sendes over et netværk.på grund af sikkerhedsforanstaltninger forhindrer flere og flere netværk i øjeblikket MTU i at fungere. Men de fleste Ethernet lokalnetværk bruger en 1500 byte MTU.,
Hvis du vil finde den ideelle MTU-værdi ved hjælp af ping-kommandoen, skal du indstille de oprindelige værdier og falde, indtil der ikke er nogen fejl. Hvis værdien er for høj, vil vi få den næste fejl:
ping: local error: Message too long
for At gøre dette, skal du bruge følgende syntaks:
ping -M do -s
For eksempel:
ping -M do -s 1473 192.168.1.1
I dette tilfælde er værdien af pakken størrelse er meget stor. Så jeg vil mindske det. I dette tilfælde er den optimale værdi 1472.,
Hvis du får en anden meddelelse, skal den oprindelige værdi reduceres en efter en, indtil du får det ønskede resultat.
Hvis MTU-værdien er kendt, kan den bruges til at forbedre netværksadfærd, især hvis dette er et stort eller endda storbynetværk.
Ping på lag 2 (ved hjælp af arping)
med ping-kommandoen vil vi være i stand til at udføre test, der kender IP-adressen til en bestemt node i netværket. Dette skyldes, at ping-kommandoen fungerer på lag 3 i OSI-modellen (netværk).,
På den anden side er det muligt at bruge en anden kommando, der er indbygget i Linu.som arping. Denne kommando fungerer meget lig ping, men fungerer på lag 2 i OSI-modellen.
syntaksen for denne kommando er som følger:
$ sudo arping
$ sudo arping 192.168.1.1
vil Du få et resultat som dette:
skærmen output af kommandoen viser først størrelsen på den sendte pakke og derefter MAC-adressen på den knude, og responstiden.
Bemærk, at denne kommando ikke er installeret som standard på Debian Linu.og derivativer., Så du skal installere det, så kan du køre det som root.
Ping et værtsnavn
som standard sender ping-kommandoen testpakker til destinationen ved hjælp af IP-adressen eller værtsnavnet på destinationen. Det skal også bemærkes, at de fleste ping-implementeringer på Linu.ikke løser DNS omvendt.bruger ping-kommandoen ved at tilføje en IP-adresse, returnerer den kun værtens IP-adresse ved udgangen. Omvendt, hvis vi har angivet et værtsnavn, vil det løse det og vise IP ‘ en ved udgangen.,
kontroller output fra følgende kommando:
$ ping google.com
Ping-rute (ved hjælp af traceroute)
ping-kommandoen viser ikke ruten fra kilden for at nå destinationen.
og dette kan være ganske nyttigt, hvis forbindelsen med værten er gået tabt, fordi vi kan forstå, på hvilket tidspunkt forbindelsen er gået tabt.
kommandoen tracert eller traceroute fungerer på en meget lignende måde som ping-kommandoen. Fordelen ved dette er, at den viser den sti, som pakken tager, og dermed viser dens rute.,
ligesom ping-kommandoen installeres i de fleste Linu. – distributioner. Den grundlæggende syntaks er som følger:
traceroute
På den måde kan vi se ruten pakkerne tager.
Kør kommando, hvis ping fejler
Antag, at du vil blive advaret, når ping-kommandoen fejler. For at gøre dette skal du indarbejde ping-kommandoen i et bash-script for at indstille den ønskede tilstand.,
for eksempel giver dette shell-script dig mulighed for at kontrollere, om ping-kommandoen mislykkes:
#! /bin/bashping -c 1 If ; then #Your_command_hereFi
Indstil ping-pakkestørrelsen
standardstørrelsen på pakker, der sendes af ping-kommandoen til værter, er 56 bytes. Det er en lav nok værdi for ikke at påvirke driften af netværket.
det er dog muligt at ændre det til en anden værdi. For at gøre dette skal du blot tilføje-s-indstillingen med den ønskede pakkestørrelse.,
For eksempel:
ping -s hostname/IP
Hvis du ønsker pakken størrelsen til at være 100 bytes, bare du bruge følgende kommando:
ping -s 100 192.168.1.1
Husk, at det kan variere lidt af MTU.
Deaktiver ping-kommandoen
Hvis vi er ansvarlige for at opretholde et netværk, kan vi til enhver tid deaktivere ping-svar. Vi kan gøre det midlertidigt eller permanent, alt efter vores behov.,
Hvis vi ønsker at deaktivere den midlertidigt, det er nok at bruge denne kommando som root:
$ su$ echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
Dette vil deaktivere kommandoen ping svar, men kun indtil du genstarter systemet.
Hvis du ønsker at gøre det permanent, du har for at redigere følgende fil
/etc/sysctl.conf
og tilføj den næste linje:
$ nano /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1
Så skal du gemme filen og lukke., For at anvende ændringerne, skal du bruge denne kommando:
$ sysctl -p
Dette vil deaktivere ping-kommandoen eller ICMP pakker’ svar.
konklusion
i dette indlæg har vi forklaret detaljeret, hvordan ping-kommandoen fungerer på Linu.. Fra dens nytte indtil deaktivering af det. Ping er en af de nemmeste kommandoer at bruge.
dette får den person, der er ansvarlig for driften af netværket, til at vide, hvor problemet er, så han kan gribe ind.
Jeg håber du finder posten nyttig. Bliv ved med at komme tilbage.
Tak.,
Grundlægger af LikeGeeks. Jeg arbejder som Linu.systemadministrator siden 2010. Jeg er ansvarlig for vedligeholdelse, sikring og fejlfinding af Linu. – servere til flere klienter over hele verden. Jeg elsker at skrive shell og Python scripts til at automatisere mit arbejde.
Skriv et svar