Cum să utilizați bmon pentru a monitoriza lățimea de bandă a rețelei pe Linux

Publicat: 2022-01-29
Un prompt stilizat de terminal pe un sistem Linux.
Fatmawati Achmad Zaenuri/Shutterstock

Cu aplicația bmon Linux, puteți vedea utilizarea lățimii de bandă pe conexiunile dvs. de rețea. Cu toate acestea, înțelegerea detaliilor mai fine necesită o muncă de detectiv, așa că am făcut-o pentru tine!

Cum funcționează bmon

Graficele dinamice și statisticile în timp real care arată activitatea pe diferitele interfețe de rețea vă pot oferi o informație excelentă asupra performanței rețelei și a consumului de lățime de bandă. Acesta este exact ceea ce vă oferă bmon , chiar într-o fereastră de terminal.

Poți să te uiți la grafice din când în când, la fel cum ai face cu vitezometrul din mașina ta. De asemenea, dacă ceva la vehiculul dvs. trebuie investigat, un mecanic ar putea să-l conecteze la un sistem de diagnosticare și să verifice citirile. bmon are citiri detaliate similare.

Trebuie spus, totuși, statisticile comenzii bmon pot fi derutante la început. De exemplu, există trei numite „Ip6 Reasm/Frag”. Ce-i cu aia?

Cu toate acestea, odată ce ați spart codul, citirile comenzii sunt neprețuite dacă doriți o înțelegere mai detaliată a traficului din rețea.

Publicitate

Am lucrat pentru tine și chiar am verificat codul sursă pentru a ajunge la capătul unora dintre acestea. Din fericire, totul despre bmon este destul de simplu.

Instalarea bmon

Pentru a instala bmon pe Ubuntu, utilizați această comandă:

 sudo apt-get install bmon 

Pentru a instala pe Fedora, tastați următoarele:

 sudo dnf install bmon 

Pentru Manjaro, comanda este următoarea:

 sudo pacman -Sy bmon 

Ecranul bmon

Tastați bmon și apăsați Enter pentru a porni programul. Afișajul bmon este împărțit în mai multe panouri. Primele trei sunt etichetate „Interfețe”, „RX” și „TX”. Panoul central afișează statisticile și graficele detaliate.

Panoul „Interfețe” vă arată interfețele de rețea cu care este echipat computerul. De asemenea, arată disciplina de așteptare (qdisc) pe care o folosește fiecare interfață de rețea (mai multe despre acestea mai târziu).

Panoul „RX” afișează biți pe secundă și pachete pe secundă primiți pentru fiecare interfață și coada acesteia. Panoul „TX” arată biții pe secundă și pachetele pe secundă transmise pentru fiecare interfață și coada acesteia.

Pe computerul nostru, avem instalate doar două interfețe: interfața loopback (numită și adaptor loopback) și adaptorul Ethernet cu fir. Interfața loopback se numește „lo”, iar interfața ethernet se numește „enp0s3”.

Adaptorul ethernet de pe computer poate avea un nume diferit. Dacă utilizați un laptop, veți vedea și un adaptor wireless, iar numele acestuia va începe probabil cu „wl”.

Publicitate

bmon afișează informații despre interfața de rețea care este selectată în prezent. Interfața selectată este cea cu un semn evidențiat mai mare decât ( > ) lângă ea. Puteți apăsa săgețile în sus și în jos pentru a muta semnul mai mare decât și a selecta interfața pe care doriți să o monitorizați. Am ales adaptorul ethernet.

Acum că ne aflăm pe o interfață de rețea activă, vedem o anumită activitate în grafice și citiri. Dacă nu vedeți niciun grafic, întindeți fereastra terminalului în jos.

Apăsați tastele săgeți stânga și dreapta pentru a modifica statistica care este reprezentată grafic. Pentru unele grafice, va trebui să apăsați H înainte ca acestea să fie populate; cei care necesită acest lucru vă vor spune asta.

Pentru a vedea statisticile pentru interfața de rețea, întindeți fereastra terminalului până când este suficient de înaltă pentru a le afișa, apoi apăsați D pentru a le afișa. Dacă apăsați I (pentru Informații), vedeți o cantitate mică de informații suplimentare.

Dacă maximizați fereastra terminalului, aceasta afișează mai multe grafice. Apăsați Mai puțin decât (<) și Mai mare decât (>) pentru a adăuga sau elimina perechi de grafice. Dacă apăsați G, pornește și dezactivează afișarea graficelor.

Când apăsați semnul întrebării (?), vedeți ecranul de ajutor „Referință rapidă” cu apăsări comune de taste.

Ecranul „Referință rapidă” din bmon.

Publicitate

Apăsați din nou semnul întrebării (?) pentru a închide ecranul „Referință rapidă”.

Statistica detaliată

Dacă fereastra terminalului este suficient de înaltă și de largă (întindeți-o, dacă nu este), puteți apăsa „D” pentru a comuta pe și dezactiva vizualizarea detaliată.

Numărul de coloane pe care le vedeți depinde de lățimea ferestrei terminalului. Într-o fereastră terminală standard cu 80 de coloane, veți vedea două. Cu cât fereastra este mai largă, cu atât vedeți mai multe coloane. Totuși, nu obțineți mai multe statistici cu o fereastră mai largă; veți vedea în continuare același set de figuri. Dar coloanele vor fi mai scurte.

Intrarea de sus din fiecare coloană vă poate face să credeți că cea din stânga arată informații în octeți, în timp ce cea din dreapta arată informații în pachete. Cu toate acestea, nu este cazul.

Fiecare coloană conține un set de statistici. Numele valorii și valorile primite ( RX ) și transmise ( TX ) sunt afișate pentru fiecare statistică. Dacă vreo valoare apare ca o cratimă ( - ), înseamnă că statistica nu este înregistrată pentru acea direcție.

Unele dintre statistici sunt numai spre interior (primite) sau spre exterior (transmis). De exemplu, o cratimă ( - ) în coloana transmisă indică faptul că statistica este invalidă pentru pachetele de ieșire și se va aplica numai pachetelor de intrare. Linia de sus arată traficul primit și transmis în octeți (în stânga) și pachete (în dreapta).

Publicitate

Toate celelalte statistici sunt listate în ordine alfabetică, trecând de la coloană la coloană. Mai multe dintre ele poartă același nume. Vom explica mai jos ce înseamnă toate acestea. Am precizat și nume prescurtate. Dacă IPv6 nu este menționat, acea statistică se referă la IPv4.

Statisticile din coloana din stânga sunt următoarele:

  • Octeți : Trafic în octeți.
  • Eroare de anulare: un număr de erori de anulare. Undeva în calea conexiunii dintre sursă și destinație, o bucată de software a determinat întreruperea conexiunii.
  • Coliziuni: un număr de erori de coliziune. Două sau mai multe dispozitive au încercat să trimită un pachet simultan. Aceasta nu ar trebui să fie o problemă într-o rețea full-duplex.
  • Erori CRC: un număr de erori ciclice de verificare a redundanței.
  • Erori: numărul total de erori.
  • Eroare de cadru: un număr de erori de cadru. Un cadru este un container de rețea pentru un pachet. O eroare înseamnă că au fost detectate cadre neformate.
  • ICMPv6: numărul de pachete de trafic Internet Control Message Protocol v6.
  • Erori ICMPv6: un număr de erori ICMPv6.
  • Ip6 Broadcast: Un număr de transmisii IPv6, care sunt trimise către toate dispozitivele din rețea.
  • Pachete Ip6 CE: CE înseamnă „client margine”. Acest lucru se aplică de obicei routerelor. Se conectează cu marginea furnizorului (PE) a serviciului de conectivitate la care clientul este abonat.
  • Ip6 Delivers: numărul de pachete IPv6 primite.
  • Pachete Ip6 ECT(1): O notificare explicită de congestie (ECN) permite oricărui capăt al unei conexiuni de rețea să-l avertizeze pe celălalt despre congestie iminentă. Pachetele sunt marcate cu un steag care servește drept avertisment. Capătul de recepție poate reduce ratele de transmisie pentru a încerca să evite congestionarea și posibila pierdere de pachete. Pachetele ECN-Capable Transport (ECT) sunt marcate cu un steag pentru a indica că sunt livrate printr-un ECN Capable Transport. Acest lucru permite routerelor intermediare să reacționeze în consecință. Pachetele ECN de tip 1 indică capătului de recepție să activeze ECN și să îl adauge la transmisiile de ieșire.
  • Erori de antet IP6: numărul de pachete cu erori în antetul IPv6.
  • Pachete Ip6 Multicast: numărul de pachete IPv6 Multicast (o formă de difuzare).
  • Pachete Ip6 Non-ECT: Numărul de pachete IPv6 nemarcate ca ECT(1).
  • Reasamblare/Fragment Ip6 OK: Numărul de pachete IPv6 care au fost fragmentate din cauza dimensiunii și reasamblate cu succes la primire.
  • Timpuri de reasamblare Ip6: numărul de pachete IPv6 care au fost fragmentate din cauza dimensiunii, dar nu au putut fi reasamblate la primire din cauza expirărilor.
  • Pachete trunchiate Ip6: numărul de pachete trunchiate. Când este transmis un pachet IPv6, acesta poate fi marcat ca candidat pentru trunchiere. Dacă vreun router intermediar nu poate gestiona pachetul deoarece depășește unitatea de transmisie maximă (MTU), routerul trunchiază pachetul, îl marchează ca atare și îl redirecționează către destinație. Când este primit, capătul îndepărtat poate trimite un pachet ICMP înapoi la sursă, spunându-i să-și actualizeze estimarea MTU pentru a-și scurta pachetele.
  • Ip6 Discards: numărul de pachete IPv6 aruncate. Dacă dispozitivele dintre sursă și destinație nu au fost configurate corect și setările lor IPv6 nu funcționează, acestea nu vor gestiona traficul IPv6; va fi aruncat.
  • Pachete IP6: numărul total al tuturor tipurilor de pachete IPv6.
  • Eroare ratată: numărul de pachete care lipsesc dintr-o transmisie. Pachetele sunt numerotate astfel încât mesajul original să poată fi recreat. Dacă lipsesc vreunul, absența lor este evidentă.
  • Fără handler: numărul de pachete pentru care nu a fost găsit niciun handler de protocol.
  • Eroare fereastră: numărul erorilor ferestrei. Fereastra unui pachet este numărul de octeți din antet. Dacă acesta conține un număr anormal, antetul nu poate fi interpretat.

Statisticile din coloana din dreapta sunt următoarele:

  • Pachete: Trafic în pachete.
  • Erori de transport: un număr de erori de operator. Acestea apar dacă apare o problemă cu modularea unui semnal. Acest lucru ar putea indica fie o nepotrivire duplex între echipamentele de rețea, fie deteriorarea fizică a unui cablu, priză sau conector.
  • Comprimat: numărul de pachete comprimate.
  • Scăpat: numărul de pachete scăpat, care, ca urmare, nu au reușit să ajungă la destinație (posibil din cauza aglomerației).
  • Erori FIFO: numărul erorilor buffer-ului primul intrat, primul ieşit (FIFO). Bufferul de transmisie al interfeței de rețea este depășit deoarece nu este golit suficient de repede.
  • Erori de ritm cardiac: hardware-ul sau software-ul pot utiliza un semnal obișnuit pentru a arăta că funcționează corect sau pentru a permite sincronizarea. Numărul de aici este câte „bătăi ale inimii” s-au pierdut.
  • Erori de sumă de verificare ICMPv6: numărul de erori de sumă de verificare a mesajelor Internet Control Message Protocol v6.
  • Erori de adresă IP6: numărul de erori datorate adreselor IPv6 proaste
  • Pachete de difuzare IP6: numărul de pachete de difuzare IPv6.
  • Erori de sumă de control IP6: numărul erorilor de sumă de control IPv6. Pachetele ICMP și User Datagram Protocol (UDP) în IPv6 folosesc sume de control, dar pachetele IPv6 IP obișnuite nu.
  • Pachete Ip6 ECT(0): Acestea sunt tratate la fel ca și pachetele ECT(1).
  • Ip6 Forwarded: numărul de pachete IPv6 de redirecționare unicast livrate. Unicast trece pachetele de la sursă la destinație printr-un lanț de routere intermediare și redirecționare.
  • Ip6 Multicasts: numărul de pachete IPv6 de redirecționare multicast livrate. Multicast trimite pachetele către un grup de destinații simultan (așa funcționează Wi-Fi).
  • Ip6 No Route: Numărul erorilor fără rută. Aceasta înseamnă că destinația este inaccesibilă, deoarece o rută către capătul îndepărtat nu poate fi calculată
  • Eșecuri de reasamblare/fragment Ip6: numărul de pachete IPv6 care au fost fragmentate din cauza dimensiunii și nu au putut fi reasamblate la primire.
  • Solicitări de reasamblare/fragmentare Ip6: numărul de pachete IPv6 care au fost fragmentate din cauza dimensiunii și au trebuit să fie reasamblate la primire.
  • Erori Ip6 prea mari: numărul de mesaje ICMP „prea mare” primite, indicând faptul că au fost trimise pachete IPv6 mai mari decât unitatea de transmisie maximă.
  • Erori de protocol necunoscut Ip6: numărul de pachete primite folosind un protocol necunoscut.
  • Ip6 Octets: Volumul de octeți recepționați și transmisi. IPv6 are un antet de 40 de octeți (320 de biți, 8 biți per octet) și o dimensiune minimă a pachetului de 1.280 de octeți (10.240 de biți).
  • Eroare de lungime: numărul de pachete care sosesc cu o valoare a lungimii în antet care este mai scurtă decât lungimea minimă posibilă a pachetului.
  • Multicast: Un număr de transmisii multicast.
  • Over Errors: un număr de supra erori. Fie tamponul de recepție a depășit, fie pachetele au sosit cu o valoare a cadrului mai mare decât cea suportată, deci nu pot fi acceptate.

Informațiile suplimentare

Dacă apăsați I (ca în „Informații”), se comută panourile de informații suplimentare. Dacă nu apar informații suplimentare, fereastra nu este suficient de mare. Puteți apăsa D pentru a dezactiva statisticile detaliate, G pentru a dezactiva graficele sau puteți întinde fereastra.

Informațiile suplimentare sunt următoarele:

  • MTU: Unitatea de transmisie maximă.
  • Operstate: starea operațională a interfeței de rețea.
  • Adresă: adresa de control al accesului media (MAC) a interfeței de rețea.
  • Mod: Acesta este de obicei setat la default , dar puteți vedea tunnel , beet sau ro . Primele trei se referă la securitatea IP (IPSec). Setarea default este de obicei modul de transport , în care sarcina utilă este criptată. Rețelele private virtuale (VPN) de la client la site îl folosesc de obicei. VPN-urile de la site la site folosesc de obicei modul tunnel , în care întregul pachet este criptat. Într-un mod Bound End-to-End Tunnel ( beet ), un tunel este creat între două dispozitive cu adrese IP fixe, ascunse și alte adrese IP vizibile. Modul ro este o metodă de optimizare a rutei pentru IPv6 mobil.
  • Familie: familia de protocoale de rețea care este în uz.
  • Qdisc: disciplina de așteptare. Acesta poate fi setat la red (Detecție timpurie aleatorie), codel (Întârziere controlată) sau fq_codel (Coda de așteptare corectă cu întârziere controlată).
  • Steaguri: acești indicatori arată capabilitățile unei conexiuni de rețea. Conexiunea noastră poate folosi broadcast și multicast , iar interfața este Up (operațională și conectată).
  • IfIndex: Indexul de interfață este un număr unic de identificare asociat cu o interfață de rețea.
  • Broadcast: Adresa MAC de difuzare. Trimiterea la această adresă transmite pachetele primite către toate dispozitivele.
  • TXQlen: dimensiunea cozii de transmisie (capacitate).
  • Alias: un alias IP oferă unei conexiuni fizice la rețea mai multe adrese IP. Apoi poate oferi acces la diferite subrețele prin intermediul unei singure plăci de interfață de rețea. Nu există pseudonime în uz pe computerul nostru de testare.

bmon este o creatură destul de amuzantă – nici pește, nici păsări, în anumite privințe. Graficele au un farmec primitiv și vă oferă o bună indicație a ceea ce se întâmplă.

Cu toate acestea, având în vedere limitările de a fi redate în ASCII, nu se poate aștepta ca acestea să fie foarte precise. O privire ocazională, totuși, vă poate spune dacă conexiunea este maximă, misterios lipsită de trafic sau undeva la mijloc.

Statisticile detaliate, pe de altă parte, sunt doar atât: detaliate și granulare. Împreună cu abordarea oarecum casuală în etichetarea lor, le face și mai dificil de descifrat.

Sperăm că descrierile de mai sus vor face bmon puțin mai accesibil. Este într-adevăr un instrument util, ușor, cu ajutorul căruia poți monitoriza starea traficului de rețea și consumul de lățime de bandă.

LEGATE: Cele mai bune laptopuri Linux pentru dezvoltatori și entuziaști