Download - Linux Cours 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 1/81
itiation a Linux Introduction aux reseaux IP
Initiation a Linux
Mr DUHART Clement - [email protected] - ECE Paris
20/03/2014
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 2/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 3/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 4/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 5/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 6/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 7/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 8/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 9/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 10/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 11/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 12/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 13/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 14/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 15/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 16/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 17/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 18/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 19/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 20/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 21/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 22/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 23/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 24/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 25/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 26/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 27/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 28/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 29/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 30/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 31/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 32/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 33/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 34/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 35/81
itiation a Linux Introduction aux reseaux IP
ecouverte de GNU/Linux
Unix Découverte de GNU/Linux 1
Introduction à Unix
Découverte de GNU/Linux
Résumé
L’objectif de cette séance est de démystifier l’utilisation d’un système basé sur Linux. Contrairement aux idées
reçues, vous verrez que non, il n’est pas nécessaire de lancer un terminal pour regarder une vidéo ou copier le rapport
de projet qui est sur la clé USB de votre camarade. Au contraire, vous pouvez gérer votre machine avec une interface
graphique conviviale telle que Gnome, KDE ou encore Unity (pour ne pas citer XFCE et LXDE ...). Mais en plus de
cela, vous verrez que le terminal est un outil pleinement assumé (contrairement à cmd sous l’OS de « la firme de
Redmond ») et que son unique but est de vous faire gagner du temps.
1 GNOME n’est pas Linux
Contrairement à la majorité des OS propriétaires où l’interface graphique est imposée, la communauté du libre a
développé plusieurs interfaces qui répondent à différents besoins. Celle proposée par le projet GNOME peut répondreaux exigences de la plupart des utilisateurs. Néanmoins, libre à vous d’en essayer d’autres qui pourraient mieux vous
convenir. Pour les besoins de ce cours, nous utiliserons GNOME.
Afin de vous familiariser avec l’interface :
– ouvrez un navigateur et regardez une vidéo sur Youtube (pas une qui dure 1/4 d’heure, c’est juste pour tester ...) ;
– ouvrez un gestionnaire de fichiers et créez un dossier dans votre répertoire personnel;
– créez un fichier lisible par Microsoft Word dans ce dossier (disons que c’est un rapport, mettez juste un titre dans
le document) ;
– exportez ce document au format PDF pour qu’il puisse être lu par n’importe qui (et même ceux qui n’ont pas
Microsoft Office) ;
– ouvrez le pour constater que le format PDF conserve la présentation du document (ok, il n’y a que le titre, mais
faites nous confiance, ça conserve la présentation).
2 Installation de package
L’installation de logiciels est un réel problème. Comment trouver le logiciel adéquat ? Comment le récupérer ?
Comment savoir que la version récupérée n’est pas infectée par un virus ? Comment être sûr que toutes les dépendances
nécessaires à l’installation du logiciel soient bien présentes sur le système ? Les différentes distributions Linux ont sues
apporter des réponses intéressantes à ces questions.
Vous souhaitez regarder une vidéo. Trouvez le logiciel Synaptic et installez le logiciel VLC. Il ne vous est pas interdit
de consulter la bibliothèque logicielle mise à votre disposition.
3 Le terminal
C’est un outil très puissant, mais qui demande un temps d’adaptation. Avant de commencer à taper des commandes
aux noms obscurs, il y a deux / trois trucs à savoir qui vous feront gagner du temps :– toute commande exécutée peut être rappelée en utilisant les flèches haut / bas (navigation dans l’historique de
commande ) ;
– toute commande exécutée peut être recherchée et rappelée en tapant Ctrl+r et en saisissant le début de lacommande (recherche dans l’historique de commande) ;
– lors de la saisie d’une commande ou du nom d’un fichier, l’appui sur la touche Tab cette saisie (ou propose les
différentes possibilités valides pour cette saisie).
Affichez le contenu d’un répertoire avec la commande ls. Entrez dans un répertoire avec la commande cd
<nom_du_repertoire>. Retournez au répertoire précédent avec la commande cd .. (en fait, le répertoire précédent
s’appelle .. (en fait, c’est un arc retour)). Vous pouvez jouer avec les commandes touch, cp, mv, mkdir, rmdir ...
Pour savoir ce qu’elle font : man <le_nom_de_la_commande>.
C. Duhart ([email protected]), F. Fauberteau ([email protected]) et P. Sauvage ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 36/81
itiation a Linux Introduction aux reseaux IP
ecouverte de GNU/Linux
2 Découverte de GNU/Linux Unix
4 Installation « rapide » de package
Un ami vous a parlé d’un logiciel qu’il vous a vendu comme « le couteau suisse de la vidéo », il s’appelle mplayer.
Vous êtes curieux et vous voulez tester. Ne perdez pas une seconde à aller ouvrir Synaptic , tapez directement dans leterminal :
apt−get install mplayer
et laissez-vous guider.
C. Duhart ([email protected]), F. Fauberteau ([email protected]) et P. Sauvage ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 37/81
itiation a Linux Introduction aux reseaux IP
ecouverte de GNU/Linux
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 38/81
itiation a Linux Introduction aux reseaux IP
on premier script Shell
Unix Mon premier script Shell 1
Introduction à UnixMon premier script Shell
Résumé
Qui ne s’est jamais retrouvé dans la situation de devoir renommer à la main les 127 photos de la soirée d’hier
soir ou encore de passer une demi-heure à trier les 36 derniers albums récupérés de manière totalement légale ... ?
L’objectif de ce TP est d’appréhender toute la puissance de l’interpréteur de commande (le Shell) dans ce qu’il sait
faire de mieux : vous permettre d’automatiser vos traitement. Un script, mvmp3, vous est proposé pour réorganiser
une collections de musique.
1 Découverte du script
Contrairement à un programme compilé, un script est un programme interprété par un shell.
Lancez-le pour voir ce qu’il a à vous dire :
./mvmp3
2 Compréhension du script
Vu qu’il s’agit d’un programme interprété, le script est lisible (par un éditeur de texte) contrairement à un binaire
compilé.
Ouvrez le fichier mvmp3 avec un éditeur de texte et prenez la peine de le parcourir pour essayer de comprendre ce
qu’il fait.
Vous remarquerez que le language du shell est relativement évolué : vous pouvez écire des fonctions, faire des tests
conditionnels (if ... else), des boucles (for) ...
3 À la recherche de la musique perdue
Vous avez copié quelque part dans vos dossiers de la musique récupérée de manière totalement légale. Mais vous ne
savez plus où exactement. Vous ne savez plus s’il s’agissait de fichier mp3, ogg ou encore wma.
Recherchez ces fichiers à partir de votre répertoire personnel en ouvrant un terminal :
find ~ −name "∗.mp3" −o −name "∗.ogg" −o −name "∗.wma"
La commande find recherche dans le répertoire personnel (dont le raccourci est ~ les fichiers dont le nom (-name) est
n’importe quoi (*) terminant par .jpg ou (-o) le nom termine par .ogg ou .wma.
4 Réorganiser sa bibliothèque musicale
Maintenant que vous avez retrouver la musique et que vous avez une idée de comment fonctionne le script, vous
pouvez lancer la machine.
Utilisez le script mvmp3 pour réorganiser votre bibliothèque musicale.
C. Duhart ([email protected]), F. Fauberteau ([email protected]) et P. Sauvage ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 39/81
itiation a Linux Introduction aux reseaux IP
on premier projet C
Unix Mon premier projet sous Linux 1
Introduction à Unix
Mon premier projet sous Linux
Résumé
Le CodeBlock magique fait tout mais comment? Voilà une question que vous allez pouvoir éluder durant ce
cours. Vous allez mettre en place votre première chaîne de compilation pour vous éloigner un peu plus de la magie
et comprendre les dessous d’une réalité : La Matrice n’existe pas ! A travers cette chaîne de compilation, vous
apprendrez le format standard des projets Linux et Open Source mais également les nombreuses possibilités qui
s’ouvrent à vous au delà du F9.
1 Ma première compilation (... à la main)
Utilisez un éditeur de texte (Gedit par exemple) pour recopier le code source suivant :
#include <stdio.h>
int main(int argc, char ∗argv[]){
int i;
printf ("Hello World!\n");
return 0;}
1.1 Compilation simple
Votre code source est dans le fichier helloworld.c.
Compilez-le avec la commande :
gcc −o helloworld helloworld.c
1.2 Attention
En fait, ce code n’est pas très pro, il y a une variable inutile.
Recompilez avec la commande :
gcc −Wall −o helloworld helloworld.c
Une compilation ne devrait jamais produire de warning . Même s’il n’empêche pas la compilation, les warnings mettent
en avant les ambigüités de votre code.
2 Mon premier make
La commande make permet de construire un résultat (généralement un programme) en ne reconstruisant ses
dépendances que si elle ne sont plus à jour. Exemple, vous avez un gros projet de plusieurs centaines de millier de
lignes. La compilation de tout le projet prends bien 3 bonnes minutes. Comme vous êtes un bon développeur, vous avez
séparé le code ne plusieurs fichiers source. Comme vous le savez, avant d’être compilé en binaie, chaque fichier source
(.c) est compilé dans un format intermédiaire (objet .o). Si vous ne modifiez dans votre projet qu’un seul .c, un seul .o
doit être recompilé et non pas tout le projet. C’est ce que fait make.
Désarchivez l’archive du TP :
tar xvzf tp_c.tar.gz
C. Duhart ([email protected]), F. Fauberteau ([email protected]) et P. Sauvage ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 40/81
itiation a Linux Introduction aux reseaux IP
on premier projet C
2 Mon premier projet sous Linux Unix
2.1 Le make simple
Constuisez le projet en appelant la commande make. Le fichier makefile est utilisé implicitement. Étudiez ce fichier
pour comprendre ce qu’il fait.make
2.2 Le make générique
Nettoyez le projet :
make mrproper
La commande make dispose d’une syntaxe puissante qui vous permet d’écrire des règles de construction réutilisables
pour différents projet
Reconstruisez le projet, mais cette fois en spécifiant un fichier particulier :
make −f general_makefile
Étudiez ce fichier pour comprendre ce qu’il fait. Vous remarquerez qu’il suffit de changer la valeur de la variable EXEC (première ligne) pour compiler un autre projet.
3 Les arguments d’un programme
Le code du programme musicinfo vous est donné. Il permet de générer un rapport sur l’état de votre bibliothèque
musicale du TP précédent.
Rajouter du code dans le fichier main.c pour gérer les arguments du programme. Vous devez récupérer les différents chemins des dossiers à parcourir. Vous devez également gérer une option --count permettant de compter le nombre de musique de votre bibliothèque.
C. Duhart ([email protected]), F. Fauberteau ([email protected]) et P. Sauvage ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 41/81
itiation a Linux Introduction aux reseaux IP
on premier projet C
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 42/81
itiation a Linux Introduction aux reseaux IP
on premier GNU/Linux
Unix Ma première installation 1
Introduction à Unix
Ma première installation
Résumé
Convaincu ou pas ? Un ingénieur doit savoir installer GNU/Linux. Pour cela vous aurez le choix de l’installer soit
sur votre ordinateur personnel, soit dans une machine virtuelle. Si vous souhaitez l’installer sur votre ordinateur,
pensez à sauvegarder tous vos fichiers personnels car vous ne serez pas à l’abri d’une mauvaise manipulation.
Pensez également à défragmenter votre MS Windows pour préparer votre disque dur à recevoir un second système
d’exploitation.
1 Le choix de la distrib
Le site http://distrowatch.com référence les différentes distributions GNU/Linux et Unix de manière plus générale.
Comme vous pourrez le voir, il y a énormément de choix et il est difficile de s’y retrouver dans ce méandre de noms
plus étranges les uns que les autres ...
1.1 Ubuntu
site officiel http://www.ubuntu.com
site français http://ubuntu-fr.org
dernière version 13.10 (ou 12.04 LTS pour la version avec support à long terme)Basée sur Debian. Pour ceux qui veulent une distribution facile d’accès.
1.2 Debian
site officiel http://www.debian.org
site français http://www.debian-fr.org
dernière version stable : 7.4 (Wheezy), testing : 8.0 (Jessie)Pour ceux qui veulent une distribution stable et robuste.
1.3 Mint
site officiel http://www.linuxmint.com
site français http://www.linuxmint-fr.org
dernière version 16 PetraBasée sur Ubuntu. Inclus des éléments logiciels propriétaires comme des drivers.
1.4 RedHat
site officiel http://www.redhat.com
site français http://fr.redhat.com
dernière versionUne distribution propriétaire, utilisée en entreprise.
1.5 Fedorasite officiel http://www.fedoraproject.org
site français http://www.fedora-fr.org
dernière version 20Basée sur RedHat.
1.6 OpenSUSE
site officiel http://www.opensuse.org
site français http://fr.opensuse.org
dernière version 13.1
C. Duhart ([email protected]), F. Fauberteau ([email protected]) et P. Sauvage ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 43/81
itiation a Linux Introduction aux reseaux IP
on premier GNU/Linux
2 Ma première installation Unix
1.7 Arch
site officiel http://www.archlinux.org
site français http://archlinux.frdernière version pas de version, mise à jour continuePour ceux qui veulent tout savoir de comment ça marche au dedans.
1.8 PC-BSD
site officiel http://www.pcbsd.org
site français
dernière version 10.0Pour ceux qui veulent aller encore plus loin dans le monde Unix et qui veulent tester un système BSD.
C. Duhart ([email protected]), F. Fauberteau ([email protected]) et P. Sauvage ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 44/81
itiation a Linux Introduction aux reseaux IP
on premier GNU/Linux
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 45/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 46/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 47/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 48/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 49/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 50/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 51/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 52/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 53/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 54/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 55/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 56/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 57/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 58/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 59/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 60/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 61/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 62/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 63/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 64/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 65/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 66/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 67/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 68/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 69/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 70/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 71/81
itiation a Linux Introduction aux reseaux IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 72/81
itiation a Linux Introduction aux reseaux IP
ecouvert des protocoles
Réseau Découverte des protocoles et des outils réseau 1
RÉSEAUDécouverte des protocoles et des outils réseau
Résumé
Le travail réalisé durant ce TP sera évalué sur la base d’un rapport rédigé par binôme. Ce rapport doit mettre
en avant votre compréhension des différents protocoles réseaux vus en cours. Vous devez également vous appropriez
les outils communément utilisés sous Unix pour gérer un réseau. Vous devez chercher les informations sur Internet et
ne pas hésiter à faire un emploi abusif des pages de manuel (commande man).
1 Introduction
Lorsqu’il sera fait référence à un outil qui n’est pas installé sur la machine, vous devrez l’installer vous-même. Si
vous ne savez pas comment fonctionne un outil, vous devrez apprendre à vous en servir, soit en consultant la page demanuel ( man <la_commande>), soit en cherchant sur Internet. Pour chaque question (représentée par un « – »), vousdevrez expliquer et justifier vos choix. Lorsqu’il vous sera demandé de visualiser, vous devrez fournir des capturesd’écran.
2 À la découverte du réseau
Certains de ces outils pourraient vous être utils : ifconfig, ip, route, netstat. Consultez leur page man pour
connaître leur fonctionnement.
— Sous Unix, chaque interface périphérique porte un nom (e.g. sda1 pour la première partition du premier disquedur). Quel est le nom de l’interface réseau de votre machine? Comment l’avez-vous trouver?
— Quel est l’adresse IP associée ? Comment l’avez-vous trouver?
— Quelle est l’adresse de la passerelle par défaut vous permettant à votre machine de communiquer avec le réseauextérieur (Internet) ? Comment l’avez-vous trouver ?
Figure 1 – Capture de 3 trames HTTP sur le port 80.
C. Duhart ([email protected]) F. Fauberteau ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 73/81
itiation a Linux Introduction aux reseaux IP
ecouvert des protocoles
2 Découverte des protocoles et des outils réseau Réseau
3 À la découverte du Web
Certains de ces outils pourraient vous être utils : apt-get, ping, netstat, tcpdump, wget. Consultez leur page man
pour connaître leur fonctionnement.
— Installez un serveur Web (Apache httpd , nginx , Lighttpd , Cherokee ... celui que vous voulez) sur votre machine.Sur quel port de la machine ce serveur est-il en écoute?
— À l’aide de l’outil tcpdump (ou de son équivalent graphique wireshark si vous préférez), visualisez le trafficengendré par une requête HTTP passée à votre serveur Web.
— Sur quelle interface réseau ont lieu les communications ?— Visualisez le traffic engendré par une requête HTTP passée maintenant au serveur web d’une autre machine de la
salle.— Sur quelle interface ont lieu maintenant les communications ?— À quelle plage d’adresse IP appartiennent les adresses des PC de la salle ?
4 À la découverte du DNS
Certains de ces outils pourraient vous être utils : traceroute, tcpdump, ping, dig, nslookup. Consultez leur page man pour connaître leur fonctionnement.
— Configurez votre analyseur de traffic pour qu’il vous permettent de visualiser le traffic DNS.— À l’aide de l’outil traceroute (avec l’option -T), contactez une machine distante (les serveurs de google.fr par
exemple) et visualisez le traffic DNS engendré.— Recontactez la machine distante en ajoutant cette fois-ci l’option -n à la commande traceroute. Expliquez la
différence au niveau du traffic DNS.— Quelle est l’adresse IP du serveur DNS (il y en a peut-être plusieurs) utilisé pour résoudre les requêtes DNS au
sein de l’ECE.— Quel est son nom d’hôte ?
5 À la découverte de SSH
Certains de ces outils pourraient vous être utils : apt-get, tcpdump, ssh-keygen, scp. Consultez leur page man
pour connaître leur fonctionnement.
— Installez openssh-server sur votre machine.— Établissez une connexion SSH vers une autre machine de la salle. Si vous êtes les premiers à arriver là, faites
installer à un autre groupe openssh-server.— Visualisez le traffic SSH avec votre analyseur de traffic. Expliquez le protocole en fonction de vos observations du
traffic.— Faites en sorte de pouvoir vous connecter sans saisir de mot de passe. Pour cela, il faut utiliser un couple clé
privée/clé public.— Envoyez un fichier sur la machine distante.
C. Duhart ([email protected]) F. Fauberteau ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 74/81
itiation a Linux Introduction aux reseaux IP
ecouvert des protocoles
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 75/81
itiation a Linux Introduction aux reseaux IP
on premier reseau IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 76/81
itiation a Linux Introduction aux reseaux IP
on premier reseau IP
2 Mise en place d’un réseau par l’émulation Réseau
3 Connexion entre deux hôtes sur des réseaux différents
Certains de ces outils pourraient vous être utils : ifconfig, ip, route, ping, tcpdump. Consultez leur page man
pour connaître leur fonctionnement.
pc0 eth0 router0eth0 eth1 pc1eth0net0 net1
Figure 3 – Architecture du réseau lab2 .
Dans le lab2 , l’adresse IP des hôtes pc0 et pc1 est déjà configurée. Ils sont maintenant sur des réseaux différents :
172.16.0.0 pour pc0 et 192.168.0.0 pour pc1.
— Configurez le routeur router0 pour qu’il puisse communiquer avec les hôtes pc0 et pc1.
— Configurez les routes par défaut des hôtes pc0 et pc1 afin qu’ils puissent communiquer entre eux en passant par le
router.
— Vérifiez que la communication entre ces deux hôtes est possible avec la commande ping.
— Visualisez le traffic qui transite par le router avec la commande tcpdump -i <ifname>.
4 Connexion via l’extérieur en passant par une passerelle
Certains de ces outils pourraient vous être utils : ifconfig, ip, route, ping, tcpdump, iptables. Consultez leur
page man pour connaître leur fonctionnement.
pc0 eth0 gateway0eth0 eth1 ECEnk_tapnet0 net1
Figure 4 – Architecture du réseau lab1.
Dans le lab3 , la passerelle gateway0 permet d’avoir accès à l’extérieur de votre réseau virtuel. Elle est liée à une
interface virtuelle (TUN/TAP) sur votre PC. Cette passerelle peut donc avoir accès au réseau de l’ECE et par extension,
à Internet.— Quel est le nom de l’interface virtuelle permettant au lab3 de communiquer avec votre PC ?
— Vérifiez que la communication entre la gateway0 et votre PC est possible.
— Visualisez le traffic qui arrive sur votre PC depuis le lab3 avec la commande tcpdump -i <ifname>.
— Configurez gateway0 et pc0 pour qu’ils puissent communiquer au sein d’un même réseau. Vérifiez avec ping quela communication est bien établie.
— Configurez, comme pour le lab2 , la route par défaut de l’hôte pc0 pour qu’il puisse utiliser gateway0 comme
routeur de sortie vers l’extérieur.
— Vérifiez que la communication est possible entre pc0 et votre PC (via son interface virtuelle d’adresse 172.16.0.1).
— Vous devriez rencontrer des problèmes à la question précédente. En effet, vous avez la main sur la passerelle
gateway0 qui fait office de routeur. Mais pourquoi est-ce que votre PC accepterais vos communications ? Supposons
que vous n’avez pas la main sur la configuration réseau de votre PC, vous devez exploitez le NAT (translation
d’adresse réseau). Configurez la gateway0 avec iptables pour qu’elle translate vos communications avec la
technique « masquerade ».— Vérifiez que la communication est maintenant possible entre pc0 et les serveurs de Google.
— Vous devriez rencontrer des problèmes à la question précédente. Pourtant, un ping 173.194.40.111 devrait
donner des résultats. Rappelez-vous de la partie du cours sur les serveurs de nom.
C. Duhart ([email protected]) F. Fauberteau ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 77/81
itiation a Linux Introduction aux reseaux IP
on premier reseau IP
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 78/81
itiation a Linux Introduction aux reseaux IP
on reseau est attaque !
RLI Lab. Session 7 - Network under Attack 1
Linux Network
Lab. Session 7 - Network under Attack
In the following lab, the main goal is to introduce you to
• Network configuration
• Linux commands
• Read a lab subject
Note This lab is the brainchild of Clement Duhart to which he gave much time to prepare. Thank you to him for his
assistance !
1 Grading Procedure
Ask for me to check your lab when you have finished. I also ask you to:
• submit a report on http://campus.ece.fr
• before one week (your lab ends at 16h45 on Tuesday ? You have until Tuesday next week, before
16h45, to submit your file) after your session
• in PDF file format with the name:
[RLI][TP5][GrTD-SubGroup] Name1 & Name2 & Name3
“TD” is the group number according to the timetable (1, 2, 3 etc) and “SubGroup” is your team group number assigned
this year. Any files that do not meet these constraints will be ignored
Ok, so, imagine you are Mr Durant in group 4, and we assigned to you and your partner (Mr Al-Kâtib) the team
number 13.
Your file will be : [RLI][TP5][Gr4-13] Al-Kâtib & Durant
No [GrSEI4-13], nor [4-13], nor [GR4-13], neither DURANT etc...
Each day late will be penalized by 0 point. This lab is graded on +/-1 points.
2 Context
Network in P345 is attacked !
To avoid contagion, each station was isolated from the global network. A machine has been saved and therefore has
access to the entire network. We will call it: backup server with local IP noted on the whiteboard.
Your mission, should you choose to accept it, is to reconnect your machine following a strict procedure.
Before you begin, download the program "RLI - TP5 - Nuclearboom" on campus and run it on your
Linux machine. (if it doesn’t work, try to add execution right with sudo chmod u+x Nuclearboom).
P. Courbin ([email protected]) and C. Duhart ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 79/81
itiation a Linux Introduction aux reseaux IP
on reseau est attaque !
2 Lab. Session 7 - Network under Attack RLI
2.1 Questions
To reconnect, you are requested to follow the instructions.
If you reach question 5, no report will be requested, otherwise you have to send a report with allyou have done and all possible explanation.
Good luck.
1. Evaluate/investigate the situation (put your conclusions in your report)
2. Select a fixed IP in Tab. 1. Be careful to choose a unique IP ! (inform your collaborators to reserve it). Add thebackup server as default gateway. Test your connection, and evaluate/investigate the situation. (explain the
procedure in your report)
3. If you succeed to change your IP and add the default gateway, the backup server will send you a unique and
secured ID through the http protocol. You can use "wireshark" (in super user mode) to look at messages sent to
you. Find this secured ID. (put the screenshot of wireshark with the ID sent by the backup server in your report)
4. To be sure that you are one of us, the backup server will not only send you your secured ID, but also the next
question... follow the instruction sent by the backup server to complete this lab !
5. If you send the right value in the right form, the backup server will unlock your connection. The server willrespond giving the last question... If you reach and finish this question, you do not need to send a report for this
lab.
Table 1 – List of secured IP
Secured IP
10.4.128.150
10.4.128.151
10.4.128.152
...
10.4.128.173
10.4.128.174
For information, this lab can be entirely done with only 4 commands line...
3 Marking Scheme
This lab is a penalty/bonus lab. You will gain or lost points on your final RLIlabs mark.
-1pts Nothing done
-0.5pts You reach question 3 but nothing is explained
0pts You reach question 3
+0.5pts You reach question 5
4 Useful information
Here is some information you might find useful for this lab. Will you read to the end ... ?
• Information on Linux directories [?]:
/bin Contains system-critical programs (binaries)
/dev Contains files which can be used to directly access your hardware (files to manipulate all your hard drives...)
/etc Contains mainly configuration files for various programs/system stuff.
/media Contains folders for the media attached to your system (CDs, DVDs and USB sticks etc).
/var Application data, including things like your MySQL databases, for example, as well as cache files, Unix mail
storage and any other application data that isn’t really specific to one user
• Information on Linux commands [?]:
alias assign name to specified command list. This is actually a shell builtin.
P. Courbin ([email protected]) and C. Duhart ([email protected]) ECE Paris ©
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 80/81
itiation a Linux Introduction aux reseaux IP
on reseau est attaque !
DUHART Clement - [email protected] ING-INF206 20/03/2014 1 / 1
7/25/2019 Linux Cours 1
http://slidepdf.com/reader/full/linux-cours-1 81/81
itiation a Linux Introduction aux reseaux IP
on reseau est attaque !
RLI Lab. Session 7 - Network under Attack 3
cat combine, copy standard input to standard output. Used to join or display files.
cd change working directory.
chmod set permissions (modes) of files or directories. For example, if "nuclearboom" can not be run, try to add
execution rights to this file with "chmod u+x nuclearboom" :∗ u : user
∗ + : add
∗ x : execution rights
cp copies on or more files.
curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP,
FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP,
SFTP, SMTP, SMTPS, TELNET and TFTP). Especially, it can send data using HTTP protocol and POST
method.
gcc invoke C, C++ compiler
grep used to find a string within a file.
host look up host names using domain server
ifconfig display (as root) information on network interfaces that are currently active. First ethernet interface should
be listed as eth0, second as eth1, etc. First modem ppp connection should be listed as ppp0, etc. The "lo"connection is "loopback" only.
ip show / manipulate routing, devices, policy routing and tunnels, add IP address to specific interface etc
kill sends a signal to (especially to terminate) a job or process.
ln creates a link to a file. Used to create hard links and, with the -s option, symbolic links which can link files
on different disk partitions.
man displays information from online Unix reference manual (IMPORTANT!!)
mkdir create a directory
mount -a - mount all filesystems according to the specifications in /etc/fstab
mv moves (renames) files
rm remove files or directories. With the -r (recursive) option (very dangerous !), can be used to remove the
contents of a specified directory including all subdirectories.
route show / manipulate the IP routing table, add, remove route or gateway etc
sudo allows individual users to have root permission to perform specified tasks
wireshark Interactively dump and analyze network traffic. If you do not see the network interfaces, try to run wiresharkas root user: "sudo wireshark".
• Information on Linux files [?]:
/etc/bashrc system-wide default functions and aliases for the bash shell
/etc/fstab contains information on partitions and filesystems used by system to mount different partitions and devices
on the directory tree
/etc/hosts contains a list of host names and absolute IP addresses.
/network/interfaces contains network interface configuration information for the both Ubuntu and Debian Linux. This is where
you configure how your system is connected to the network. ("/etc/network/interfaces")
/etc/passwd contains passwords and other information concerning users who are registered to use the system.
/proc/cpuinfo cpu information
/proc/ioports contains a list of the i/o addresses used by various devices connected to the computer