Geschwindigkeit der Netzwerk-Karte auslesen

Alle Fragen zur Netzwerkkommunikation
Antworten
HK12
Beiträge: 40
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von HK12 »

Hi,
ich möchte gerne ein kleines Tool schreiben was mir den aktuellen Netzwerk-Speed zu Verfügung stellt. Ich suche seit heute morgen und finde leider nichts. Ich dachte man kann das in /proc finden.

Weiß vielleicht jemand wie man den aktuellen Speed auslesen kann, so das ich das in FPC bearbeiten kann?

Vielen Dank im voraus

Benutzeravatar
theo
Beiträge: 10874
Registriert: Mo 11. Sep 2006, 19:01

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von theo »

Was meinst du genau?
Die Verbindungsgeschwindigkeit geht z.B. so

Code: Alles auswählen

cat /sys/class/net/eth0/speed

HK12
Beiträge: 40
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von HK12 »

Ich meine den Aktuellen Speed, so wie z.b. iftop das anzeigt. Aber iftop bringt mich nicht weiter. Ich möchte es selber auslesen damit ich es z.b. an ein MonitorProgramm weiter reichen kann.

Nachtrag: Oder iptraf-ng.

Benutzeravatar
theo
Beiträge: 10874
Registriert: Mo 11. Sep 2006, 19:01

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von theo »

Deine Frage ist mMn ungenau.
Das Thema heisst: "Geschwindigkeit der Netzwerk-Karte auslesen".
- Willst du wissen, was die Karte "könnte".
- Willst du die Verbindungsgeschwindigkeit wissen (siehe oben)
- Willst den Traffic anschauen? (Hat mMn nicht viel mit Geschwindigkeit zu tun).
- Willst du einen Speedtest bauen?

Aber wie dem auch sei, ein Lazarus Thema ist das nicht direkt.

HK12
Beiträge: 40
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von HK12 »

Hi,
also ich verstehe unter Traffic wieviel rein und raus gegangen ist.
Ich möchte aber den aktuellen Speed haben in dem Moment wo ich auslese. Nicht der Speed womit Conncted ist. Ich weiß nicht wie ich es bennen soll. Dewegen habe ich geschrieben wie iftop. iftop zeigt die aktuelle Geschwindigkeit der NIC an. Macht man nix ist er fast 0-2k. Schiebt man z.b. per Samba etwas drauf dann geht der aktuelle Speed natürlich hoch. Und genau das zeigt iftop, iptraf an.

Nun weiß ich. Ich möchte KB/s haben. Oder Byte Pro Sekunde.

Stevie
Beiträge: 163
Registriert: Di 27. Feb 2024, 22:40

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von Stevie »

Wenn Du das machen willst, ist unter Linux (!) das /proc Dateisystem dein Freund und darin ganz speziell die "Datei" /proc/net/dev. Darin findest du für jedes angeschlossene Netzwerk-Device u.A. die Anzahl an Bytes, die seit dem Systemstart geschrieben bzw. gelesen worden sind.

Dein kleines Tool muss nun also die "Packets received" auslesen, eine genau definierte Zeit warten und das dann erneut machen. Dann kannst Du den durchschnittlichen Durchsatz in diesem Intervall berechnen und ausgeben. Je nach gewählter Intervallgröße bekommst Du dann einen im Rahmen Deiner Anforderungen sinnvollen (oder halt unsinnigen) Wert raus.

HK12
Beiträge: 40
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von HK12 »

Unter /proc hatte ich als erstes gesucht.
Du meinst also jede Sekunde auslesen dann könnte man den Speed berechnen, das ist richtig. Ich dachte das es schon irgendwo steht.

Dann werde ich das wohl so machen müssen. Obwohl das mit der Sekunde schon genau sein muss, sonst kommt wirklich mist raus.

KB/s in KB/s out
2.23 0.53

Das ist z.b. die Ausgabe von ifstat. Mal sehen ob das ding irgendwelche Parameter hat das er das nur einmal ausgibt.

Stevie
Beiträge: 163
Registriert: Di 27. Feb 2024, 22:40

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von Stevie »

Nein, das musst Du wohl selbst auslesen. Also exakt einmal pro Sekunde abfragen und die Differenz bilden, dann hast Du die Bytes pro Sekunde.

HK12
Beiträge: 40
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von HK12 »

Danke dir. Dann brauche ich nicht weiter suchen, sondern kann anfangen... :wink:

Stevie
Beiträge: 163
Registriert: Di 27. Feb 2024, 22:40

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von Stevie »

HK12 hat geschrieben: Do 23. Mai 2024, 16:55 Obwohl das mit der Sekunde schon genau sein muss, sonst kommt wirklich mist raus.
Dass das sowieso immer ein recht fragwürdiger Wert ist, weiß jeder, der mal größere Dateien per Windows Explorer übertragen und sich an der Aussagekraft der Geschwindigkeitskurve des Explorer-Fensters "erfreut" hat: sieht schick aus, sagt aber genau *GAR NICHTS*. :D

HK12
Beiträge: 40
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von HK12 »

Das stimmt wohl. 100% genau wird man es nicht bekommen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6782
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von af0815 »

Ich würde nicht sagen das man in genau einer Sekunde laufend auslesen muss, sondern man muss sich das Intervall merken, der Rest ist nur rechnen. Damit braucht das nicht so genau sein :D
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Stevie
Beiträge: 163
Registriert: Di 27. Feb 2024, 22:40

Re: Geschwindigkeit der Netzwerk-Karte auslesen

Beitrag von Stevie »

Ich würde nicht sagen das man in genau einer Sekunde laufend auslesen muss, sondern man muss sich das Intervall merken, der Rest ist nur rechnen.
Ich glaube, die Betonung muss auf genau liegen, nicht auf Sekunde. Das ist eben ausschließlich vom Anwendungsfall abhängig. Ansonsten stimmt natürlich: "Der Rest ist dann in der Tat nur rechnen." :)

Antworten