Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2012, 12h48   #1
Membre du Club
 
Avatar de theclem35
 
Homme Clément
Technicien Réseaux & Télécommunications
Inscription : décembre 2007
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Technicien Réseaux & Télécommunications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : décembre 2007
Messages : 148
Points : 49
Points : 49
Par défaut Problème de lecture temps-réel à cause d'un pipe

Salut à tous,

Je suis confronté à un soucis un peu gênant.
J'utilise tshark (le wireshark en lignes de commandes), afin de lire des paquets sur mon interface eth0 et les afficher dans ma console.

Cela fonctionne très bien et en temps réel avec la commande suivante :
Code :
tshark -i $1 -R "text && data-text-lines && imf" -T fields -e imf.from -e imf.to -e imf.subject -e text
Par contre, je dois effectuer une mise en forme du paquet, car la il arrive brut. J'envoie donc le résultat de tshark dans un pipe vers sed avec la commande suivante :
Code :
tshark -i $1 -R "text && data-text-lines && imf" -T fields -e imf.from -e imf.to -e imf.subject -e text | sed -f args.sed
Cela fonctionne bien, mais m'engendre un problème désagréable.
En effet, alors qu'un paquet est capturé par tshark, il n'est pas affiché tout de suite (donc pas encore traité par sed je suppose). Il faut que tshark attende un deuxième paquet sur mon interface pour m'afficher le premier.

Cela est certainement du au pipe, car si je fais l'expérience de remettre un 2ème pipe derrière, et bien il faut attendre de capter 3 paquets pour lire le 1er sur ma console.

Je pense que lorsqu'un paquet est capturé, il doit être bloqué dans le pipe dans une sorte de buffer. Ma question est simple : comment garder ma lecture et mettre en forme mes paquets en temps-réel ?

Merci!
theclem35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 13h30   #2
Membre du Club
 
Avatar de theclem35
 
Homme Clément
Technicien Réseaux & Télécommunications
Inscription : décembre 2007
Messages : 148
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Activité : Technicien Réseaux & Télécommunications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : décembre 2007
Messages : 148
Points : 49
Points : 49
L'option -t de Tshark permet de sortir le flux sans bufferisation.

C'est donc résolu
theclem35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h52.


 
 
 
 
Partenaires

Hébergement Web