Main menu:

Site search

Categories

septembre 2025
L M M J V S D
1234567
891011121314
15161718192021
22232425262728
2930  

Archive

mp3HD

Il y a quelques jours, le 19 mars, Thomson a sorti son nouvel encodeur/décodeur mp3. Le mp3HD qui est un codec mp3 mais lossless, c’est à dire sans perte. De plus, il est rétro-compatible avec le mp3 traditionnel. Qu’est-ce que ça veut dire? Que si vous utiliser un lecteur mp3 qui ne comprend pas le mp3HD, il pourra quand même lire le fichier. Le principe est simple, le mp3HD contient un mp3 normal, lisible par n’importe quel lecteur mp3 plus des données permettant de retrouver le fichier PCM originel avec le décodeur mp3HG.Ce codec fonctionne en 16 bits à 44,1 ou 48kHz de fréquence d’échantillonnage.

Sur le site all4mp3.com, Thomson vous donne quelques renseignements et une version binaire à télécharger qui vous permettra d’encoder et de décoder des fichiers wave. Rien de bien extraordinaire à se mettre sous la dent. Pas de source, ce n’est pas un soft open source mais, réjouissez-vous tout de même, il y a une version pour Linux. La version pour Windows inclut aussi un plugin pour Winamp.

Téléchargez l’archive pour Linux à cette adresse et décompressez-la.
Pour encoder un fichier au format mp3HD, il faut définir un bitrate pour le mp3 encapsulé dans le fichier. La commande ressemble à ceci:

$ mp3hdEncoder -if fichier.wav -of fichier.mp3 -mode 0 -br 192000

-if indique le nom du fichier source en PCM
-of spécifie le nom du fichier de sortie en mp3
-mode 0 indique que l’on veut du Constant Bit Rate (CBR)
-br 192000 donne le bitrate du fichier mp3 encapsulé dans le mp3HD

Pour décoder votre mp3HD:

$ mp3hdDecoder -if fichier.mp3 -of fichier.wav

Pour ce qui est de tester le son du codec, ben…comme aucun des lecteurs sous Linux ne comprend ce format, ils lisent tous le mp3 encapsulé dans le mp3HD. Ca, on peut dire que ça fonctionne très bien. D’ailleurs, après avoir encodé un CD et décodé le mp3HD résultant, on retrouve le fichier PCM original. Pas de problème.

Mais quel est l’intérêt de ce format? La taille du fichier est 5 à 6 fois plus grande que le mp3 classique. Pourquoi irais-je mettre ce type de fichier sur un baladeur mp3? Celui-ci est déjà limité en taille, alors quel intérêt à y mettre des fichiers de 25 Mb au lieu de 5 Mb puisque de toute façon comme il ne comprend pas le mp3HD, il va lire le mp3 encapsulé dedans?
De plus, il y a déjà des formats de compression lossless qui existent dont le célèbre flac qui en plus d’être libre est open source. Ce format commence d’ailleurs à être reconnu partout et compris par les baladeurs mp3.

Effacer un disque dur – disk wiping

Lorsque vous vous débarrassez d’un disque dur, vous aimeriez autant que vos données personnelles ne tombent pas dans les mains de n’importe qui. C’est le genre de problème que peut avoir un particulier mais aussi les entreprises.
Pour vous en convaincre, prenez un disque dur, reformatez-le puis utilisez un programme du genre PhotoRec ou Foremost et vous serez très étonné de tout ce que PhotoRec, par exemple, arrive à récupérer. Alors imaginez que sur ce disque il y avait votre fichier contenant les mots de passe d’accès à votre compte bancaire, des données sur le nouveau produit que votre entreprise va commercialiser bientôt etc… Si vraiment ces données sont ultra-importantes, vous feriez-mieux de détruire le disque parce qu’il existe des équipements très sophistiqués qui permettent de récupérer à peu près n’importe quoi sur un disque. Mais si vous voulez juste empêcher que l’emploi d’un programme du genre PhotoRec ne révèle vos secrets, il existe des méthodes d’effacement (disk wiping ou wipe disk en anglais) qui donnent de bon résultat.

La plupart des fonctions d’effacement des fichiers ne font que marquer le bloc de données comme disponible. Les données ne sont pas réellement effacées du disque. Pourquoi? Parce que ça prend du temps et qu’il est plus rapide et plus facile de modifier un seul pointeur ou une métadonnée dans un système de fichier.

Utilisation de dd

La première méthode, la plus simple est d’écrite tous des zéros à la place du fichier ou de la partition. La commande dd fait cela très bien:

$ dd if=/dev/zero of=/dev/sda1

On utilise le pseudo-périphérique /dev/zero qui ne donne que des zéros et on s’en sert comme source à copier sur la destination qui est notre partition que l’on veut effacer.

Le problème c’est la rémanence du disque. On peut considérer que le disque dur est constitué d’un très grand nombre de petits aimants et que lorsqu’on écrit sur le disque, on positionne ces aimants dans un certain sens. Le problème est que la tête de lecture/écriture lorsqu’elle écrit sur le disque positionne les petits aimants en dessous d’elle mais aussi un peu sur le côté. Ces petits aimants sur le côté peuvent mémoriser l’état antérieur. Cela s’appelle la rémanence. Autrement dit, même si on a écrit tous des zéros dans le fichier, les petits aimants sur le côté peuvent avoir retenu les données contenues dans le fichier avant effacement et il existe des techniques pour les relire.

Utilisation de shred

Pour éviter l’effet de rémanence, on peut écrire sur le même fichier plusieurs fois un pattern différent. Par exemple, tous des uns puis tous des zéros, puis alterner des uns et des zéros etc…
Il existe un outil qui permet de réaliser auomatiquement ces écritures de patterns. Cet outil s’appelle shred et est disponible dans Ubuntu.

On l’utilise comme ceci:

$ sudo shred -vfz -n 100 le_fichier_a_effacer

Le -n 100 spécifie le nombre de passes. Ici, 100. Cela signifie que le programme va réécrire 100 fois sur le fichier d’origine en utilisant des patterns différents.
Le -f autorise shred à modifier les permissions du fichier si nécessaire.
Le -z écrit des zéros lors de la dernière passe de façon à camoufler l’usage de shred.

Un autre programme qui a le même but est Wipe et est disponible dans les dépôts

Utilisation de Secure Deletion Toolkit

Il s’agit d’un toolkit c’est à dire un ensemble d’outils. Pour l’installer:

$ sudo aptitude install secure-delete

Le toolkit contient les outils suivants:

srm (secure remove) pour l’effacement (wipe) du fichier.

$ srm nom_du_fichier

sfill (secure free space wiper) pour le nettoyage des espaces libres du disque. Parce qu’il y a beaucoup de chance que les espaces marqués comme libre ont contenu des fichiers précédemment et donc des données qu’il serait possible de récupérer.

$ sfill nom_du_répertoire

smem (secure memory wipe) effectue la même opération mais sur la mémoire.

$ smem

sswap (secure swap space wipe) efface le contenu de la swap qui est, je vous le rappelle, une partition du disque. Il ne faut pas oublier de disabler la partition de swap avant de l’effacer. Par exemple si sda2 est votre partition de swap:

$ sudo swapoff /dev/sda2
$ sudo sswap /dev/sda2
$ sudo swapon /dev/sda2

Si vous comprenez l’anglais, je vous invite à lire ce très intéressant article de Peter Gutmann où il explique comment on peut récupérer les données d’un disque même si celles-ci ont été effacées et comment effacer un disque de manière plus sécurisée.

Utiliser les vlans avec Ubuntu

Pour pouvoir utiliser les vlans, il faut d’abord installer le paquet vlan et activer le module correspondant:

$ sudo aptitude install vlan
$ sudo modprobe 8021q

Si le lancement du module doit se faire au démarrage du PC, il faut ajouter ce module au fichier /etc/modules.

Quelques rappels sur les vlans d’abord. Un trunk est une connexion réseau sur laquelle transitent plusieurs vlans. Il est évident et important de remarquer que tous le vlans dans un trunk partagent la même bande passante.
A chaque trame IP est ajouté un identifiant sur 4 octets. En mode unicast, lorsqu’un switch reçoit un paquet IP, il regarde vers quel port il doit l’envoyer en utilisant à la fois l’adresse MAC de destination et l’identifiant du vlan. En mode broadcast, le paquet IP est envoyé à tous les ports correspondant à ce numéro de vlan.
Dans un PC, pour pouvoir gérer plusieurs vlans, on créera une ou plusieurs interfaces virtuelles. Lorsqu’un PC reçoit un paquet IP avec un numéro de vlan, il détermine au moyen de ce numéro de vlan à quelle interface virtuelle ce paquet appartient. Une interface virtuelle se comporte comme une interface physique normale.

La première chose à faire donc est de raccorder le PC à un trunk. A ce moment, une interface réseau peut être attachée à un ou plusieurs vlans en créant des interfaces virtuelles. On procède comme ceci pour créer une interface virtuelle attachée à une interface physique (exemple donné pour le vlan 2 ou le vlan 21):

$ sudo vconfig add eth0 2
ou
$ sudo vconfig add eth0 21

ce qui donne comme résultat lorsqu’on demande à ifconfig de nous afficher la configuration des interfaces:

$ sudo vconfig add eth0 2
Added VLAN with VID == 2 to IF -:eth0:-
$ ifconfig -a
...
eth0.2    Link encap:Ethernet  HWaddr 00:0b:5d:9f:03:df  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)
...

Pour supprimer la nouvelle interface virtuelle, il faudrait taper:

$ sudo vconfig rem eth0.2
Removed VLAN -:eth0.2:-

Pratiquement, pour raccorder votre PC à un vlan (par exemple le vlan 22) de façon à ce que l’interface soit configurée dès le démarrage, il faut modifier le fichier /etc/network/interfaces comme ci-dessous puis activer l’interface:

$ sudo nano /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0 vlan22
iface eth0 inet dhcp

# VLAN22
iface vlan22 inet static
address 10.224.66.200
netmask 255.255.255.0
vlan_raw_device eth0

$ sudo ifup vlan22

Note: Il est bien sûr possible de créer plusieurs vlans sur la même interface ou sur des interfaces différentes.

$ ifconfig -a
...
vlan22    Link encap:Ethernet  HWaddr 00:0b:5d:9f:03:df  
          inet adr:10.224.66.200  Bcast:10.224.66.255  Masque:255.255.255.0
          adr inet6: fe80::20b:5dff:fe9f:3df/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Packets reçus:9 erreurs:0 :0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          Octets reçus:1319 (1.3 KB) Octets transmis:6891 (6.8 KB)
...

Remarquez que nous aurions pu donner n’importe quel nom à notre interface virtuelle. L’appeler vlan n’est en rien une obligation.
Tout ceci n’est pas fort différent de la configuration habituelle des interfaces physiques. C’est aussi un des gros avantages des vlans.

Sudo

Un webcomic comme disent nos amis anglophones qui m’a beaucoup amusé. Pour ceux que ça intéresse, c’est sur http://xkcd.com.

sandwich

C++ – Qt Creator un IDE complet

Le 3 mars est sorti Qt 4.5, la nouvelle version du framework Qt ex-Trolltech et maintenant devenu Nokia. Comme chacun sait, KDE est construit sur Qt et si j’en parle ici, c’est parce que cette nouvelle version est accompagnée de tout un SDK (Software Development Kit) qui intégre un IDE (Integrated Development Environment) complet qui est assez extraordinaire et qui fait rêver. A quand un IDE basé sur GTK pour Gnome et qui soit de la qualité de Qt Creator puisque c’est le nom de cet IDE. Un IDE est un environement complet qui permet le design (pour la partie GUI), l’écriture, la gestion, la compilation et le débuggage d’une application. Et ce Qt Creator est de la qualité de Visual C++ de Microsoft ou de C++Builder de CodeGear (ex-Borland) pour citer deux autres IDE. Assez étonnamment, il est assez léger à l’usage même sur mon vieux P4 2.8GHz avec 1Gb de RAM.

Qt Creator est bien sûr utilisable sous Ubuntu même si vous êtes sous Gnome. A l’installation, les librairies nécessaires sont installées automatiquement.
Pour l’installer, rendez-vous sur le site de qtsoftware pour y télécharger la version pour Linux. Le nom du fichier est qt-sdk-linux-x86-opensource-2009.01.bin. Après l’avoir téléchargé, rendez-ce fichier exécutable et lancez-le:

$ chmod +x qt-sdk-linux-x86-opensource-2009.01.bin
$ sudo ./qt-sdk-linux-x86-opensource-2009.01.bin

L’installation est assez rapide et automatique. Il ne vous demandera que d’accepter la licence. Ensuite, une nouvelle entrée dans votre menu Applications/Programmation sera ajoutée. Il ne vous reste plus qu’à lancer l’IDE et à l’utiliser.
Ci-dessous quelques screenshots de Qt Creator, juste pour vous mettre l’eau à la bouche:

Qt Creator – fenêtre principale

main window

Qt Creator – l’éditeur

editor window

Qt Creator – le designer

editor window

Espérons qu’on ait un jour un IDE de qualité semblable mais sous GTK. Ca me ‘gêne’ toujours un peu d’utiliser des librairies KDE sous Gnome et je n’ai pas envie, pour l’instant du moins, de migrer vers KDE.

Comment modifier la mac adresse de son PC?

Une des solutions proposées pour sécuriser son réseau WiFi est un filtrage des adresses MAC. Les adresses MAC sont des numéros d’identification qui sont uniques pour chaque carte ethernet. Ils sont représentés par 6 octets en hexadécimal. Cela veut dire que personne au monde ne possède une carte ayant la même adresse MAC que la vôtre. Il semble donc bien que se baser sur cette adresse MAC pour sécuriser un réseau soit une bonne idée. Et bien, pas vraiment. Voyons pourquoi.

Vous avez méticuleusement introduit dans votre routeur WIFI les adresses MAC de tous les PC et équipements raccordés à votre réseau. Mais, il y a déjà un premier poblème.
Sur votre réseau, vous tapez une simple commande arp et les adresses MAC sont affichées en retour:

$ arp
Address                  HWtype  HWaddress           Flags Mask   Iface
192.168.8.1              ether   00:05:b4:**:**:**   C   eth0
192.168.8.12             ether   00:0e:a6:**:**:**   C   eth0

Bon d’accord, une personne mal intentionnée n’a pas accès aussi facilement à votre réseau et ne peut taper une commande arp que si elle est déjà connectée. Sauf qu’il y a un autre problème.
Les adresses MAC sont envoyées en clair sur le réseau lors de toute communication IP. Ben oui, les switches par exemple se servent des adresses MAC pour orienter les paquets d’une source vers un destinataire, d’un PC à un autre par exemple. Vous pouvez le voir clairement sur la capture d’écran ci-dessous.

trame IP

Autrement dit, il suffit que la personne mal intentionnée soit équipée d’un sniffer de réseau et elle pourra voir toutes les adresses MAC circulant sur le réseau. Il existe une floppée de ces sniffers de réseau. Sous Linux, il y a Kismet, par exemple, qui est spécialisé dans le sniffing de réseau WIFI.

A ce stade, il ne reste plus qu’un problème à résoudre à notre personne mal intentionnée pour pouvoir s’introduire dans votre réseau WIFI. Il faut qu’elle puisse modifier l’adresse MAC de sa propre interface réseau pour qu’elle coincide avec une adresse MAC autorisée. Croyez-vous que ce soit compliqué à faire? Que nenni! Quelques simples commandes tapées dans un terminal suffisent sous Linux pour modifier cette adresse MAC:

$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 hw ether 00:1c:26:b3:5c:7f
$ sudo ifconfig eth0 up

$ sudo /etc/init.d/networking restart

Que faut-il conclure de tout cela? Qu’il ne sert à rien d’utiliser le filtrage des adresses MAC? Je ne crois pas. Plus vous aurez de niveaux de sécurité même s’ils sont précaires comme dans ce cas-ci, mieux cela vaut. Et puis de toute façon cela empêchera votre voisin qui ne connaît pas linux et ne connait rien à ces choses-là de venir se connecter, même par inadvertance, sur votre réseau. Sécuriser son réseau est toujours nécessaire et on peut discuter des moyens à mettre en oeuvre et de qui on veut se protéger mais le filtrage des adresses MAC reste un des moyens pour y parvenir.