----- Ursprüngliche Message -----
Von: Bernhard Schiffner bernhard@schiffner-limbach.de An: Linux-User-Group Dresden lug-dd@mailman.schlittermann.de CC: Gesendet: 0:18 Mittwoch, 2.Januar 2013 Betreff: per process|socket netstat
Hallo,
kennt jemand eine Möglichkeit, unter Linux den Netzwerkdurchsatz eines Prozesses und seiner Kinder (vorzugsweise per CLI) zu ermitteln bzw. zu protokollieren?
nethogs kannste bestimmt in einen Datei wegschreiben
ansonsten whiershark oder tcpdump und dann aus dem file die daten rausholen Andreas
Vermutung: Es sollte rein theoretisch über das "Anzapfen" der read() und write() syscalls möglich sein, die auf einen fd->socket wirken. (read() und write() geben ja als return die gelieferten Bytes zurück.)
Probleme bisher:
- Ich kenne die PIDs | Sockets nicht vorneweg, da der eigentliche Prozeß
forken kann, wie er will, und ich von den Forks auch die Infos haben will. Damit fällt IMHO iptables -m owner als Werkzeug der Wahl aus ...
- netstat, ss & Co. liefern nur Informationen insgesamt
- Das o.g. geht IMHO nur über strace und das enstsprechende Auswerten. z.B.
strace -p [PID] -f -t -e open,write,read,close -o mytrace
Hat irgendjemand eine Idee? (Muß nicht besonders genau sein, ab und zu pollen sollte auch gehen ...)
Viele Grüße und alles Gute zum neuen Jahr!
Bernhard
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd