Double affichage alors que commande envoyée dans pipe ?!
Salut à tous,
Je suis un peu dubitatif par rapport au résultat de ma commande.
J'extrait un paquet avec tshark, puis je l'envoie dans un pipe afin de le mettre en forme avec sed.
J'utilise la commande suivante :
Code:
tshark -i $1 -l -R "(http.request.method == \"POST\") && ((data-text-lines contains \"pass\") || (data-text-lines contains \"pwd\"))" -T fields -e ip.src -e http.request.full_uri -e text | sed 's/\tNo-Op.*\\r\\n,\\r\\n,/\nDonnées = /g'
Le problème c'est que mon paquet s'affiche deux fois ! Une fois brut, et une fois traité (pas forcément dans cet ordre), alors qu'on voit bien qu'à la fin tshark indique n'avoir capté qu'un seul paquet :
Code:
1 2 3 4
| 192.168.1.7 http://www.developpez.net/forums/login.php?do=login No-Operation (NOP),No-Operation (NOP),Timestamps: TSval 690211, TSecr 177547033,SEQ/ACK analysis,POST /forums/login.php?do=login HTTP/1.1\r\n,Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n,\r\n,vb_login_username=theclem35&vb_login_password=*********&s=&securitytoken=*********&do=login&vb_login_md5password=&vb_login_md5password_utf=
192.168.1.7 http://www.developpez.net/forums/login.php?do=login
Données = vb_login_username=theclem35&vb_login_password=*********&s=&securitytoken=*********&do=login&vb_login_md5password=&vb_login_md5password_utf=
^C1 packet captured |
Si j'enlève le pipe, le paquet ne s'affiche brut bien entendu, et qu'une seule fois. J'utilise des pipes avec tshark pour d'autres commandes un peu plus complexes et je n'ai jamais eu ce problème de double-affichage, je pense docn que c'est dû à mon utilisation de sed !
Comment remédier à ce problème ?
Merci!