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.

Reich
quelle
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
Siehe auch Wie man herausfindet, welche Datei gerade von einem Prozess für Dateizugriffe geschrieben wird
Gilles 'SO - hör auf, böse zu sein'

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.

Gilles 'SO - hör auf böse zu sein'
quelle
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 '
5

Wenn Sie einen benutzerdefinierten Kernel installieren können, sollten Sie sich SystemTap ansehen . Es gibt viele Beispiele für die Verfolgung der Netzwerkaktivität.

Lars Kotthoff
quelle
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.

Sean C.
quelle
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.

Karlson
quelle