Sådan bruges bmon til at overvåge netværksbåndbredde på Linux

Med bmon Linux-applikationen kan du se båndbreddeforbruget på dine netværksforbindelser. Men at forstå de finere detaljer kræver noget detektivarbejde, så vi har gjort det for dig!

Hvordan bmon virker

Dynamiske grafer og realtidsstatistikker, der viser aktiviteten på dine forskellige netværksgrænseflader, kan give dig et godt overblik over dit netværks ydeevne og båndbreddeforbrug. Det er præcis hvad bmon sørger for dig, lige i et terminalvindue.

Du kan kigge på graferne nu og da, ligesom du ville gøre med speedometeret i din bil. Ligeledes, hvis noget på dit køretøj skal undersøges, kan en mekaniker tilslutte det til et diagnosesystem og kontrollere udlæsningerne. bmon har lignende detaljerede udlæsninger.

Det skal dog siges – bmon commands statistikker kan være forvirrende i starten. For eksempel er der tre kaldet “Ip6 Reasm/Frag.” Hvad er der med det?

Ikke desto mindre, når du først har knækket koden, er kommandoens udlæsninger uvurderlige, hvis du ønsker en mere detaljeret forståelse af din netværkstrafik.

Vi har gjort arbejdet for dig og endda tjekket kildekoden for at komme til bunds i nogle af disse. Heldigvis er alt andet ved bmon rimelig enkelt.

Installerer bmon

For at installere bmon på Ubuntu, brug denne kommando:

sudo apt-get install bmon

Det

For at installere på Fedora, skriv følgende:

sudo dnf install bmon

Det

For Manjaro er kommandoen følgende:

sudo pacman -Sy bmon

Det

bmon-skærmen

Skriv bmon og tryk på Enter for at starte programmet. Bmon-skærmen er opdelt i flere ruder. De tre øverste er mærket “Interfaces”, “RX” og “TX”. Den centrale rude viser de detaljerede statistikker og grafer.

Ruden “Interfaces” viser dig de netværksgrænseflader, som din computer er udstyret med. Den viser også kødisciplinen (qdisc), som hver netværksgrænseflade bruger (mere om disse senere).

“RX”-ruden viser de modtagne bits pr. sekund og pakker pr. sekund for hver grænseflade og dens kø. “TX”-ruden viser de transmitterede bits per sekund og pakker per sekund for hver grænseflade og dens kø.

På vores computer har vi kun to interfaces installeret: loopback-grænseflade (også kaldet loopback-adapter) og den kablede ethernet-adapter. Loopback-grænsefladen kaldes “lo”, og ethernet-grænsefladen kaldes “enp0s3.”

Ethernet-adapteren på din maskine har muligvis et andet navn. Hvis du bruger en bærbar computer, vil du også se en trådløs adapter, og dens navn vil sandsynligvis begynde med “wl.”

bmon viser information om den netværksgrænseflade, der aktuelt er valgt. Den valgte grænseflade er den med et fremhævet større-end-tegn (>) ved siden af. Du kan trykke på pil op og pil ned for at flytte større-end-tegnet og vælge den grænseflade, du vil overvåge. Vi valgte ethernet-adapteren.

Nu hvor vi er på en aktiv netværksgrænseflade, ser vi noget aktivitet i graferne og udlæsningerne. Hvis du ikke ser nogen grafer, skal du strække terminalvinduet nedad.

Tryk på venstre og højre piletasterne for at ændre den statistik, der tegnes. For nogle grafer skal du trykke på H, før de udfyldes; dem, der kræver dette, vil fortælle dig det.

For at se statistikkerne for netværksgrænsefladen skal du strække terminalvinduet, indtil det er højt nok til at vise dem, og derefter trykke på D for at vise dem. Hvis du trykker på I (for info), ser du en lille mængde yderligere information.

  Sådan installeres Xonotic på Linux

Hvis du maksimerer terminalvinduet, viser det flere grafer. Tryk på Mindre end () for at tilføje eller fjerne par af grafer. Hvis du trykker på G, slår det visningen af ​​grafer til og fra helt.

Når du trykker på spørgsmålstegnet (?), ser du “Hurtig reference”-hjælpeskærmen med almindelige tastetryk.

Det

Tryk på spørgsmålstegnet (?) igen for at lukke “Quick Reference”-skærmen.

Den detaljerede statistik

Hvis dit terminalvindue er højt og bredt nok (stræk det ud, hvis det ikke er det), kan du trykke på “D” for at slå den detaljerede visning til og fra.

Antallet af kolonner, du ser, afhænger af bredden af ​​terminalvinduet. I et standard 80-kolonner terminalvindue vil du se to. Jo bredere vinduet er, jo flere kolonner ser du. Du får dog ikke flere statistikker med et bredere vindue; du vil stadig se det samme sæt af figurer. Men kolonnerne bliver kortere.

Den øverste indgang i hver kolonne kan få dig til at tro, at den til venstre viser information i bytes, mens den til højre viser information i pakker. Det er dog ikke tilfældet.

Hver kolonne indeholder et sæt statistikker. Navnet på værdien og de modtagne (RX) og transmitterede (TX) værdier vises for hver statistik. Hvis nogen værdier vises som en bindestreg (-), betyder det, at der ikke registreres statistik for den retning.

Nogle af statistikkerne er kun indadgående (modtaget) eller udadgående (transmitteret). For eksempel angiver en bindestreg (-) i den transmitterede kolonne, at statistik er ugyldig for udgående pakker og kun vil gælde for indgående pakker. Den øverste linje viser den modtagne og transmitterede trafik i bytes (til venstre) og pakker (til højre).

Alle de andre statistikker er opført i alfabetisk rækkefølge, hopper fra kolonne til kolonne. Flere af dem deler samme navn. Vi vil forklare, hvad de alle betyder nedenfor. Vi har også stavet forkortede navne. Hvis IPv6 ikke er nævnt, refererer denne statistik til IPv4.

Statistikken i venstre kolonne er som følger:

Bytes: Trafik i bytes.
Afbrydelsesfejl: En optælling af afbrydelsesfejl. Et sted i forbindelsesstien mellem kilden og destinationen fik et stykke software en forbindelse til at afbryde.
Kollisioner: En optælling af kollisionsfejl. To eller flere enheder har forsøgt at sende en pakke samtidigt. Dette burde ikke være et problem i en fuld-duplex netværk.
CRC-fejl: Et antal af cyklisk redundanskontrol fejl.
Fejl: Det samlede antal fejl.
Rammefejl: En optælling af rammefejl. En ramme er en netværkscontainer til en pakke. En fejl betyder, at der blev registreret forkerte rammer.
ICMPv6: Antallet af Internet Control Message Protocol v6 trafikpakker.
ICMPv6-fejl: En optælling af ICMP v6-fejl.
Ip6 Broadcast: En optælling af IPv6 Udsendelser, som sendes til alle enheder på netværket.
Ip6 CE-pakker: CE står for “kundefordel.” Dette gælder normalt for routere. De forbinder med udbyderkant (PE) for den forbindelsestjeneste, som kunden abonnerer på.
Ip6 leverer: Antallet af indgående IPv6-pakker.
Ip6 ECT(1) Pakker: An Eksplicit meddelelse om overbelastning (ECN) tillader den ene ende af en netværksforbindelse at advare den anden om forestående overbelastning. Pakker er markeret med et flag, der tjener som advarsel. Den modtagende ende kan reducere transmissionshastighederne for at forsøge at undgå overbelastning og eventuelt pakketab. ECN-Capable Transport (ECT)-pakker er markeret med et flag for at angive, at de bliver leveret via en ECN Capable Transport. Dette gør det muligt for mellemroutere at reagere i overensstemmelse hermed. Type 1 ECN-pakker fortæller den modtagende ende at aktivere ECN og tilføje det til udgående transmissioner.
Ip6 Header Errors: Antallet af pakker med fejl i IPv6 Header.
Ip6 Multicast-pakker: Antallet af IPv6 Multicast (en form for udsendelse) pakker.
Ip6 Non-ECT-pakker: Antallet af IPv6-pakker, der ikke er markeret som ECT(1).
Ip6-genmontering/fragment OK: Antallet af IPv6-pakker, der blev fragmenteret på grund af størrelse og med succes samlet igen ved modtagelsen.
Ip6-gensamlingstimeouts: Antallet af IPv6-pakker, der blev fragmenteret på grund af størrelse, men som ikke kunne samles igen ved modtagelsen på grund af timeouts.
Ip6 trunkerede pakker: Antallet af trunkerede pakker. Når en IPv6-pakke transmitteres, kan den markeres som en kandidat til trunkering. Hvis nogen mellemliggende routere ikke kan håndtere pakken, fordi den overskrider maksimal transmissionsenhed (MTU), afkorter routeren pakken, markerer den som sådan og sender den videre til destinationen. Når den er modtaget, kan den fjerne ende sende en ICMP-pakke tilbage til kilden og bede den opdatere sit MTU-estimat for at forkorte sine pakker.
Ip6-kasser: Antallet af kasserede IPv6-pakker. Hvis nogen enheder mellem kilden og destinationen ikke var konfigureret korrekt, og deres IPv6-indstillinger ikke virker, håndterer de ikke IPv6-trafik. det vil blive kasseret.
Ip6-pakker: Det samlede antal af alle typer IPv6-pakker.
Missed Error: Antallet af pakker, der mangler fra en transmission. Pakker er nummererede, så den originale besked kan genskabes. Hvis nogen mangler, er deres fravær iøjnefaldende.
Ingen handler: Antallet af pakker, som der ikke blev fundet nogen protokolbehandler for.
Vinduesfejl: Antallet af vinduesfejl. Vinduet for en pakke er antallet af oktetter i headeren. Hvis dette har et unormalt tal, kan overskriften ikke fortolkes.

  5 bedste Gentoo Linux-derivater at prøve

Statistikken i højre kolonne er som følger:

Pakker: Trafik i pakker.
Transportørfejl: En optælling af operatørfejl. Disse opstår, hvis der opstår et problem med moduleringen af ​​et signal. Dette kunne indikere enten en duplex uoverensstemmelse mellem netværksudstyr eller fysisk skade på et kabel, en stikkontakt eller et stik.
Komprimeret: Antallet af komprimerede pakker.
Droppet: Antallet af pakker, der blev droppet, som som følge heraf ikke nåede deres destination (muligvis på grund af overbelastning).
FIFO-fejl: Antallet af først ind først ud (FIFO) bufferfejl. Netværksgrænsefladetransmissionsbufferen overskrider, fordi den ikke tømmes hurtigt nok.
Hjerteslagsfejl: Hardware eller software kan bruge et almindeligt signal til at vise, at de fungerer korrekt eller for at tillade synkronisering. Tallet her er, hvor mange “hjerteslag” der er gået tabt.
ICMPv6 Checksum Errors: Antallet af Internet Control Message Protocol v6 besked checksum fejl.
Ip6-adressefejl: Antallet af fejl på grund af dårlige IPv6-adresser
Ip6 Broadcast Packets: Antallet af IPv6 Broadcast-pakker.
Ip6-kontrolsumfejl: Antallet af IPv6-kontrolsumfejl. ICMP og Brugerdatagramprotokol (UDP)-pakker i IPv6 bruger kontrolsummer, men det gør almindelige IPv6 IP-pakker ikke.
Ip6 ECT(0)-pakker: Disse behandles på samme måde som ECT(1)-pakker.
Ip6-videresendt: Antallet af IPv6-pakker unicast videresendelse leveret. Unicast hopper pakkerne fra kilde til destination gennem en kæde af mellemliggende routere og videresendere.
Ip6 Multicasts: Antallet af IPv6-pakker multicast-videresendelse leveret. Multicast sender pakkerne til en gruppe destinationer samtidigt (hvilket er hvordan Wi-Fi fungerer).
Ip6 No Route: Antallet af ingen rutefejl. Det betyder, at destinationen ikke kan nås, fordi en rute til den fjerne ende ikke kan beregnes
Ip6-gensamling/fragmentfejl: Antallet af IPv6-pakker, der blev fragmenteret på grund af størrelse, og som ikke kunne samles igen ved modtagelsen.
Ip6-genmontering/fragmentanmodninger: Antallet af IPv6-pakker, der blev fragmenteret på grund af størrelse, og som skulle samles igen ved modtagelse.
Ip6 Too Big Errors: Antallet af ICMP “for store” meddelelser modtaget, hvilket indikerer, at der blev sendt IPv6-pakker, der var større end den maksimale transmissionsenhed.
Ip6 Unknown Protocol Errors: Antallet af pakker modtaget ved hjælp af en ukendt protokol.
Ip6 Oktetter: Volumen af ​​oktetter modtaget og transmitteret. IPv6 har en header på 40 oktetter (320 bit, 8 bit pr. oktet) og en minimumspakkestørrelse på 1.280 oktetter (10.240 bit).
Længdefejl: Antallet af pakker, der ankommer med en længdeværdi i overskriften, der er kortere end den mindst mulige pakkelængde.
Multicast: En optælling af multicast-udsendelser.
Overfejl: En optælling af overfejl. Enten er modtagebufferen løbet over, eller også er der kommet pakker med en rammeværdi, der er større end den understøttede, så de kan ikke accepteres.

  Sådan bruger du Steam In-home Streaming til at spille Windows-spil på Linux

De yderligere oplysninger

Hvis du trykker på I (som i “Info”), skifter det de ekstra informationsruder. Hvis der ikke vises yderligere oplysninger, er vinduet ikke stort nok. Du kan trykke på D for at deaktivere den detaljerede statistik, G for at slukke for graferne, eller du kan strække vinduet.

De yderligere oplysninger er som følger:

MTU: Den maksimale transmissionsenhed.
Driftstilstand: Driftstilstanden for netværksgrænsefladen.
Adresse: The medieadgangskontrol (MAC)-adresse på netværksgrænsefladen.
Tilstand: Dette er normalt indstillet til standard, men du kan se tunnel, roer eller ro. De tre første vedrører IP-sikkerhed (IPSec). Standardindstillingen er normalt transportform, hvor nyttelasten er krypteret. Klient-til-sted virtuelle private netværk (VPN’er) bruger typisk dette. Site-to-site VPN’er bruger typisk tunneltilstand, hvor hele pakken er krypteret. I en Bound End-to-End Tunnel-tilstand (roe) oprettes en tunnel mellem to enheder med faste, skjulte IP-adresser og andre synlige IP-adresser. Ro-tilstanden er en routing-optimeringsmetode til mobil IPv6.
Familie: Den netværksprotokolfamilie, der er i brug.
Qdisc: Kødisciplin. Dette kan indstilles til rødt (Tilfældig tidlig detektion), kodel (Kontrolleret forsinkelse), eller fq_codel (Rimelig kø med kontrolleret forsinkelse).
Flag: Disse indikatorer viser mulighederne for en netværksforbindelse. Vores forbindelse kan bruge broadcast- og multicast-transmissioner, og grænsefladen er op (operativ og forbundet).
IfIndex: Interface-indekset er et unikt, identificerende nummer, der er knyttet til en netværksgrænseflade.
Broadcast: Broadcast-MAC-adressen. Ved at sende til denne adresse udsendes modtagne pakker til alle enheder.
TXQlen: Transmissionskøens størrelse (kapacitet).
Alias: Et IP-alias giver en fysisk netværksforbindelse flere IP-adresser. Det kan så give adgang til forskellige undernet via et netværkskort. Der er ingen aliaser i brug på vores testcomputer.

bmon er lidt af et sjovt væsen – hverken fisk eller fjerkræ på nogle måder. Graferne har en primitiv charme og giver dig en god indikation af, hvad der foregår.

Men i betragtning af begrænsningerne ved gengives i ASCII, de kan ikke rigtig forventes at være superpræcise. Et lejlighedsvist blik kan dog fortælle dig, om forbindelsen er maksimal, på mystisk vis blottet for trafik eller et sted midt imellem.

Den detaljerede statistik er på den anden side netop det: detaljeret og granuleret. Sammen med den noget afslappede tilgang i deres mærkning gør det dem endnu sværere at tyde.

Forhåbentlig vil beskrivelserne ovenfor gøre bmon lidt mere tilgængelig. Det er virkelig et nyttigt, letvægtsværktøj, som du kan overvåge netværkstrafikkens sundhed med og forbruget af båndbredde.