En plus pour utiliser iptables pour enregistrer les connexions entrantes ..
Existe-t-il un moyen de consigner les connexions entrantes établies vers un service dont vous n'avez pas la source (supposons que le service n'enregistre pas des éléments comme celui-ci de lui-même)? Ce que je veux faire, c'est recueillir des informations en fonction de qui se connecte pour pouvoir dire des choses comme les heures de la journée où le service est le plus utilisé, où dans le monde se trouve la principale base d'utilisateurs, etc.
Je suis conscient que je peux utiliser netstat
et simplement le connecter à un script cron, mais cela pourrait ne pas être précis, car le script ne peut s'exécuter que aussi souvent qu'une minute.
Voici ce que je pense en ce moment:
- Écrivez un programme qui interroge constamment
netstat
, à la recherche de connexions établies qui n'apparaissaient pas dans le sondage précédent. Cette idée semble être une telle perte de temps CPU, car il peut ne pas y avoir de nouvelle connexion .. - Écrivez un programme wrapper qui accepte les connexions entrantes sur n'importe quel port sur lequel le service s'exécute, mais je ne saurais pas comment transmettre cette connexion au service réel.
Edit: Je viens de penser que cette question pourrait être meilleure pour stackoverflow, bien que je ne sois pas certain. Désolé si ce n'est pas le bon endroit.
Réponses:
Vous pouvez ainsi enregistrer de nouvelles connexions avec iptables
Cela ajoutera un message comme celui-ci pour une nouvelle connexion ssh
ou comme ça pour une nouvelle connexion http
et ainsi de suite pour chaque nouvelle connexion à votre système. Le sera enregistré là où votre syslog est configuré pour envoyer des messages kern.warning.
la source
vous pouvez utiliser auditd et à la fin de la journée calculer des statistiques basées sur ces loglines. Ou vous pouvez également aller vers une solution snmp mais vous avez probablement écrit votre propre mib
la source
Que diriez-vous de tcpdump ou de wirehark?
la source
tcpdump -i <interface> -s 65535 -w <some-file>
De plus, vous devrez terminer la capture avec ^ C lorsque vous pensez avoir capturé suffisamment de paquets.