J'ai beaucoup cherché, mais je n'arrive pas à trouver un exemple concret.
Mon objectif est de surveiller le trafic TCP sur un port spécifique pour voir les connexions entrantes et les écrire dans un fichier texte. Le problème est que j'ai également besoin d'un horodatage sur chaque ligne pour indiquer le moment exact où le client s'est connecté à la seconde.
J'ai déjà épuisé netstat, nmap et tcptrack, mais aucun ne prend en charge l'horodatage.
Je pensais qu'un script shell linux pourrait fonctionner si je surveillais un port local spécifique et écrivais du texte dans un fichier lorsqu'une connexion était établie, puis concaténait simplement la date sur chaque ligne.
Je jouais avec ça:
netstat -ano|grep 443|grep ESTABLISHED
ainsi que cette:
tcptrack -i eth0 port 443
mais ni l'un ni l'autre ne convient à mes besoins, car j'ai besoin du moment où la connexion entre en
Si vous avez des suggestions ou pouvez me diriger dans la bonne direction, ce serait grandement apprécié.
Merci. :)
Réponses:
edit : Je reçois toujours des votes positifs pour cette année plus tard. S'il vous plaît ne va pas pour cette réponse, la réponse à l'aide
iptables
ici est de loin supérieure à mon avis.ou seulement
tcp-syn
, ou seulementtcp-ack
(je pense que ce serait celui-là), selon vos besoins.la source
-n
après tcpdump (man tcpdump: -n Ne convertissez pas les adresses (c'est-à-dire les adresses d'hôte, les numéros de port, etc.) en noms. )Vous pouvez utiliser le support iptables dans le noyau Linux pour cela. L'avantage est qu'il ne nécessite aucun logiciel supplémentaire pour être modérément utile. L'inconvénient est que cela nécessite des privilèges root pour être configuré (mais étant donné que vous parlez du port 443, qui est un port privilégié, vous avez probablement besoin de privilèges root avec la plupart des solutions).
Ajoutez une règle iptables avec quelque chose comme:
(Ajustez la
-I INPUT
pièce à votre goût.)Lorsque la règle est déclenchée, une entrée syslog sera émise par le noyau. Par exemple, avec une règle de saisie, l’entrée de journal peut ressembler à ceci:
Vous pouvez ensuite utiliser n'importe quel outil de surveillance des journaux "run-of-the-mill" pour effectuer quelque chose d'utile avec ces informations. Si votre implémentation syslog le prend en charge, vous pouvez même les transférer dans un fichier journal séparé, ce qui vous permet d'écrire les données de connexion dans un fichier horodaté à la seconde, sans logiciel supplémentaire.
Notez que la
LOG
cible est une cible non terminante, ce qui signifie que les règles qui la suivront seront toujours évaluées et que le paquet ne sera ni rejeté ni accepté par la règle LOG elle-même. Cela rend laLOG
cible utile également pour le débogage des règles de pare-feu.Pour éviter d’inonder votre journal, envisagez d’utiliser le
limit
module conjointement avec cela. Consultez la page de manuel iptables (8) pour plus de détails.la source
Micro-seconde résolution
Par défaut, l' utilitaire tcpdump indiquera l'heure avec une résolution de l'ordre de la micro-seconde. Par exemple:
affichera une sortie similaire à celle-ci:
Voir tcpdump (8) pour une liste complète des options de tcpdump, et pcap-filter (7) pour la syntaxe complète des filtres que vous pouvez utiliser.
la source
443 est un trafic crypté - si difficile de toute façon de faire la queue ou la queue de trafic sur ce port:
tu peux faire
miam installer ngrep ou apt-get installer ngrep
puis courir
la source
Vous aurez peut-être également besoin de cela pour surveiller les paquets entrants et sortants d’autres machines.
(option
-i
pour mentionner le réseau, option-c
pour imprimer les paquets dans la console)la source
Vous pouvez utiliser tcpdump ou Wireshark.
la source
Si vous avez besoin d’une solution permanente qui surveillera toujours le trafic sur les ports d’intérêt, je vous suggère d’utiliser QoS (la commande tc sous Linux). tc est un peu cryptique et non documenté, donc j’utilise FireQoS pour configurer QoS et Netdata pour le surveiller en temps réel.
Vérifiez ceci pour plus d'informations: https://github.com/firehol/netdata/wiki/You-should-install-QoS-on-all-your-servers
la source