Debian Debutant a écrit :
Voilà ce que je voudrais faire :
J'analyse les trames ssh passant donc par le port 22 et je choppe la
trame avec tcpdump sur l'octet 13 qui contient le flag syn/fyn/rst.
donc :
tcpdump -i eth0 'tcp[13] & 7 !=0 && port 22' | grep ": R" >>
track.ssh.txt
ça c'est bon.
Maintenant j'aimerai afficher le résultat de top c d 1 n 1 | grep total
à chaque fois qu'une nouvelle ligne s'inscrit dans le fichier
track.ssh.txt.
Là je ne sais pas faire.
Tu as une idée ?
Tu peux faire un named pipe.
Le principe:
) tu crées un named pipe (mkfifo /tmp/my_pipe.fifo)
) tu colles un écouteur dessus.
) tu diriges la sortie de ton tcpdump sur le /tmp/my_pipe.fifo
L'écouteur est un script qui recopie ce qu'il lit sur
/tmp/my_pipe.fifo et ajoute un "cat /proc/loadavg" ou autre traitement.
A chaque fois qu'une ligne arrivera sur /tmp/my_pipe.fifo, l'écouteur
la lira et fera ce qu'il y a à faire jusqu'à la prochaine ligne.
Attention, quand une ligne est écrite sur un pipe, il faut qu'elle
soit lue pour qu'une autre ligne puisse s'inscrire.
pj