Info16.fr

Le blog de B@rtounet

Archives 2012

#Non classé

Débit Free Mobile: Constat.

Débits Freemobile Débit Freemobile: Fichiers Multimédia.

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.


Logo Freemobile

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.

Débit Free Mobile

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.

Freemobile Test files
Fichier RND
Debit rnd Freemobile

Fichier ISO
Débit iso Freemobile

Fichier vidéo MP4
Débit mp4 Freemobile

Fichier vidéo OGV
débit freemobile 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 ?

Freemobile antenne 3G

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 !!!

Free&Youtube
Bridage de débit, Free non dégroupé et Youtube : La preuve !!!

  Free youtube logo

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 :
PC Assemblé de bureau 
  • 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
Débit ADSL :
J'ai une connexion ADSL Free non dégroupée
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.

Free ADSL DEDIBOX 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:

Youtube Free ADSL
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)

Giganews Youtube

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

Trim
logo xen

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:

  1. Nom du DomU.
  2. Son status On ou OFF
  3. Son ID
  4. Son Uptime
  5. Son temps CPU
  6. Son poids
  7. Son Cap
  8. Son State
  9. Sa Memory
  10. Ses Disques et leurs tailles
  11. Le port VNC attribué à la VM
  12. 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:

Domlist

Je ne suis pas mécontent.
11 septembre 2012 2 commentaires

#Gnu/Linux, Planet Libre

Script: Vérifier si le TRIM est fonctionnel.

Trim
Logo Trim

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:
C'est simple:

  1. Creer un fichier.
  2. Trouver son adresse bloc.
  3. vérifier qu'il est bien écrit sur le disque.
  4. Le supprimer.
  5. 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
bien sur ce script peut largement être amélioré.
10 septembre 2012 13 commentaires

#Gnu/Linux, Planet Libre

Tests de débits de quelques solutions anonymisantes.

etherpad 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.

 TOR LOGO    logo hide my ass     jap logo




J'ai voulu comparer les offres suivantes:
Ce test n'engage que moi et ces résultats doivent être interprété de façon intelligente.

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:

Dedibox Pro HP
Plateforme logicielle hyperviseur:
  • Dom0 Ubuntu 12.04 X86_64 Xen 4.1
Plateforme Virtuelle:

  • 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...

debit 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:

debit dedibox ftp free brut
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:
webwait korben dedibox
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/
Serveur FR 1 debit free proxy Fr
Débit download moyen de 74Mbits/s

Serveur FR2
débit download free proxy FR
Débit download moyen de 59Mbits/s

webwait korben free proxy fr
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 Free proxy pays bas
Débit download moyen de 4Mbits/s

Webwait Korben pays bas
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
location TOR
Je me retrouve en Suède à priori.

débit TOR free
Débit download moyen de 2.47Mbits/s

Webwait Korben TOR
Average Load time 22.80s

  • ESSAI 2 TOR
debit TOR Free

Débit download moyen de 1.14Mbits/s

webwait korben TOR2
Average Load time 29.10s



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

jap location
Pour le coup avec Jap on se retrouve en Ireland

débit JAP Free
Débit download moyen de 3.13Mbits/s

webwait Korben JAP
Average Load time 4.65s
Résumé des mesures:


logo dediboxPerf brutes Proxys (pays bas)
logo hide my ass
TOR LOGO jap logo
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