81
7/25/2019 Linux Cours 1 http://slidepdf.com/reader/full/linux-cours-1 1/81 itiation ` a Linux  Introduction aux r´ eseaux IP Initiation ` a Linux Mr DUHART Clement - [email protected] LACSC - ECE Paris 20/03/2014 DUHART Clement - [email protected]  ING-INF206  20/03/2014 1 / 1

Linux Cours 1

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Linux Cours 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

Page 3: Linux Cours 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

Page 4: Linux Cours 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

Page 5: Linux Cours 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

Page 6: Linux Cours 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

Page 7: Linux Cours 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

Page 8: Linux Cours 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

Page 9: Linux Cours 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

Page 10: Linux Cours 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

Page 11: Linux Cours 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

Page 12: Linux Cours 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

Page 13: Linux Cours 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

Page 14: Linux Cours 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

Page 15: Linux Cours 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

Page 16: Linux Cours 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

Page 17: Linux Cours 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

Page 18: Linux Cours 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

Page 19: Linux Cours 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

Page 20: Linux Cours 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

Page 21: Linux Cours 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

Page 22: Linux Cours 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

Page 23: Linux Cours 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

Page 24: Linux Cours 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

Page 25: Linux Cours 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

Page 26: Linux Cours 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

Page 27: Linux Cours 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

Page 28: Linux Cours 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

Page 29: Linux Cours 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

Page 30: Linux Cours 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

Page 31: Linux Cours 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

Page 32: Linux Cours 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

Page 33: Linux Cours 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

Page 34: Linux Cours 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

Page 35: Linux Cours 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

Page 36: Linux Cours 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

Page 37: Linux Cours 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

Page 38: Linux Cours 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

Page 39: Linux Cours 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

Page 40: Linux Cours 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

Page 41: Linux Cours 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

Page 42: Linux Cours 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

Page 43: Linux Cours 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

Page 44: Linux Cours 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

Page 45: Linux Cours 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

Page 46: Linux Cours 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

Page 47: Linux Cours 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

Page 48: Linux Cours 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

Page 49: Linux Cours 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

Page 50: Linux Cours 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

Page 51: Linux Cours 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

Page 52: Linux Cours 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

Page 53: Linux Cours 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

Page 54: Linux Cours 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

Page 55: Linux Cours 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

Page 56: Linux Cours 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

Page 57: Linux Cours 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

Page 58: Linux Cours 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

Page 59: Linux Cours 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

Page 60: Linux Cours 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

Page 61: Linux Cours 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

Page 62: Linux Cours 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

Page 63: Linux Cours 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

Page 64: Linux Cours 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

Page 65: Linux Cours 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

Page 66: Linux Cours 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

Page 67: Linux Cours 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

Page 68: Linux Cours 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

Page 69: Linux Cours 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

Page 70: Linux Cours 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

Page 71: Linux Cours 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

Page 72: Linux Cours 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

Page 73: Linux Cours 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

Page 74: Linux Cours 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

Page 75: Linux Cours 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

Page 76: Linux Cours 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

Page 77: Linux Cours 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

Page 78: Linux Cours 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

Page 79: Linux Cours 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

Page 80: Linux Cours 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

Page 81: Linux Cours 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