14

Ik zou iptraf of iftop aanbevelen als je niet veel functionaliteit nodig hebt. Op de iptraf-startpagina:

IPTraf is een hulpprogramma voor consolenetwerkstatistieken voor Linux. Het verzamelt veel meetgegevens, zoals het aantal TCP-verbindingen en bytes, interfacestatistieken en activiteitsindicatoren, TCP/UDP-verkeersstoringen en het aantal pakket- en bytestations lokaal netwerk. Kenmerken

  • Een IP-verkeersmonitor die informatie toont over het IP-verkeer dat door uw netwerk gaat. Inclusief TCP-vlaginformatie, pakket- en byteaantallen, ICMP-gegevens, OSPF-pakkettypen.
  • Algemene en gedetailleerde interfacestatistieken die IP-, TCP-, UDP-, ICMP-, niet-IP- en andere IP-pakketten, IP-checksum-fouten, interface-activiteit en aantal pakketten tonen.
  • TCP- en UDP-servicemonitor die inkomende en uitgaande pakkettellers toont voor algemene TCP- en UDP-applicatiepoorten
  • LAN-statistiekenmodule die actieve hosts detecteert en statistieken weergeeft die de gegevensactiviteit daarop weergeven
  • TCP-, UDP- en andere protocolweergavefilters waarmee u alleen het verkeer kunt bekijken waarin u geïnteresseerd bent.
  • Registratie
  • Ondersteunt interfacetypen Ethernet, FDDI, ISDN, SLIP, PPP en loopback.
  • Maakt gebruik van de ingebouwde raw socket-interface Linux-kernels, waardoor het kan worden gebruikt op een breed scala aan ondersteunde netwerkkaarten.
  • Menugestuurde modus op volledig scherm.

Screenshot van het IPTraf-hoofdmenu:

Dit is een screenshot als iftop:

1

Zaken als Bro IDS analyseren het verkeer dat door de netwerkinterface gaat en registreren allerlei zaken, zoals verbindingen en hoeveelheid IR-verkeer, gevonden protocollen en informatie voor elk protocol (bijv. HTTP-verzoeken, verzonden e-mails, DNS-query's, algemene SSL-certificaatnamen ...). Dit vertelt u niet wat voor soort applicatie het is (behalve voor het registreren van user-agents, zoals voor HTTP-browsers). Omdat het aan het pakket snuffelt, kan het gegevens missen als het de hoeveelheid uitgewisselde gegevens niet kan bijhouden (hoewel het wel rapporteert als dat wel het geval is).

conntrackd kan worden gebruikt om elke verbinding die wordt bijgehouden door een stateful firewall te loggen en gegevens uit te wisselen. Het werkt ongeacht de hoeveelheid gegevens die door het systeem gaan, maar rapporteert geen gegevens die niet door de firewall gaan, zoals brugverkeer, als dit is uitgesloten van overspanningsbeveiliging of rauwe socket.

U kunt ook firewallregels gebruiken om verkeer te loggen met behulp van het LOG- of ULOG-doel in combinatie met ulogd.

Om te loggen wat er aan de pid-verbinding is gekoppeld, moet je een auditsysteem gebruiken (auditd/auditctl), maar dat zou veel werk zijn en niet gemakkelijk te ontleden.

Soms hoeft u alleen maar uw verkeer te kennen of te beheersen. Situaties zijn anders. Ik vraag me bijvoorbeeld af hoeveel films en muziek ik in een maand heb 'opgepompt', of iemand heeft beperkt internet, maar je weet nooit waarom. Heeft Ubuntu een verkeersmonitoringtool? Natuurlijk is dat zo! Laten we eens kijken naar twee programma's om dit probleem op te lossen.

Het programma biedt een zeer gedetailleerd rapport over hoeveel verkeer is besteed aan een bepaalde internetverbinding. Dit rapport omvat:

  1. download-uploadsnelheid voor een bepaalde sessie
  2. het totale verkeersvolume, het huidige verkeersvolume en het maandelijkse verkeersvolume
  3. tijd van de huidige ppp-sessie (dit is erg handig als u per uur voor internet betaalt)

Als u beperkt internet heeft, kunt u in de programma-instellingen de gewenste verkeerslimiet instellen en ziet u hoeveel er is uitgegeven en hoeveel verkeer er nog over is.

U kunt Network Traffic Monitor downloaden via het officiële programma.

Met het programma kunt u het verkeersgebruik per dag, week en maand bekijken. Als uw verkeerslimiet is overschreden, geeft Download Monitor u een bericht. De mooie grafieken die het programma maakt, helpen u uw verkeer onder controle te houden.
U kunt het programma installeren met behulp van de volgende opdrachten in de Terminal:

sudo add-apt-repository ppa:duncanjdavis/download-monitor-submit
sudo apt-get-update
sudo apt-get install download-monitor


Voor gebruikers aan wie de mogelijkheid wordt ontzegd om een ​​onbeperkt tariefplan te gebruiken (ze worden bijvoorbeeld gedwongen om vaak 3G te gebruiken tijdens het roamen), is het berekenen van het verkeersverbruik een nogal kritische taak. Hoe dit op te lossen in Ubuntu? Laten we eens kijken naar twee interessante toepassingen.

Netwerkverkeersmonitor (NTM)

Deze applicatie geeft een vrij gedetailleerd rapport weer over het gebruik van de opgegeven internetverbinding. Dit rapport omvat:

  1. huidige download-uploadsnelheid
  2. totale hoeveelheid verkeer, hoeveelheid verkeer voor de huidige ppp-sessie, hoeveelheid verkeer per maand
  3. tijd van de huidige ppp-sessie (relevant als betalen voor internet per uur is, ik weet niet waar dit nog meer bestaat)

Met het programma kunt u de interface specificeren die wordt gemonitord en, als het een PPPoE-verbinding is, de mogelijkheid bieden om de verbinding automatisch te beëindigen wanneer de in de instellingen gespecificeerde verkeers-/tijdslimiet voor een bepaalde periode (dag/dag) wordt bereikt. week/maand of een ander interval). Helaas is NTM, ondanks zulke rijke mogelijkheden, nogal slecht geïntegreerd in Ubuntu, alles is beperkt tot een statische indicator, en om de huidige situatie met limieten te zien, moet je het programmavenster openen, wat niet altijd handig is.

Monitor downloaden

Het programma is gemaakt als onderdeel van de Ubuntu Apps Showdown. De mogelijkheden zijn veel bescheidener: met de downloadmonitor kunt u dagelijkse, wekelijkse en maandelijkse verkeerslimieten instellen, berichten ontvangen over het overschrijden van deze limieten en eenvoudige grafieken bekijken. Aan de andere kant is het programma redelijk goed geïntegreerd in Ubuntu; er staat een voortgangsbalk op het Unity-pictogram, waarmee je kunt inschatten hoeveel verkeer er nog over is.

U kunt het programma installeren met behulp van de ppa-repository met behulp van de volgende opdrachten:

Sudo add-apt-repository ppa:duncanjdavis/download-monitor-submit sudo apt-get update sudo apt-get install download-monitor

Hoe houd jij je internetverbruik onder controle?

Op een dag moest ik de hoeveelheid verkeer meten die een applicatie verbruikte. Een manier om dit te meten is door een proxy in te stellen. Maar wat als je geen proxyserver wilt opzetten? Ik wilde dat niet. Op zoek naar andere manieren heb ik eerst Habr afgezocht en daarna het internet. Omdat ik hier veel tijd aan heb besteed, maak ik nu deze notitie zodat anderen dit probleem niet hebben.

BELANGRIJK:
Deze methode werkt als we weten tot welk(e) adres(sen) onze applicatie toegang heeft, of vanaf welke poort(en).

Stap voor stap instructies

1. iptraf
iptraf is een klein programma dat alle netwerkactiviteit van een computer kan monitoren.
Bronnen en binaire bestanden kunnen worden gedownload van de iptraf-website.

In het geval van Ubuntu kunt u iptraf installeren door de opdracht uit te voeren:
sudo apt-get installeer iptraf

2. Laten we lanceren!
In de terminal schrijven we: iptraf
3. Instellen
U moet logboekregistratie inschakelen (anders zal het programma beperkt zijn tot weergave op het scherm). Dit gebeurt uiteraard in de sectie "Configureren".

4. Begin met monitoren
We verlaten de instellingen, klikken op “IP-verkeersmonitor” en selecteren het pad naar het bestand waar we de netwerkactiviteit zullen loggen.

Hierna zouden we deze foto moeten zien:

Dat is alles wat je nodig hebt! Bijna.

5. Analyse
Zoals ik hierboven al zei, moeten we weten tot welk adres/poort onze applicatie toegang heeft (het verkeer dat we berekenen).
Als we bijvoorbeeld willen berekenen hoeveel verkeer een uur last.fm-radio kost, moeten we het volgende definiëren:
de last.fm-applicatie heeft toegang tot adressen als deze:
195.24.* (last.fm heeft geen toegang tot één adres, maar tot een reeks adressen).
Om uit het logboek (dat een uur duurde om te schrijven) de hoeveelheid verkeer te extraheren die werd verbruikt, schreef ik een klein “programma” in Java, dat dit verkeer telt:

Pakketstatistiek; java.io.BufferedReader importeren; java.io.FileReader importeren; java.io.IOException importeren; /** * * @author http://habrahabr.ru/users/nucleotide/ */ public class Main ( public static void main(String args) genereert IOException ( BufferedReader reader = new BufferedReader(new FileReader("/var/log /iptraf/ip_traffic")); String line; long count = 0; long traffic = 0; while ((line = reader.readLine()) != null) ( count++; String s = line.split(" "); als (s.lengte< 12) { continue; } if (s.contains("195.24.") || s.contains("195.24.")) { //"from" and "to" traffic += new Long(s); if(s.length>16) verkeer += nieuwe Long(s);

) ) System.out.println("Aantal: " + aantal + " regels"); System.out.println("Totaal: " + verkeer + " bytes!"); System.out.println("Totaal: " + verkeer / 1024 + " Kbytes!");

System.out.println("Totaal: " + verkeer / (1024 * 1024) + " Mbytes!"); )) Deze optie werkt goed als je voortdurend logs aan het schrijven bent, en dan “daar iets” moet meten. U hoeft alleen maar de parser precies zo te schrijven/configureren als nodig is