Je ne suis pas sur de comprendre ce que tu veux faire. Tu veux dire quoi par "faire ça dans un fichier shell" (je suppose que tu veux pas juste mettre la commande dans un script).
Si le soucis est d'exécuter plusieurs instructions sur une ligne en sortie de tcp tcp dump, tu peux utiliser cette syntaxe :
echo "une ligne" | while read l; do echo $l; echo $l; done
qui affichera deux fois "une ligne".
Sinon pour info la commande iptables permet aussi de définir des règles pour loguer des paquets spécifiques, ça pourrait t'intéresser.
Je ne comprends toujours pas dsl. Si tu veux le faire avec un script shell tu mets ta commande dans un script shell et ensuite tu exécutes ton script au lieu de ta commande, donc je pense que quand tu dis " exécuter un ficher "sh" " , tu sous-entends faire quelque chose que tu n'arrive pas à faire avec une commande.
La commande que je t'ai donné permet d'exécuter une suite d'instruction pour chaque ligne en sortie de tcpdum, donc pour chaque paquet. Je la reformule dans le cas de tcpdump :
sudo tcpdump | while read l; do
ip_src=$(echo $l | someGredSedCmd);
ip_dest=$(echo $l | someGredSedCmd);
echo "$ip_src $ip_dest"
done
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
CodeWe is an open-source live code-sharing website.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
CodeWe is an open-source live code-sharing website.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique