Archives 2012
#Non classé
Débit Free Mobile: Constat.
Je suis tombé recemment sur l'article suivant:
Free Mobile suspecté de brider le téléchargement de fichiers multimédia
J'ai voulu en avoir le coeur net:
Disposant d'un forfait Freemobile j'ai fait les mêmes tests.

Materiel:
- Mobile Samsung Galaxy S2 sous Cyanogen Mod9 (ICS) en partage de connexion Wifi.
- PC Portable DELL D620 sous Ubuntu 12.04 LTS 64 bits.
- Server DEDIBOX HP Pro Débit Gbits/s
Connexion brute:
Test de débit DegroupTest Avec FreeMobile en 3G+ Réseau Orange.

Les Tests:
J'ai utilisé mon serveur dédibox, afin d'heberger des fichiers de types différents:
Ceci me permet d'assurer un débit de download constant.

Fichier RND

Fichier ISO

Fichier vidéo MP4

Fichier vidéo OGV

Comme on peut le voir, j'ai sensiblement le même débit, que se soit en download d'un .rnd, d'un .ISO, d'un mp4 ou d'un OGV
Je ne constate pas du tout ce bridage de débit que certains FreeMobilenautes on remarqué.
Un autre test à une heure différente de la journée:
Suite à l'insistance de nombreux lecteurs du blog, et le constat que faisait certains Freenautes, j'ai refait un test à une heure moins tardive.
Le test à été réalisé entre 14h30 et 15h00
Les résultats:
root@laptopdell:/home/bartounet# for ext in avi ogg oga webm pdf mp4 mov; do curl ifconfig.me ; wget http://www.info16.fr/ftpl/testfreemobile/test.$ext; done
37.160.39.167
--2012-10-18 14:53:23-- http://www.info16.fr/ftpl/testfreemobile/test.avi
Résolution de www.info16.fr (www.info16.fr)... 88.190.232.202
Connexion vers www.info16.fr (www.info16.fr)|88.190.232.202|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 2097152 (2,0M) [video/x-msvideo]
Sauvegarde en : «test.avi.1»
8% [========> ] 173 575 14,6K/s eta 2m 0s ^C
root@laptopdell:/home/bartounet# rm -f test
test.avi test.avi.1 testfreemobile/
root@laptopdell:/home/bartounet# rm -f test.avi*
root@laptopdell:/home/bartounet# for ext in avi ogg oga webm pdf mp4 mov; do curl ifconfig.me ; wget http://www.info16.fr/ftpl/testfreemobile/test.$ext; done
37.160.39.167
--2012-10-18 14:53:48-- http://www.info16.fr/ftpl/testfreemobile/test.avi
Résolution de www.info16.fr (www.info16.fr)... 88.190.232.202
Connexion vers www.info16.fr (www.info16.fr)|88.190.232.202|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 2097152 (2,0M) [video/x-msvideo]
Sauvegarde en : «test.avi»
100%[====================================================================================================================>] 2 097 152 12,0K/s ds 2m 45s
2012-10-18 14:56:38 (12,4 KB/s) - «test.avi» sauvegardé [2097152/2097152]
37.160.39.167
--2012-10-18 14:56:39-- http://www.info16.fr/ftpl/testfreemobile/test.ogg
Résolution de www.info16.fr (www.info16.fr)... 88.190.232.202
Connexion vers www.info16.fr (www.info16.fr)|88.190.232.202|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 2097152 (2,0M) [audio/ogg]
Sauvegarde en : «test.ogg»
100%[====================================================================================================================>] 2 097 152 10,7K/s ds 2m 55s
2012-10-18 14:59:35 (11,7 KB/s) - «test.ogg» sauvegardé [2097152/2097152]
37.160.39.167
--2012-10-18 14:59:36-- http://www.info16.fr/ftpl/testfreemobile/test.oga
Résolution de www.info16.fr (www.info16.fr)... 88.190.232.202
Connexion vers www.info16.fr (www.info16.fr)|88.190.232.202|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 2097152 (2,0M) [audio/ogg]
Sauvegarde en : «test.oga»
100%[====================================================================================================================>] 2 097 152 429K/s ds 6,6s
2012-10-18 14:59:43 (312 KB/s) - «test.oga» sauvegardé [2097152/2097152]
37.160.39.167
--2012-10-18 14:59:45-- http://www.info16.fr/ftpl/testfreemobile/test.webm
Résolution de www.info16.fr (www.info16.fr)... 88.190.232.202
Connexion vers www.info16.fr (www.info16.fr)|88.190.232.202|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 2097152 (2,0M) [text/plain]
Sauvegarde en : «test.webm»
100%[====================================================================================================================>] 2 097 152 389K/s ds 6,4s
2012-10-18 14:59:52 (321 KB/s) - «test.webm» sauvegardé [2097152/2097152]
37.160.39.167
--2012-10-18 14:59:54-- http://www.info16.fr/ftpl/testfreemobile/test.pdf
Résolution de www.info16.fr (www.info16.fr)... 88.190.232.202
Connexion vers www.info16.fr (www.info16.fr)|88.190.232.202|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 2097152 (2,0M) [application/pdf]
Sauvegarde en : «test.pdf»
100%[====================================================================================================================>] 2 097 152 403K/s ds 11s
2012-10-18 15:00:06 (185 KB/s) - «test.pdf» sauvegardé [2097152/2097152]
37.160.39.167
--2012-10-18 15:00:08-- http://www.info16.fr/ftpl/testfreemobile/test.mp4
Résolution de www.info16.fr (www.info16.fr)... 88.190.232.202
Connexion vers www.info16.fr (www.info16.fr)|88.190.232.202|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 2097152 (2,0M) [video/mp4]
Sauvegarde en : «test.mp4»
100%[====================================================================================================================>] 2 097 152 13,3K/s ds 2m 36s
2012-10-18 15:02:44 (13,1 KB/s) - «test.mp4» sauvegardé [2097152/2097152]
37.160.39.167
--2012-10-18 15:02:46-- http://www.info16.fr/ftpl/testfreemobile/test.mov
Résolution de www.info16.fr (www.info16.fr)... 88.190.232.202
Connexion vers www.info16.fr (www.info16.fr)|88.190.232.202|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 2097152 (2,0M) [video/quicktime]
Sauvegarde en : «test.mov»
100%[====================================================================================================================>] 2 097 152 10,0K/s ds 2m 47s
2012-10-18 15:05:34 (12,2 KB/s) - «test.mov» sauvegardé [2097152/2097152]
Le résultat est cette fois clair.
Grosses limitations avec des fichiers en .avi .ogg .mp4 .mov
Le bridage est bien présent et dépend du moment de la journée à priori.
Je ne pense pas qu'il dépendent de la surcharge du réseau, sur mon antenne, car nous sommes très peu dans le coin.
Il serait interessant, de faire le test, toutes les heures, afin de voir quand intervient le bridage.
Pour finir, sachant que mes fichiers ne sont que des simple random, ils ne contiennent aucunes métadonnées vidéos...
Par conséquent le DPI de Orange ou de Free, se limite a l'extension, ce qui est complètement ridicule...
Vous savez quoi faire, pour aller plus vite.. : Renommez vos fichiers...
Je ne comprend pas cette limitation, je ne vois pas en quoi un .avi, surcharge plus un .pdf du moment qu'ils ont la même taille...
Ils ont du partir du postulat, que les fichiers vidéos étaient en général plus volumineux...
Dans ce cas pourquoi ne pas limiter les .iso
Evolution du débit durant 24h : Antenne Orange
Antenne Free: Le coup de théatre
Vous allez pas le croire, le lendemain de la publication de mon billet, J'ai trouvé bizzare de voir tout à coup le logo 3G sur mon Galaxy S2
Et pour cause, mon mobile s'est miraculeusement connecté à une Antenne Free !!!!
Depuis les débuts de Free Mobile, je n'ai jamais rencontré d'antenne Free.. et enfin une est apparue près de chez moi...
Je ne sais pas si c'est une coincidence, mais en tous cas c'est très troublant !!! non ?

Et là cela n'a plus rien à voir...
17 octobre 2012
23 commentaires
#Gnu/Linux, Planet Libre
Bridage de débit, Free non dégroupé et Youtube : La preuve !!!
Bridage de débit, Free non dégroupé et
Youtube : La preuve !!!

Depuis un bon moment je peste pour lire des vidéos sur Youtube à partir de ma connexion ND Free...
C'est encore plus le cas depuis que mon fils s'interesse au dessin animés :)
En effet, avoir le logo d'attente toute les 10 secondes quand on regarde une vidéo devient vite insupportable.
Quand je parlais de ce problème, les petits malins n'avaient rien d'autre à dire, que "Oui c'est ta connexion qui est pourrie" " Tu as un débit de m...." etc...
J'ai voulut en avoir le coeur net et donner la preuve que le bridage est bien au niveau du peering Free ADSL et Youtube...
Plateforme Materielle :
- CPU: Core I5 2500K
- RAM: 8 Go DDR3 ECC
- HDD: 1 x 64Go SSD Crucial C300
- LAN: 1 Gbit/sec
- OS: Ubuntu Desktop 12.04 64bits
Bande passante Maximum en download : 5.50Mb/s (670KiB/s)
Protocole:
Mon protocole est très simple.
- Streaming d'une vidéo hebergée sur ma Dedibox propulsée par phpmotion sur Totem par ma connexion Free ADSL + Mesure du débit instantanée.
- Streaming d'une vidéo Youtube sur Totem par ma connexion Free ADSL + Mesure du débit instantanée.
- Streaming d'une vidéo Youtube sur Totem en passant par un VPN Giganews + Mesure du débit instantanée.
Streaming d'une vidéo hebergée sur ma Dedibox
Là on ne parle pas du tout, de youtube, je vais juste un test de streaming entre mon PC et mon serveur dedibox.
Il s'agit d'une vidéo flv personnelle de vacances propulsée par mon serveur phpmotion.

Débit download = 5.54Mb/s
Le résultat est sans appel, ma connexion est saturée !!!
Streaming d'une vidéo Youtube sur Totem par ma connexion Free ADSL
Là c'est du sérieux.
J'ai choisi une vidéo youtube assez longue:

Débit download = 1.12Mb/s
Le résultat est sans appel, je plafonne à 1Mb/s sur un streaming Youtube...
A partir de là on voit que le bridage vers Youtube est bien présent !!
Certains vont dire que Free ND passant par les infrastructures Orange, c'est orange qui bride le débit...
Mais dans ce cas je serais bridé partout...
Streaming d'une vidéo Youtube sur Totem en passant par un VPN Giganews
Pour finir le test ultime, streaming d'une video Youtube en passant par un VPN externe.
Pour mon test j'ai utilisé le VPN PPTP inclus dans mon abonnement Giganews. ( en passant par les serveurs FR)

Débit download = 5.51Mb/s
Le résultat est sans appel, ma connexion est saturée !!!
En passant pas un VPN le bridage n'est plus là...
27 septembre 2012
31 commentaires
#Gnu/Linux, Planet Libre
Script: Lister les DomU Xen et leurs ressources

Ceux qui suivent un petit peu mon blog savent que j'utilise principalement Xen comme système de vitualisation.
La plupart du temps sous Open Suse, SLES, et maintenant Ubuntu 12.04
Et LVM2 pour la gestion des disques.
J'aime gérer ce système avec des scripts maison.
Ce qui me faisait le plus défaut c'est avoir rapidement les infos sur les domU installés.
Les infos à lister:
- Nom du DomU.
- Son status On ou OFF
- Son ID
- Son Uptime
- Son temps CPU
- Son poids
- Son Cap
- Son State
- Sa Memory
- Ses Disques et leurs tailles
- Le port VNC attribué à la VM
- Qui est connecté sur le VNC
Autant dire que ca fait beaucoup de choses....
J'ai commencé à gratter un petit script bash, bien pratique qui demande à être amélioré.
Ce script fonctionne si les DomU utilise des disques lvm
Le script:
ramfs.sh (pour travailler en ram sur les petit fichiers temporaires)
#!/bin/bash
#Antony MARTINEAU 2009.
#Mounting a temporary file system
#/sbin/ramfs.sh
ramfs="/tmpramfs"
if [ ! -d $ramfs ]; then
mkdir $ramfs
fi
if [ -z $(mount|grep "$ramfs"|sed -n "1{p;q;}"|awk '{print $1}') ]; then
mount -t tmpfs -o size=4M, tmpfs $ramfs > /dev/null 2>&1
fi
Domlist
#!/bin/bash
#DOMLIST V1.0
#Antony MARTINEAU
#Xen Virtual Machine Information by Antony MARTINEAU.
####################
ramfs.sh
###################
ramfs="/tmpramfs"
#Fonction pour afficher les echo en couleur
#31=rouge, 32=vert, 33=jaune,34=bleu, 35=rose, 36=cyan, 37= blanc
color()
{
printf '\033[%sm%s\033[m\n' "$@"
}
###############################
xmlistfic=$(ls $ramfs|grep xmlistfic.); for i in $xmlistfic; do pidlock=$(echo $i|cut -d"." -f2); if [ -z $(pidstat -p $pidlock|gawk '{print $2}'|grep $pidlock) ]; then rm -f $ramfs/$i; fi; done
schedlist=$(ls $ramfs|grep schedlist.); for i in $schedlist; do pidlock=$(echo $i|cut -d"." -f2); if [ -z $(pidstat -p $pidlock|gawk '{print $2}'|grep $pidlock) ]; then rm -f $ramfs/$i; fi; done
xmuptimefic=$(ls $ramfs|grep xmuptimefic.); for i in $xmuptimefic; do pidlock=$(echo $i|cut -d"." -f2); if [ -z $(pidstat -p $pidlock|gawk '{print $2}'|grep $pidlock) ]; then rm -f $ramfs/$i; fi; done
lvdispl=$(ls $ramfs|grep lvdispl.); for i in $lvdispl; do pidlock=$(echo $i|cut -d"." -f2); if [ -z $(pidstat -p $pidlock|gawk '{print $2}'|grep $pidlock) ]; then rm -f $ramfs/$i; fi; done
psaux=$(ls $ramfs|grep psaux.); for i in $psaux; do pidlock=$(echo $i|cut -d"." -f2); if [ -z $(pidstat -p $pidlock|gawk '{print $2}'|grep $pidlock) ]; then rm -f $ramfs/$i; fi; done
lsof=$(ls $ramfs|grep lsof.); for i in $lsof; do pidlock=$(echo $i|cut -d"." -f2); if [ -z $(pidstat -p $pidlock|gawk '{print $2}'|grep $pidlock) ]; then rm -f $ramfs/$i; fi; done
##############################
pid=$$
xmlist="$ramfs/xmlistfic.$pid"
xmsched="$ramfs/schedlist.$pid"
xmlv="$ramfs/lvdispl.$pid"
psaux="$ramfs/psaux.$pid"
dompath="/etc/xen/vm"
xmuptime="$ramfs/xmuptimefic.$pid"
lsof="$ramfs/lsof.$pid"
hostname=$(uname -n)
param=$(echo $*)
arg=$(echo $param| sed 's/[ \t]*$//')
################################HELP##################################
if [ "$param" = "--help" ]; then
echo "domlist v1.0 by Antony MARTINEAU"
echo "Xen virtual machine informations"
echo "Usage: domlist DomU_name (ex: domlist lippi-web)"
echo "Without argument, --all Domu will be show"
echo "domlist --all show all domU on all cluster node"
echo "option -g (gui) show list whithout column and backspace, separated by ;"
exit 0
fi
#####################################################################
for i in $*; do
if [ $i = "-g" ]; then
flaggui="true"
arg=$(echo $param|sed -r 's/(^| )-g( |$)/\1/g' | sed 's/[ \t]*$//')
flag="-g"
elif [ $i = "--all" ]; then
flagall="true"
elif [ $i = "all" ]; then
flagall="true"
fi
done
######################################################################
if [[ $arg = "all" ]]; then
arg="--all"
fi
if [[ -z $arg ]] || [[ "$arg" = "--all" ]]; then
vmlist=$(grep -w "name=" $dompath/* |cut -d'"' -f2)
vmline=$( echo $vmlist | wc -l)
caracini="0"
carac="0"
caracdiskini="0"
caracdisk="0"
for k in $vmlist
do
caracini=$(echo $k | wc -c )
caracdiskini=$(grep -o phy $dompath/$k | wc -l)
if [ "$caracdiskini" -gt "$caracdisk" ]; then
caracdisk=$(grep -o phy $dompath/$k | wc -l)
if [ "$caracdisk" = "1" ]; then
caracdisk=$(grep -o phy $dompath/$k | wc -l)
caracdisktitl="23"
caradiskclist="20"
list="1"
fi
if [ "$caracdisk" = "2" ]; then
caracdisk=$(grep -o phy $dompath/$k | wc -l)
caracdisktitl="56"
caradiskclist="103"
list="2"
fi
if [ "$caracdisk" = "3" ]; then
caracdisk=$(grep -o phy $dompath/$k | wc -l)
caracdisktitl="67"
caradiskclist="67"
list="3"
fi
if [ "$caracdisk" = "4" ]; then
caracdisk=$(grep -o phy $dompath/$k | wc -l)
caracdisktitl="88"
caradiskclist="88"
list="4"
fi
fi
if [ "$caracini" -gt "$carac" ]; then
carac=$(echo $k | wc -c )
caractitl=$(($carac+4))
caraclist=$(($carac-1))
fi
done
else
carac=$(echo $arg | wc -c)
caractitl=$(($carac+4))
caraclist=$(($carac-1))
fi
######################################################################
tab1()
{
echo `color 31 "On $hostname"`
echo -e `color 32 "Name Status ID Uptime Vcpus Time Weight Cap State Memory Disks-Resources VNC-Port"` |gawk -F" " ' { printf("%-'$caractitl's %-6s %-5s %-10s %-3s %-6s %-2s %-3s %-6s %-6s %-73s %-8s %s\n", $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17) }'
}
tab2()
{
echo `color 31 "On $hostname"`
echo -e `color 32 "Name Status ID Uptime Vcpus Time Weight Cap State Memory Disks-Resources VNC-Port" | sed 's/ /;/g'`
}
xm list > $xmlist
xm sched-credit > $xmsched
xm uptime > $xmuptime
lvdisplay 2>/dev/null > $xmlv
ps aux > $psaux
lsof -Pn > $lsof
if [[ $flaggui = "true" ]]; then
tab2
else
tab1
fi
lines=$(grep -w "name" $dompath/* | wc -l)
if [ -z $lines ]; then
lines=1
fi
if [[ $flagall = "true" ]]; then
dom=$(echo $vmlist)
else
dom=$(echo $arg)
fi
if [[ $flaggui = "true" ]]; then
if [ -z $arg ]; then
dom=$(echo $vmlist)
fi
fi
if [ -z $1 ]; then
dom=$(echo $vmlist)
fi
for i in $dom; do
vmname[$i]=$(echo $i)
#vmname[$i]=$(grep -w "name=" $dompath/* |cut -d'"' -f2 |sed -n "$i{p;q;}")
vname=${vmname[$i]}
numofdisk=$(grep -o phy $dompath/$vname | wc -l)
migrating=$(grep -w $vname $xmlist | grep "migrating" | awk '{print $1}')
if [ ! -z $migrating ]; then
migrating="-Migrating-"
else
migrating=$empty
fi
pidvm=$(cat $psaux | grep -w qemu-dm |grep -w $vname | awk '{print $2}')
vmid=$(cat $xmlist | grep -w $vname | awk '{print $2}' | cut -d":" -f2)
vmcpu=$(cat $dompath/$vname | grep vcpus | cut -d"=" -f2)
vmstate=$(cat $xmlist | grep -w $vname | awk '{print $5}' | cut -d":" -f2)
vmtime=$empty
lvname=$(echo $res | sed 's/r/vm/')
vmexist=$(cat $xmlist | grep -w $vname | awk '{print $1}')
uptime=$empty
vmweigt=$empty
res1=$empty
res2=$empty
res3=$empty
res4=$empty
resd1=$empty
resd2=$empty
resd3=$empty
resd4=$empty
vncwho=$empty
vncport=$empty
vglvdisp1=$empty
vglvdisp2=$empty
vglvdisp3=$empty
vglvdisp4=$empty
for j in `seq 2 5`
do
disk="hda hdb hdc hdd"
res[$j]=$(awk -F"phy:/dev/" '{print $'$j'}' $dompath/$vname|sed '/./!d'|cut -d"," -f2,1)
hdlist[$j]=$(echo ${res[$j]} | cut -d"," -f2)
r[$j]=$(echo ${res[$j]} | cut -d"," -f1 | sed 's/drbd/r/')
for k in $disk
do
if [ "$k" = "${hdlist[$j]}" ]; then
if [ "$k" = "hda" ]; then
res1="${r[$j]}"
resd1="${r[$j]}(hda)"
fi
if [ "$k" = "hdb" ]; then
res2="${r[$j]}"
resd2="${r[$j]}(hdb)"
fi
if [ "$k" = "hdc" ]; then
res3="${r[$j]}"
resd3="${r[$j]}(hdc)"
fi
if [ "$k" = "hdd" ]; then
res4="${r[$j]}"
resd4="${r[$j]}(hdd)"
fi
fi
done
done
if [ ! -z $vmid ]; then
vmweight=$(cat $xmsched | grep -w $vname | awk '{print $3}' | cut -d":" -f2)
else
vmweight=$(cat $dompath/$vname | grep "cpu_weight" | cut -d"=" -f2)
fi
vmcap=$empty
if [ ! -z $vmid ]; then
vmcap=$(cat $xmsched | grep -w $vname | awk '{print $4}' | cut -d":" -f2)
else
vmcap=$(cat $dompath/$vname | grep cpu_cap | cut -d"=" -f2)
fi
second=$(cat $xmlist | grep -w $vname | awk '{print $6}' | cut -d":" -f2 | cut -d"." -f-1)
if [ -z $second ]; then #second est nulle
vmtime=""
else
if [ "$second" -lt 3600 ]; then
second=$(cat $xmlist | grep -w $vname | awk '{print $6}' | cut -d":" -f2 | cut -d"." -f-1)
vmtime=$(echo $second's')
else
min=$(($second/60))
if [ "$min" -lt 1440 ]; then
vmtime=$(echo $min'm')
else
hour=$(($min/60))
vmtime=$(echo $hour'h')
fi
fi
fi
day=$(cat $xmuptime | grep -w $vname | cut -d"," -f1|awk '{print $4}'| sed '/^$/d')
if [ ! -z $day ]; then #day est non nul
day=$(cat $xmuptime | grep -w $vname | awk '{print $3}')
hours=$(cat $xmuptime | grep -w $vname | cut -d":" -f1 | cut -d"," -f2 | sed 's/ //g')
if [ "$hours" -lt 10 ]; then
hours=$(cat $xmuptime | grep -w $vname | cut -d":" -f1 | cut -d"," -f2 | sed 's/ //g'| sed 's/^/0/g')
uptime=$(cat $xmuptime | grep -w $vname | awk '{print $3,$4,$5}'|cut -d":" -f2-3 | cut -d":" -f1)
uptime=$(echo $hours:$uptime |sed 's/^/'$day'd,/g'| sed 's/:/h:/2' | sed 's/$//')
else
uptime=$(cat $xmuptime | grep -w $vname | awk '{print $3,$4,$5}'|cut -d":" -f2-3 | cut -d":" -f1)
uptime=$(echo $hours:$uptime |sed 's/^/'$day'd,/g'| sed 's/:/h:/2' | sed 's/$//' )
fi
else #day est nul
hours=$(cat $xmuptime | grep -w $vname | cut -d"," -f1 | awk '{print $3}' | cut -d":" -f1)
if [ -z $hours ]; then
uptime=$(cat $xmuptime | grep -w $vname | awk '{print $3,$4,$5}'| sed 's/^/'$day'd,/g' | cut -d":" -f1 | sed 's/:/h:/2' | sed 's/$/m/' )
else
if [ "$hours" -lt 10 ]; then
uptime=$(cat $xmuptime | grep -w $vname | cut -d"," -f1 | awk '{print $3}' | cut -d":" -f-2 | sed 's/^/0/' | sed 's/^//' )
else
uptime=$(cat $xmuptime | grep -w $vname | awk '{print $3,$4,$5}'| sed 's/$//'| cut -d":" -f-2 |sed 's/^//')
fi
fi
fi
vmmem=$empty
if [ ! -z $vmid ]; then
if [ "$1" = "-g" ]; then
vmmem=$(cat $xmlist | grep -w $vname | awk '{print $3}' | cut -d":" -f2)
else
vmmem=$( cat $xmlist | grep -w $vname | awk '{print $3}' | cut -d":" -f2 |sed 's/$/MB/')
fi
else
if [ "$1" = "-g" ]; then
vmmem=$(cat /etc/xen/vm/$vname | grep memory | cut -d"=" -f2)
else
vmmem=$(cat $dompath/$vname | grep memory | cut -d"=" -f2 |sed 's/$/MB/')
fi
fi
sizer1=$empty
if [ ! -z $res1 ]; then
lv1=$(echo $res1 | sed 's/r/lv/')
if [ ! -z $lv1 ]; then
sizer1=$(cat $xmlv | grep -A8 -w $lv1 | grep "LV Size" | awk '{print $3,$4}' | sed 's/ //' | sed 's/\.00//'| sed -n '1p')
fi
fi
sizer2=$empty
if [ ! -z $res2 ]; then
lv2=$(echo $res2 | sed 's/r/lv/')
if [ ! -z $lv2 ]; then
sizer2=$(cat $xmlv | grep -A8 -w $lv2 | grep "LV Size" | awk '{print $3,$4}' | sed 's/ //' | sed 's/\.00//'| sed -n '1p')
fi
fi
sizer3=$empty
if [ ! -z $res3 ]; then
lv3=$(echo $res3 | sed 's/r/lv/')
if [ ! -z $lv3 ]; then
sizer3=$(cat $xmlv | grep -A8 -w $lv3 | grep "LV Size" | awk '{print $3,$4}' | sed 's/ //' | sed 's/\.00//'| sed -n '1p')
fi
fi
sizer4=$empty
if [ ! -z $res4 ]; then
lv4=$(echo $res4 | sed 's/r/lv/')
if [ ! -z $lv4 ]; then
sizer1=$(cat $xmlv | grep -A8 -w $lv4 | grep "LV Size" | awk '{print $3,$4}' | sed 's/ //' | sed 's/\.00//'| sed -n '1p')
fi
fi
if [ -z $pidvm ]; then
vncport="No vnc"
else
vncport=$( cat $lsof | grep $pidvm | grep "TCP *" | grep "LISTEN"| awk -F":*" '{print $2}' | awk '{print $1}'| sed -n '1p')
vncwho=$( cat $lsof | grep $pidvm | grep "TCP *" | awk -F"TCP" '{print $2}' | grep -v teradataordbms | grep "ESTABLISHED" | cut -d":" -f2 | sed 's/^....//')
fi
disk1=$(echo $vglvdisp1$resd1$sizer1)
disk2=$(echo $vglvdisp2$resd2$sizer2)
disk3=$(echo $vglvdisp3$resd3$sizer3)
disk4=$(echo $vglvdisp4$resd4$sizer4)
if [ -z $vmexist ]; then
vmrun="off"
else
vmrun="on"
fi
echo -e "$vname|$vmrun|$vmid|$uptime|$vmcpu|$vmtime|$vmweight|$vmcap|$vmstate|$vmmem|$disk1|$disk2|$disk3|$disk4|$vncport|$vncwho|$migrating"
done |
if [[ $flaggui = "true" ]]; then
sed 's/|/;/g'
else
gawk -F"|" '{ printf("%-'$caraclist's %-6s %-5s %-10s %-5s %-6s %-6s %-3s %-6s %-6s %-22s %-24s %-18s %-6s %-2s %-s\n", $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17) }'
fi
if [ "$arg" = "--all" ]; then
arg=$empty
var="1"
fi
if [ "$var" = "1" ]; then ssh=0; else ssh=1; fi
rm -f $xmlist
rm -f $xmsched
rm -f $xmuptime
rm -f $xmlv
rm -f $psaux
rm -f $lsof
Voilà ce que ca donné au final:

Je ne suis pas mécontent.
11 septembre 2012
2 commentaires
#Gnu/Linux, Planet Libre
Script: Vérifier si le TRIM est fonctionnel.

La commande TRIM, disponible sur la plupart des modèles récents de SSD, permet aux systèmes d'exploitation modernes, tels que les systèmes Linux à partir du noyau 2.6.33 ou le système d'exploitation Microsoft Windows à partir de Windows 7, ainsi que Mac OS X depuis la version 10.6.6 (mais uniquement sur les SSD livrés par Apple8), d'éviter que les performances ne se dégradent avec le temps. Elle sert à notifier le SSD lors de l'effacement d'un fichier. Le contrôleur du SSD peut alors effacer les cellules de mémoire flash anciennement utilisées, afin d'optimiser les écritures ultérieures qui pourront alors être effectuées sans avoir à réaliser l'effacement préalable imposé par la technologie de la mémoire flash.
J'ai été amené à essayer de vérifier si le trim était bien fonctionnelle sur mes install en SSD.
Le protocole:
- Creer un fichier.
- Trouver son adresse bloc.
- vérifier qu'il est bien écrit sur le disque.
- Le supprimer.
- Vérifier qu'il n'existe plus sur le disque.
Sur un SSD avec le trim activé le fichier doit complètement disparaitre.
Le script:
#!/bin/bash
#TRIMTEST
#Antony MARTINEAU 2012
filetemp="/tmp/trimtest.txt"
disk=$(mount | grep -w "/" | egrep "sd|hd" | awk '{print $1}' |awk -F"/dev/" '{print $2}' | cut -c1-3)
mount | grep -w "/" | egrep "sd|hd" | awk '{print $1}' |awk -F"/dev/" '{print $2}' | cut -c1-3
echo trimtest > $filetemp
sync
lba=$(hdparm --fibmap $filetemp | awk '{print $2}' | awk 'END {print}')
if [ ! -z "$lba" ];then
echo "le fichier existe et occupe le bloc $lba"
rm -f $filetemp
sync
lbaend=$(dd if=/dev/$sda skip=$lba count=1 iflag=direct 2> /dev/null)
if [ -z "$lbaend" ];then
echo "*******TRIM OK*******"
else
echo "******NO TRIM*******"
fi
else
echo "Erreur le fichier n'existe pas"
fi
10 septembre 2012
13 commentaires
#Gnu/Linux, Planet Libre
Tests de débits de quelques solutions anonymisantes.
Je suis tombé recemment sur l'article de Clubic traitant des clés pour préserver son anonymat sur Internet: l'article en question
Je connaissait déjà ses différentes techniques, mais j'ai eut envie de faire quelques test de débits afin de connaitre ce que nous apportait vraiment ces solutions.
Je le répète, je ne traite pas ici des aspects sécurités, anonymats etc... seulement des débits réseaux.



J'ai voulu comparer les offres suivantes:
- Proxy anonymes fourni par le site hide my ass (ip:port)
- TOR
- JAP/Jondo
Il est bien évident que les résultats seront différents selon la connexion de l'utilisateur et le réseau qui sépare ce client du fournisseur
Cela donne une idée générale.
Plateforme Materielle :
Comme d'habitude, j'ai monté mon prototype sur ma plateforme de virtualisation:
- HP® Proliant DL120
- CPU: 1x Intel® Xeon® E3-1220
- RAM: 16 Go DDR3 ECC
- HDD: 2 x 2 To SATA2 Raid 0 / Raid 1 HARD (P410)
- LAN: 1 Gbit/sec
Plateforme logicielle hyperviseur:
- Dom0 Ubuntu 12.04 X86_64 Xen 4.1
- Windows 2003 Server R2SP2 DATACENTER EDITION + driver VMDP
- 2 vcpus
- 512 Mo de Ram
- HDD 16GB
Protocole de test:
Mon protocole est assez simple.
- Download d'une distri linux sur http://ftp.free.fr/
- Mesure du temps d'affichage d'une page Web avec le site Webwait
Pour faire une moyenne de débit, j'utilise Dumeter en mode chrono qui permet de faire des stats assez précises.
Pour être transparent, j'ai fait un screenshot du résultat.
Connexion internet:
Une fois n'est pas coutume, j'ai fait mon test sur une machine virtuelle Windows 2003 serveur sur une Dedibox.
Autrement dit mon débit était excellent...
Même les tests web n'arrive pas à saturer la connexion de la dedibox...

La connexion relativement performante me permet de faire des tests dans de bonnes conditions.
Nous allons prendre comme référence le FTP de free attaqué en http.
Voici les débits bruts que je relève en direct:

Un taux de transfert moyen à 269Mbits/s
Pour la mesure de la vitesse de chargement du site j'ai pris comme référence le blog de notre Korben national.
Désolé Monsieur korben pour les quelques tests, qui n''ont pas du faire peur à cloudflare :)
La mesure brute sur la VM sans aucun outils anonymisant:

Average Load time 1.98s
Proxys présentés par Hide my ass
Hide my ass me présente plusieurs proxys:
Je choisi les plus rapides dans les options de recherches.
Je commence par 2 proxy Français:
- Download d'une distri linux sur http://ftp.free.fr/

Débit download moyen de 74Mbits/s
Serveur FR2

Débit download moyen de 59Mbits/s

Average Load time 7.47s
Tester un serveur en France pour l'anonymat cela n'a pas trop de sens, j'ai aussi testé un proxy au Pays Bas

Débit download moyen de 4Mbits/s

Average Load time 5.07s
TOR
J'ai utilisé pour mes tests la version de portable de TOR:
Une fois installé et connectés j'obtiens les résultats suivant;
J'ai fait 2 essais
- ESSAI 1 TOR

Je me retrouve en Suède à priori.

Débit download moyen de 2.47Mbits/s

Average Load time 22.80s
- ESSAI 2 TOR

Débit download moyen de 1.14Mbits/s

Average Load time 29.10s
JAP/Jondo
J'ai voulu aussi tester cette offre qui est certes payantes, mais offre un galop d'essai...

Pour le coup avec Jap on se retrouve en Ireland

Débit download moyen de 3.13Mbits/s

Average Load time 4.65s
Résumé des mesures:
![]() |
Proxys
(pays bas)![]() |
![]() |
![]() |
|
Download |
269Mb/s | 4Mb/s |
1.8Mb/s |
3.13Mb/s |
WebWait |
1.98s | 5.07s |
25.95s |
4.65s |
Le moins qu'on puisse dire c'est que les performances sont bien moindre en passant par une solution anonymisante.
En particulier TOR
Ceci dit ce n'est pas franchement ce qu'on recherche dans ce genre de solutions.
Si on cherche de la sécurité je pense que TOR est la meilleure solution, mais cela nous coutera bien sur les performances...
Si on cherche juste un petit proxy pour se dépanners les proxys présentés par Hide my ass font leur boulot.
Au vut des résultats on peut même utiliser les proxy FR qui sont assez rapides, histoire juste de brouiller un peu les pistes :)
PS: J'aurais aussi voulu tester Freedom-IP mais je n'ai jamais réussi à faire valider mon inscription..
Ce service propose des VPN gratuits, en remplissant simplement un questionnaire.
Le seul Hic c'est qu'ils refuses quasi systématiquement...
Je ne pense pas être un pirate, mes intentions sont louables et j'écris relativement français.. mais au bout de 3 tentatives d'inscriptions j'ai abandonné...
C'est à se demander, si ce n'est pas un bot qui refuse les inscriptions en bloc...
14 août 2012
2 commentaires