Hallo,
fällt wem ad-hoc ein, wie man am besten auf einem System nur den Netzwerk Traffic mitschneidet und abspeichert (pcap Format), der von Prozessen eines bestimmten Benutzers verursacht wird?
Danke
tcpdump/pcap: Nur von bestimmten Benutzer
- me
- Beiträge: 868
- Registriert: 30.10.2005 00:14:23
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Paderborn
-
Kontaktdaten:
tcpdump/pcap: Nur von bestimmten Benutzer
Anytime if we think we were right,
we were maybe wrong.
we were maybe wrong.
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: tcpdump/pcap: Nur von bestimmten Benutzer
Eine freundliche Mail an den NSA hilft da bestimmt weiter.
(Sollte ein Scherz sein).
(Sollte ein Scherz sein).
- me
- Beiträge: 868
- Registriert: 30.10.2005 00:14:23
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Paderborn
-
Kontaktdaten:
Re: tcpdump/pcap: Nur von bestimmten Benutzer
Hilft hier super weiter...pferdefreund hat geschrieben:Eine freundliche Mail an den NSA hilft da bestimmt weiter.
(Sollte ein Scherz sein).
Gemeint ist natürlich der Traffic auf einem System der von User ID zB 1001 verursacht wird.
Anytime if we think we were right,
we were maybe wrong.
we were maybe wrong.
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: tcpdump/pcap: Nur von bestimmten Benutzer
also mit netstat bekommt man zumindest port und ip sowie prozessnummer.
Dann aus /proc prozessnummer suchen und ggf userid dazu. Ob man das vernünftig scripten kann - keine Ahnung - ich würd mir da was in c basteln. Ach ja zusätzlich noch Zeitstempel und man könnte zumindest mit großer Genauigkeit den Verkehr einem User zuordnen. Im Pcap-Format liegt ja sicherlich auch IP und port vor.
Irgendwas mit netstat -np, ps aux usw und dann zusammenfrickeln.
Eventuell gleichzeitig laufen lassen und Ergebnisse in eine DB schaufeln oder so.
Dann pcap-daten per select über die 2 Tabellen (die aus ps und die aus netstat ziehen) - nur mal so grob als Denkanstoß - ohne NSA.
also mit netstat wer hat verkehr (hier Netz gemeint - grins) (programm, PID,IP,Port),
mit ps wer war es PID USERID,Programm
Beide über Zeit und PID verknüpfen.
Dann IP-Verkehr drüberziehen.
Dann aus /proc prozessnummer suchen und ggf userid dazu. Ob man das vernünftig scripten kann - keine Ahnung - ich würd mir da was in c basteln. Ach ja zusätzlich noch Zeitstempel und man könnte zumindest mit großer Genauigkeit den Verkehr einem User zuordnen. Im Pcap-Format liegt ja sicherlich auch IP und port vor.
Irgendwas mit netstat -np, ps aux usw und dann zusammenfrickeln.
Eventuell gleichzeitig laufen lassen und Ergebnisse in eine DB schaufeln oder so.
Dann pcap-daten per select über die 2 Tabellen (die aus ps und die aus netstat ziehen) - nur mal so grob als Denkanstoß - ohne NSA.
also mit netstat wer hat verkehr (hier Netz gemeint - grins) (programm, PID,IP,Port),
mit ps wer war es PID USERID,Programm
Beide über Zeit und PID verknüpfen.
Dann IP-Verkehr drüberziehen.
Re: tcpdump/pcap: Nur von bestimmten Benutzer
Du koenntest mit iptables und --uid-owner die Pakete des Benutzers matchen und beispielsweise ueber eine Bridge schicken, die auch am physikalischen Interface haengt. Mit tcpdump -i bridge sollte sich abgesehen von eventuellen Broadcasts nur ausgehender Traffic vom betreffenden Benutzer im Dump finden. Fuer eingehende Pakete ist das vermutlich nicht so leicht.
Gruss Cae
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
- me
- Beiträge: 868
- Registriert: 30.10.2005 00:14:23
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Paderborn
-
Kontaktdaten:
Re: tcpdump/pcap: Nur von bestimmten Benutzer
Hallo,
die Prozess ID(s) helfen leider nicht weiter, da ständig neue gespawned werden.
Zum iptables Vorschlag:
Ich habe mittlerweile folgendes gefunden:
Die Regel matcht auch und mit tcpdump schneide ich dann den gesamten Traffic mit. Nun sollte ich eigentlich(?) diese Markierungen via Wireshark finden. frame.marked scheint es nicht zu sein, da es weder auf == 1 oder == 1337 matches findet, bzw. finde ich derzeit nur die Möglichkeit im Wireshark mit WS selbst markierte Pakete anzuzeigen.
Vielleicht kann hier wer den Faden weiter spinnen? Die Lösung würde ich auf alle Fälle bloggen
die Prozess ID(s) helfen leider nicht weiter, da ständig neue gespawned werden.
Zum iptables Vorschlag:
Ich habe mittlerweile folgendes gefunden:
Code: Alles auswählen
iptables -I OUTPUT -m owner --uid-owner 1234 -j MARK --set-mark 1337
Vielleicht kann hier wer den Faden weiter spinnen? Die Lösung würde ich auf alle Fälle bloggen
Anytime if we think we were right,
we were maybe wrong.
we were maybe wrong.
Re: tcpdump/pcap: Nur von bestimmten Benutzer
IMHO sind MARKs nur Kernel-interne Eigenschaften des betreffenden Paketes, welches sich wiederum beispielsweise auf Kernel-internes Routing auswirken kann, jedoch nicht im Paket selbst oder sonst im Userspace sichtbar wird. D.h. tcpdump sieht die Aenderung gar nicht. frame.marked klingt fuer mich eher nach der "Rechtsklick/Mark Packet"-Einstellung, welche Wireshark-intern ist.
Auf [1] habe ich allerdings gerade das hochinteressante Target NFLOG (siehe iptables-extensions(8)) gefunden, welches vielversprechend aussieht:Hier scheint das zu funktionieren.
Gruss Cae
[1] https://wiki.wireshark.org/CaptureSetup/NFLOG
Auf [1] habe ich allerdings gerade das hochinteressante Target NFLOG (siehe iptables-extensions(8)) gefunden, welches vielversprechend aussieht:
Code: Alles auswählen
# iptables -A OUTPUT -m owner --uid-owner {user} -j CONNMARK --set-mark 1
# iptabels -A OUTPUT -m connmark --mark 1 -j NFLOG
# iptables -A INPUT -m connmark --mark 1 -j NFLOG
# tcpdump -i nflog:0
Gruss Cae
[1] https://wiki.wireshark.org/CaptureSetup/NFLOG
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier