Gibt es eine Möglichkeit, die Zusammenhänge eines Prozesses zu zeigen? Sowas in der Art:
show PID
In welcher show
ist ein Befehl, dies zu tun, und PID
ist die PID des Prozesses. Die Ausgabe, die ich möchte, besteht aus allen Verbindungen des Prozesses (in Echtzeit). Wenn der Prozess beispielsweise versucht, eine Verbindung zu 173.194.112.151 herzustellen , lautet die Ausgabe 173.194.112.151
.
Ein genaueres Beispiel mit Firefox:
show `pidof firefox`
und mit firefox gehe ich erst auf google.com , dann auf unix.stackexchange.com und zuletzt auf 192.30.252.129 . Wenn ich den Browser schließe, muss die Ausgabe sein:
google.com
stackexchange.com
192.30.252.129
(Offensichtlich ist diese Ausgabe mit dem Browser nicht realistisch, da es viele andere verwandte Verbindungen gibt, aber dies ist nur ein Beispiel.)
Antworten:
Du suchst nach
strace
! Ich habe diese Antwort auf askubuntu gefunden , aber sie gilt für Unix:Andernfalls, aber nur für Linux, können Sie den Prozess in einem isolierten Netzwerk-Namespace ausführen und den Datenverkehr mit wireshark überwachen . Dies ist wahrscheinlich praktischer als das Lesen des
strace
Protokolls:quelle
strace
ist eigentlich spezifisch für den Linux-Kernel, gilt also nicht für alle Unix-ähnlichen Betriebssysteme. Soweit ich weiß, haben BSD-ähnliche Systeme ähnliche Dienstprogramme (DTrace und Truss). Wie auch immer, gute Antwort (so positiv). Willkommen bei Stack Exchange.strace
Ausgabe während der Prüfung zu interpretierengit fetch
. Ich hatte erwartet, dass eine Art URL in der Ausgabe enthalten sein würde, wie dies auch vom OP gefordert wurde. Kann jemand helfen?Versuchen
quelle
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /home/user/.gvfs Output information may be incomplete.
-r1
um die Ausgabe jede Sekunde zu wiederholen und-w
Warnungen zu unterdrücken.(in real-time)
wiefrom the point in time of tracking and forward
.Hier ist ein anderer Ansatz:
ss -nap | grep $(pidof firefox)
Beispielausgabe:
quelle
Du kannst es auch mit probieren
netstat -p
. Von der Manpage:Um nur Netzwerkverbindungen anzuzeigen, verwenden Sie
netstat -tup
. Beachten Sie, dass Sie möglicherweise root sein müssen, um die Prozess-PID zu sehen.Wenn Sie nicht
netstat
auf Ihrem System habenss
, haben Sie möglicherweise , die fast die genaue Syntax hat. Sie können dannss -tup
(als root) verwenden.quelle