Réseau informatique et musique

De Wiki d'activités IMA


Cahier des charges

Présentation générale du projet

Contexte

Dans un réseau informatique, il est important, pour un administrateur, de connaître l’état de son réseau à un moment donné. En revanche, ce travail est très prenant et pénible à faire car il devrait étudier les paquets un par un et filtrer que les informations utiles. C’est pour ça qu’il est intéressant de filtrer les paquets utiles et avertir l’administrateur (par l’intermédiaire du son) de l’arrivée de tels types de paquets dans le réseau.

Objectif du projet

Le but de ce projet est de récupérer et analyser les paquets qui circulent dans le réseau et produire des mélopées qui leurs correspondent. Celle-ci simplifie le travail d’un administrateur en lui aidant à identifier les paquets sans qu'il les étudie en détails.

Description du projet

Ce projet se consiste à :

  • Récupérer les paquets avec LSF
  • Analyser des paquets sur différentes couches OSI (liaison de données, réseau, transport, application)
  • Ecrire un programme (en utilisant la bibliothèque de son) pour pouvoir produire de son par rapport au type de paquets

Choix techniques : matériel et logiciel

Dans le cadre de ce projet, le matériel qui sera utilisé est un PC sous Linux. Au niveau de logiciel, l’outil LSF, les APIs de libsndfile[1] et libasound[2] (bibliothèque d’ALSA) seront utilisés pour faire la programmation en C. LSF est un outil/mécanisme de socket brut (raw) qui a l’accès direct de la carte réseau sachant qu'il est attaché au noyau du système d'exploitation. Un avantage de cet outil est que les paquets de données ne sont pas modifiés. libsndfile est une bibliothèque qui permet de lire/écrire des fichiers audio. libasound est, quant à elle, utilisée afin de produire du son sur la périphérique audio.

Les paquetages[3][4] qui sont nécessaires pour ce projet sont : libsndfile1, libsndfile1-dev, libasound2, et libasound2-dev.

Etapes globales du projet

  1. Etude de la bibliothèque API de libsndfile et libasound
  2. Prise en main de la bibliothèque libsndfile afin de lire des fichiers audio
  3. Prise en main de la bibliothèque libasound pour produire du son correspondant au fichier audio lu
  4. Appariement des son correspondants aux paquets étudiés en fusionnant LSF avec le programme créé précédemment

Avancement du Projet

Semaine 1

Durant cette première séance du projet, j’ai pris en main l’API de libsndfile en commençant par étudier les fonctions définies dans cette bibliothèque. Cette étude m’a permet de récupérer que les fonctions qui seront utilisées pour lire un fichier de type audio. Pour réduire la complexité du code, j’ai choisi de prendre en compte que les fichiers de type WAV (codé en PCM). Les étapes réalisées lors de cette séance sont :

  • Ouvrir un fichier audio de type .wav
  • Récupérer ses caractéristiques (taux d’échantillonnage, codage utilisé, nombre de canaux, durée)
  • Lire des données depuis ce fichier audio

Semaine 2

Semaine 3

Semaine 4

Semaine 5

Semaine 6

Semaine 7

Semaine 8

Semaine 9

Semaine 10

Semaine 11

Semaine 12

Fichiers Rendus

Références

  1. ^Détails de l'API libsndfile sur libsndfile AppStore par Erik de Castro Lopo
  2. ^Détails de l'API libasound sur ALSA Project - the C library reference par Jaroslav Kysela, Abramo Bagnara, Takashi Iwai et Frank van de Pol
  3. ^Paquetage libsndfile1-dev sur le site officiel de Debian
  4. ^Paquetage libasound2-dev sur le site officiel de Debian