Consigner les connexions sortantes à mesure qu'elles se produisent


23

Existe-t-il un moyen de se connecter pour classer toutes les connexions sortantes créées par un processus? Je suis au courant, netstatmais cela semble être davantage un instantané d'un point dans le temps plutôt que quelque chose qui s'exécute et enregistre des informations sur une période.

Je n'ai besoin que de l'adresse IP ou du nom d'hôte, du port et du processus établissant la connexion.


1
Eh bien, vous pourriez faire quelque chose comme watch -n 2 netstatentre-temps, mais ce n'est pas une bonne solution, n'est-ce pas.
Ulrich Schwarz

1
[Ce fil] [1] devrait répondre à votre question [1]: superuser.com/questions/34782/…
Alien Life Form

Réponses:


15

Sous Linux, vous pouvez configurer le sous-système d'audit pour consigner chaque tentative d'établissement d'une connexion réseau. Pour plus d'informations sur le sous-système d'audit, lisez la auditctlpage de manuel ou ce didacticiel ou d' autres exemples sur ce site . Installez le auditdpackage de votre distribution si nécessaire, puis

auditctl -A exit,always -S connect

Les journaux sont /var/log/audit/audit.logsur toutes les distributions que je connais. Vous pouvez également les rechercher avec ausearch.


3
J'avais besoin d'identifier quel processus établissait une connexion sortante. Cela l'a fait instantanément. Pour éviter d'inonder les journaux, supprimez la règle par la suite:auditctl -d exit,always -S connect
Michael Hampton

Comment inspecter les journaux?
luckydonald

@luckydonaldless /var/log/audit/audit.log
Gilles 'SO- arrête d'être méchant'


3

Sous Linux, vous pouvez utiliser ip_conntrackpour accomplir cela. Il s'agit d'un module de suivi des connexions, utilisé normalement pour surveiller les connexions des protocoles aux comportements étranges (comme FTP) à gérer par un pare-feu / boîtier NAT.

modprobe ip_conntrack
cat /proc/net/ip_conntrack

Vous pouvez grep le pseudo-fichier pour voir les connexions établies, et grep plus loin l'IP source pour voir quand il provient de votre boîte.


La question n'est peut-être pas nécessairement centrée sur Linux.
Karlson

0

Je chercherais à utiliser tcpdumpsur l'interface sortante en regardant les SYNdemandes sortantes .

Si vous vous sentez vraiment aventureux, vous pouvez créer des utilitaires comme: straceou trusssignaler tous les connectappels système tout en traçant l'exécution du programme, mais cela est un peu plus dangereux et présente des inconvénients lors du traitement de processus multithread.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.