datorită Linux, avem acces la multe instrumente care facilitează administrarea rețelei & diagnostics. În acest sens, comanda Ping Linux este unul dintre cele mai utile instrumente pentru sysadmini și administratorii de rețea.funcția sa de bază este de a determina dacă o gazdă a rețelei este accesibilă sau nu. Cu toate acestea, în acest post, vom aborda alte capabilități mai avansate ale comenzii Ping Linux.

cuprins

care este utilizarea comenzii ping?,

comanda ping este unul dintre cele mai de bază instrumente pentru lucrul cu rețelele. Scopul său este de a diagnostica erorile de conectare la rețea.în acest fel, este posibil să știți dacă un nod de rețea a pierdut conectivitatea. Pe de altă parte, este util să efectuați și alte sarcini de diagnosticare, cum ar fi următoarele:

  • măsurați timpul necesar de două noduri de rețea pentru a comunica.
  • de asemenea, vom putea identifica adresa IP a unei anumite gazde. Putem folosi această caracteristică atât pe Internet, cât și într-o rețea privată.,
  • comanda ping poate fi utilizată într-un script bash pentru a efectua verificări automate cu noduri de rețea.
  • Acesta permite să știe dacă există o conexiune cu echipamente specifice.după cum puteți vedea, este o comandă necesară pentru administrarea rețelelor și serverelor.

    cum funcționează comanda ping?

    în Linux, funcționarea comenzii ping este destul de simplu de explicat. Comanda trimite o serie de pachete mici către un anumit nod.

    puteți testa acest nod folosind adresa IP sau numele de gazdă., Apoi, după ce trimiteți pachetul, comanda verifică și măsoară timpul necesar pentru a primi un răspuns de la nodul de destinație.

    după cum vă așteptați, timpul de răspuns poate fi afectat din cauza unor condiții cum ar fi locația geografică dintre punctele de conectare sau orice piesă a hardware-ului utilizat între cele două noduri.de exemplu, în rețelele private cu fir, comanda va avea timpi mai buni decât cu o rețea cu mai multe routere sau poduri.cu toate acestea, informațiile pe care le va genera comanda vor judeca dacă rețeaua este în stare bună sau rea.,

    sintaxa comenzii este următoarea:

    ping 

    unele dintre cele mai utile și utilizate opțiuni ale comenzii ping sunt următoarele:

    • -c: cu această opțiune, puteți specifica câte pachete să trimiteți.
    • -s: această opțiune vă permite să modificați dimensiunea implicită a pachetelor.
    • – v: modul verbose.
    • – w: specifică un timp în secunde în care execuția Comenzii se va încheia. Indiferent câte pachete a trimis sau a primit comanda.
    • -i: cu această opțiune, puteți specifica interfața de rețea de utilizat.,

    nodul de destinație poate fi specificat printr-o adresă IP sau un nume de gazdă.

    pot face ping cu un proxy?

    un proxy este un server sau o aplicație care acționează ca intermediar pentru conexiunea dintre două puncte dintr-o rețea. Este omul din mijloc care face cererea direct către un alt nod.

    problema este că comanda Ping necesită o conexiune directă de rețea între noduri.prin urmare, comanda Ping, în general, nu poate funcționa corect dacă există un proxy în spatele ei.o posibilă soluție este că multe site-uri web oferă serviciul de comandă Ping., Pe de altă parte, pentru unele sarcini ale comenzii ping, este posibilă utilizarea comenzii curl. De asemenea, puteți utiliza un VPN pentru a vă ascunde IP-ul.

    cu toate acestea, în unele distribuții Linux, această comandă nu este instalată implicit. Mai întâi, verificați-l și apoi instalați-l dacă nu este instalat.

    Protocolul Ping IPv6

    în mod normal, atunci când folosim comanda Ping, folosim adrese IP cu protocolul IPv4. Cu toate acestea, odată cu apariția protocolului IPv6, este din ce în ce mai frecvent să observați adrese în acest format.

    nucleul Linux acceptă protocolul IPv6 de la versiunea 2.,2, deci toate distribuțiile Linux o acceptă în prezent.

    sintaxa de bază este următoarea:

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

    pe versiunile vechi, a existat comanda ping6. Pe versiunile recente de Linux, ping6 nu mai există, iar funcționalitatea sa a fost fuzionată în ping și funcționează la fel cum ați văzut.

    sintaxa de bază este următoarea:

    ping6 

    cu opțiunea-c, putem specifica numărul de pachete de trimis și cu-i pentru interfața de rețea pe care o veți utiliza., De exemplu:

    ping6 2001:4860:4860::8888

    Ping un anumit port

    Uneori vrem să știm dacă un anumit port pe un nod este activ. Cu toate acestea, comanda ping nu oferă această funcționalitate, dar este posibil să o faceți cu comanda telnet instalată implicit pe Linux.

    Pentru a face acest lucru, trebuie doar să utilizați următoarea sintaxă:

    telnet 
    telnet google.com 80

    În acest fel, este posibil să ping un anumit port de un nod de rețea într-un mod primitiv.,

    Ping cu timpul

    deși comanda ping afișează informații utile, poate fi puțin simplă. Cu toate acestea, este posibil să modificați puțin funcționarea comenzii, pentru a arăta data trimiterii pachetului.acest lucru poate face ca informațiile să fie plăcute ochiului și ar putea fi utile pentru scripturi și jurnale.

    această sintaxă este suficientă pentru a face acest lucru. Cu toate acestea, trebuie să instalați pachetul ccze.

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

    după Cum puteți vedea, acesta arată timpul pentru fiecare pachet trimis.,

    Ping toate gazdele de pe o anumită subrețea

    puteți trimite un semnal ping tuturor gazdelor dintr-o rețea sau subrețea. Pentru aceasta, este suficient să adăugați opțiunea-b și să ping adresa IP de difuzare a oricărei rețele care se termină cu 255.

    De exemplu:

    ping -b -c 4 192.168.1.255

    Deci, dacă destinația este de neatins, poate bloca pachetele ICMP trimis prin comanda ping, sau poate că există o problemă de rețea sau o problemă pe tabela de rutare.

    cum se încheie un ping?,

    în mod implicit, comanda ping pe Linux trimite continuu pachete de testare către gazde. Cu toate acestea, odată ce informațiile sunt disponibile, devine necesară încetarea executării comenzii ping.

    Pentru a face acest lucru, pur și simplu apăsați următoarele taste:

    CTRL + C

    în Acest fel, comanda se va opri imediat lucrul.

    End după un anumit număr

    puteți limita numărul de pachete la 10 sau orice altceva. Când termină de trimis cele zece pachete, se va opri.,

    ping -c 10 

    unde se află comanda ping pe Linux?

    într-un sistem derivat din Unix, cum ar fi Linux, binare sunt de obicei găsite în calea:

    /usr/bin/

    în acest director, veți găsi multe binare pe care le folosim ca comenzi pe terminal. În alte sisteme de operare din familia Linux, este posibil să o plasați și în directorul

    /usr/sbin/

    .,

    Deci, putem verifica folosind comanda ls:

    $ ls /usr/bin | grep ping

    În această imagine, puteți vedea că ping comenzi sunt situate în

    /usr/bin/

    un Alt mod, puteți folosi, care comandă pentru a localiza orice comanda pe Linux:

    $ which ping

    Se va afișa următoarele:

    /usr/bin/ping

    Verifica latenta folosind comanda ping

    Una dintre posibilitățile oferite de comanda ping este că puteți măsura conexiune timp de răspuns. Aceasta este latența.,

    Pentru a măsura latență folosind comanda ping, și să acorde o atenție la ecranul de ieșire:

    ping -c 4 ping -c 4 192.168.1.1

    după Cum puteți vedea, patru pachete au fost trimise la destinație cu un anumit timp de răspuns.

    în partea de jos, există o linie care începe după cum urmează:

    rtt min/avg/max/mdev

    a doua valoare după semnul egal este valoarea latenței. În acest caz, valoarea este de 6.798.,

    cu latența, este posibil să se determine gazdele care au conectivitate inferioară restului. În acest fel, vom putea lua măsurile pertinente.

    găsiți MTU ideal

    MTU (unitatea maximă de transmisie) este o valoare care exprimă static dimensiunea în octeți a celei mai mari unități de date care poate fi trimisă printr-o rețea.în prezent, datorită măsurilor de securitate, tot mai multe rețele împiedică MTU să funcționeze. Cu toate acestea, majoritatea rețelelor locale Ethernet utilizează un MTU de 1500 octeți.,dacă doriți să găsiți valoarea MTU ideală folosind comanda ping, setați valorile inițiale și micșorați până când nu există nicio eroare. Dacă valoarea este prea mare, vom obține următoarea eroare:

    ping: local error: Message too long

    Pentru a face acest lucru, utilizați următoarea sintaxă:

    ping -M do -s 

    De exemplu:

    ping -M do -s 1473 192.168.1.1

    În acest caz, valoarea de dimensiunea pachetului este foarte mare. Așa că o voi micșora. În acest caz, valoarea optimă este 1472.,

    Dacă primiți un alt mesaj, valoarea inițială trebuie scăzută una câte una până când obțineți rezultatul dorit.dacă valoarea MTU este cunoscută, aceasta poate fi utilizată pentru a îmbunătăți comportamentul rețelei, mai ales dacă aceasta este o rețea mare sau chiar metropolitană.

    Ping pe stratul 2 (folosind arping)

    cu comanda ping, vom putea efectua teste cunoscând adresa IP a unui nod specific din rețea. Acest lucru se datorează faptului că comanda ping funcționează pe stratul 3 al Modelului OSI (rețea).,

    pe de altă parte, este posibil să utilizați o altă comandă care este încorporată în Linux ca Arping. Această comandă funcționează foarte similar cu ping, dar funcționează pe stratul 2 al Modelului OSI.

    sintaxa comenzii este după cum urmează:

    $ sudo arping 
    $ sudo arping 192.168.1.1

    Veți obține un rezultat de genul:

    ecran de ieșire de comandă arată în primul rând dimensiunea de trimis pachete și apoi adresa MAC a nodului și timpul de răspuns.rețineți că această comandă nu este instalată implicit pe Debian Linux și derivate., Deci, trebuie să-l instalați, apoi îl puteți rula ca root.

    Ping a hostname

    în mod implicit, comanda ping trimite pachete de testare la destinație folosind adresa IP sau numele de gazdă al destinației. De asemenea, trebuie remarcat faptul că majoritatea implementărilor ping pe Linux nu rezolvă DNS în sens invers.de exemplu, dacă utilizați comanda Ping adăugând o adresă IP, aceasta va returna doar adresa IP a gazdei la ieșire. În schimb, dacă am specificat un nume de gazdă, acesta îl va rezolva și va afișa IP-ul la ieșire.,

    Verificați ieșirea din următoarea comandă:

    $ ping google.com

    Ping traseu (folosind traceroute)

    comanda ping nu arată traseul de la sursa la destinație.și acest lucru poate fi destul de util în cazul în care conexiunea cu gazda a fost pierdută, deoarece putem înțelege momentul în care conexiunea a fost pierdută.

    comanda tracert sau traceroute funcționează într-un mod foarte similar cu comanda ping. Avantajul este că arată calea pe care o ia pachetul, arătând astfel traseul său.,

    ca comanda ping vine instalat în cele mai multe distribuții Linux. În sintaxa de bază este după cum urmează:

    traceroute 

    în acest fel, putem vedea traseul pachetele sunt luați.

    rulați comanda dacă ping eșuează

    Să presupunem că doriți să fiți alertat atunci când comanda ping eșuează. Pentru a face acest lucru, trebuie să încorporați comanda ping într-un script bash pentru a seta starea dorită.,de exemplu, acest script shell vă permite să verificați dacă comanda ping eșuează:

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

    Setați dimensiunea pachetului ping

    dimensiunea implicită a pachetelor trimise de comanda ping către gazde este de 56 de octeți. Este o valoare suficient de scăzută pentru a nu afecta funcționarea rețelei.cu toate acestea, este posibil să o schimbați la o altă valoare. Pentru a face acest lucru, pur și simplu adăugați opțiunea-s cu dimensiunea dorită a pachetului.,

    De exemplu:

    ping -s hostname/IP

    Dacă doriți dimensiune pachet să fie de 100 bytes, trebuie doar să utilizați următoarea comandă:

    ping -s 100 192.168.1.1

    Amintiți-vă că acesta poate varia ușor de la MTU.

    dezactivați comanda ping

    dacă suntem responsabili pentru menținerea unei rețele, este posibil să dorim să dezactivăm răspunsurile ping în orice moment. O putem face temporar sau permanent, în funcție de nevoile noastre.,

    Dacă vrem să dezactivați-l temporar, este suficient pentru a folosi această comandă ca root:

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

    Acest lucru va dezactiva comanda ping răspuns, dar numai până când reporniți sistemul.

    Dacă vrei să-l faci permanent, va trebui să editați fișierul următor

    /etc/sysctl.conf

    și adăugați următoarea linie:

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

    Apoi salvați fișierul și ieșire., Pentru a aplica modificările, utilizați această comandă:

    $ sysctl -p

    Acest lucru va dezactiva comanda ping sau pachete ICMP de reacție.

    concluzie

    În acest post, am explicat în detaliu cum funcționează comanda ping pe Linux. De la utilitatea sa până la dezactivarea acesteia. Ping este una dintre cele mai ușoare comenzi de utilizat.acest lucru face ca persoana responsabilă de funcționarea rețelei să știe unde este problema, astfel încât să poată lua măsuri.sper că veți găsi postul util. Continuă să te întorci.

    Vă mulțumim.,

    Fondator al LikeGeeks. Lucrez ca administrator de sistem Linux din 2010. Sunt responsabil pentru întreținerea, securizarea și depanarea serverelor Linux pentru mai mulți clienți din întreaga lume. Îmi place să scriu scripturi shell și Python pentru a-mi automatiza munca.