Problème de lecture dump "radio"

Problème de lecture dump "radio" - Réseaux - Systèmes & Réseaux Pro

Marsh Posté le 29-03-2013 à 11:07:27    

Bonjour à tous,  
Dans le cadre d'un projet d'informatique, nous disposons d'un réseau ad-hoc constitué de trois noeuds.
Nous devons mesurer le ping, le "radio" ( tx bitrate ), ainsi que la durée de copie de fichier.
La première et la dernière catégorie de mesures est validée, reste la seconde sur laquelle nous avons un souci. Nous avons créé un programme batch pour automatiser la mesure et la stocker dans un fichier texte, or ce dernier est illisible ( sans doute un problème d'encodage.. pas le bon langage ou norme ).
Voici un extrait du fichier obtenu :
[?1049h(B[?7hEvery 2,0s: iw dev wlan0 station dumpThu Mar 21 16:12:56 2013Station 00:15:af:e7:1c:04 (on wlan0)inactive time:  448 msrx bytes:31736167rx packets:     389002tx bytes:991161263tx packets:     651380tx retries:     87769tx failed:610signal:-42 dBmsignal avg:     -40 dBmtx bitrate:     54.0 MBit/s87636661949924.53:0072 ms74542379755244.0 MBit/s23813834203370504100 ms9422612699436724039080505914864841042917413861030441489697754727242062
 
J'aimerais donc savoir si l'un d'entre vous saurait décoder ceci, ou bien si un logiciel existe...
Merci d'avance !

Reply

Marsh Posté le 29-03-2013 à 11:07:27   

Reply

Marsh Posté le 29-03-2013 à 11:59:40    

Sans savoir avec "quoi" tu mesures, et sous quel OS tu es, difficile de répondre [:spamatounet]

 

Rapidos je vois "iw dev wlan0 station dump" donc un dump brut.
En analysant rapidos et à la main je ressors ça :

Every 2,0s: iw dev wlan0 station dump
Thu Mar 21 16:12:56 2013
Station 00:15:af:e7:1c:04 (on wlan0)
inactive time:  448 ms
rx bytes:       31736167
rx packets:     389002
tx bytes:       991161263
tx packets:     651380
tx retries:     87769
tx failed:      610
signal:        -42 dBm
signal avg:     -40 dBm
tx bitrate:     54.0 MBit/s


ce qui ressemble beaucoup à ce que tu demandes... là effectivement il faudrait voir ton script pour voir comment il l'appelle, ça me semble être un bête problème d'encodage...

 

Pour ce genre d'usage, en bash (pas trop fait pour, il faudrait plutôt un truc en perl [:tinostar] ) ça serait :

#!/bin/bash
################ SCRIPT GLOBAL VARIABLES ################
divider="----------------------------------------------------------------------"
MON_INTERVAL=2
###################################################
while :
do
iw dev wlan0 station dump >> sortie.txt
echo '\n${divider}\n' >> sortie.txt
sleep ${MON_INTERVAL}
done
}


Mais bon là c'est réellement brut de coffre.
Il faudrait faire du grep/awk/sed/cut sur ta sortie pour extraire chaque donnée, les séparer avec un ; pour obtenir un beau fichier de type CSV a importer ensuite dans ton tableau favori.

 

Tu peux aussi t'inspirer de ce script, prévu pour voir les arrivés sur un point d'accès.


Message édité par bardiel le 29-03-2013 à 12:01:12

---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 29-03-2013 à 12:41:36    

Merci bardiel pour ta réponse, j'étais sous Linux, je mesure donc à partir du terminal.
Merci pour le décodage de la première mesure, mais pour les autres il faudrait faire du grep/awk/sed/cut ? ( qu'est ce x) ).
Est-il donc plus pertinent, à ton avis, de refaire les mesures ( du tx bitrate ) ? ( quitte à les notées une par une à partir de l'affichage sur le screen terminal ? )

Reply

Marsh Posté le 29-03-2013 à 14:08:32    

Sans connaître la finalité du projet d'informatique, bah  [:spamatounet]  
C'est quoi l'intérêt de la mesure du nombre de paquet émis/reçu et le ping dans un réseau ad-hoc, si tu as la durée et le nombre de paquet émis en erreur (tx failed)... c'est pour mesurer une propagation au sein d'un bâtiment ?
 
Après suivant ce que tu as besoin tu "découpes" et tu récupères les données nécessaires. Par exemple pour un script (à faire débug par un pro, là je l'ai fait à l'arrache) qui va toutes les 2 secondes récupérer les données de la date, "signal", "signal avg" et "tx bitrate", et te les formater pour les ajouter dans un fichier avec un séparateur ";" :  

#!/bin/bash
################ SCRIPT GLOBAL VARIABLES ################
divider=";"
MON_INTERVAL=2
###################################################
while :
do
alpha=$(iw dev wlan0 station dump)
madate=echo $alpha | cut -c0-23
signal=echo $alpha | grep -i "^signal:" | cut -d: -f1
avg=echo $alpha | grep -i "^signal avg:" | cut -d: -f1
bitrate=echo $alpha | grep -i "^tx bitrate:" | cut -d: -f1
echo '${madate}${divider}${signal}${divider}${avg}${divider}${bitrate}\n' >> sortie.txt
sleep ${MON_INTERVAL}
done
}


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed