Ausgehende Verbindungen werden protokolliert, sobald sie auftreten


23

Gibt es eine Möglichkeit zum Protokollieren, um alle von einem Prozess erstellten ausgehenden Verbindungen abzulegen? Mir ist bewusst, netstataber das scheint eher eine Momentaufnahme eines Zeitpunkts zu sein als etwas, das Informationen über einen bestimmten Zeitraum ausführt und protokolliert.

Ich brauche nur die IP oder den Hostnamen, den Port und den Verbindungsaufbau.


1
Sie könnten watch -n 2 netstatin der Zwischenzeit so etwas tun , aber das ist keine richtige Lösung, oder?
Ulrich Schwarz

1
[Dieser Thread] [1] sollte Ihre Frage beantworten [1]: superuser.com/questions/34782/…
Alien Life Form

Antworten:


15

Unter Linux können Sie das Überwachungssubsystem so einrichten, dass jeder Versuch, eine Netzwerkverbindung herzustellen, protokolliert wird. Informationen zum Überwachungssubsystem finden Sie auf der auditctlManpage oder in diesem Lernprogramm oder in anderen Beispielen auf dieser Site . Installieren Sie auditdgegebenenfalls das Paket Ihrer Distribution

auditctl -A exit,always -S connect

Die Protokolle beziehen sich /var/log/audit/audit.logauf alle mir bekannten Distributionen. Sie können auch sie suchen mit ausearch.


3
Ich musste identifizieren, welcher Prozess eine ausgehende Verbindung herstellte. Das hat es sofort geschafft. Um ein Überfluten der Protokolle zu vermeiden, entfernen Sie die Regel anschließend:auditctl -d exit,always -S connect
Michael Hampton

Wie überprüfe ich die Protokolle?
Luckydonald

@luckydonaldless /var/log/audit/audit.log
Gilles '


3

Unter Linux können Sie dazu verwenden ip_conntrack. Es handelt sich um ein Verbindungsverfolgungsmodul, das normalerweise zum Überwachen von Verbindungen auf ungewöhnlich verhaltene Protokolle (wie FTP) verwendet wird, die von einer Firewall / NAT-Box verwaltet werden.

modprobe ip_conntrack
cat /proc/net/ip_conntrack

Sie können die Pseudodatei abrufen, um hergestellte Verbindungen zu sehen, und die Quell-IP abrufen, um zu sehen, wann sie von Ihrer Box stammt.


Die Frage muss nicht unbedingt Linux-zentriert sein.
Karlson

0

Ich würde in die Verwendung tcpdumpauf der ausgehenden Schnittstelle schauen, die die ausgehenden SYNAnträge betrachtet.

Wenn Sie sich wirklich abenteuerlustig fühlen, können Sie Dienstprogramme erstellen wie: straceoder trussalle connectSystemaufrufe melden , während Sie die Ausführung des Programms nachverfolgen. Dies ist jedoch etwas gefährlicher und hat Nachteile beim Umgang mit Multithread-Prozessen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.