UE21 - M2102 (Architecture des réseaux)

Transcription

UE21 - M2102 (Architecture des réseaux)
UE21 - M2102 : Architecture des réseaux
Enoncé du TP 4
Commandes réseau de configuration et tests IP
IUT Aix-Marseille - INFO Aix
C. Pain-Barre
Table des matières
1
2
Configuration d’un hôte sous Unix
1.1 Les interfaces réseau . . . . . . . . . . . . . . . . . . . .
1.2 ifconfig : configuration d’une interface sous Unix . . . . .
Exercice 1 (Consultation et configuration des interfaces) .
1.3 Test de connectivité avec ping . . . . . . . . . . . . . . .
Exercice 2 (tests de connectivité depuis m2) . . . . . . . .
Exercice 3 (tests de connectivité depuis m1) . . . . . . . .
1.4 Configuration d’une table de routage . . . . . . . . . . . .
Exercice 4 (Consultation de la table de routage de m2) . .
Exercice 5 (Modification de la table de routage de m1) . .
Exercice 6 (routes du PC) . . . . . . . . . . . . . . . . . .
1.5 Consultation et modification du cache ARP . . . . . . . .
Exercice 7 (manipulation du cache ARP) . . . . . . . . . .
Exercice 8 (petites questions sur arp) . . . . . . . . . . . .
1.6 traceroute : connaître le chemin suivi par les datagrammes
Exercice 9 (traceroute sur le PC) . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Commandes réseau dans l’environnement Windows
2.1 ipconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 netsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 arp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 tracert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercice 10 (Configuration de la machine virtuelle Windows XP)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
6
8
8
8
9
11
11
11
12
12
13
13
14
.
.
.
.
.
.
.
14
15
17
19
20
21
24
25
3
Synthèse de l’utilisation des commandes réseau
25
Exercice 11 (Déduction de la topologie) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4
Noms de stations et de domaine
4.1 Noms officieux . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Sous Unix . . . . . . . . . . . . . . . . . . . . . . . . .
Exercice 12 (noms officieux sur allegro) . . . . . . . . .
Exercice 13 (noms officieux sur m1) . . . . . . . . . . .
4.1.2 Sous Windows . . . . . . . . . . . . . . . . . . . . . .
4.2 Noms officiels : utilisation et configuration du client DNS . . . .
4.2.1 Commande hostname . . . . . . . . . . . . . . . . . . .
Exercice 14 (hostname sur allegro) . . . . . . . . . . . .
4.2.2 Résolution de nom sous Unix et le fichier nsswitch.conf
IUT Aix-Marseille - INFO Aix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19/3/2015
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
28
28
28
29
29
30
31
31
32
32
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
4.2.3
4.2.4
4.2.5
5
6
7
8
Enonc´e du TP 4
2/48
Exercice 15 (consultation de /etc/nsswitch.conf sur allegro) .
Configuration du client (solveur) DNS . . . . . . . . . . . .
Exercice 16 (consultation de /etc/resolv.conf du PC) . . . .
Exercice 17 (configuration du client DNS de m1) . . . . . .
Interrogation du DNS avec host, dig et nslookup . . . . . .
La commande host . . . . . . . . . . . . . . . . . . . . . .
Exercice 18 (interrogations DNS avec host) . . . . . . . . .
La commande dig . . . . . . . . . . . . . . . . . . . . . . .
Exercice 19 (interrogations DNS avec dig) . . . . . . . . .
La commande nslookup . . . . . . . . . . . . . . . . . . .
Exercice 20 (interrogations DNS avec nslookup) . . . . . .
Exercice 21 (interrogations DNS itératives avec nslookup) .
WHOIS : informations sur les gestionnaires d’un domaine .
Exercice 22 (interrogation whois sur Linux) . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
34
34
34
35
35
37
37
38
38
38
39
39
39
TELNET
5.1 Client telnet pour le terminal virtuel . . . . . . . . . . . . . .
Exercice 23 (Utilisation de telnet depuis Linux) . . . . . . . .
Exercice 24 (Facultatif : utilisation de telnet depuis Windows)
5.2 Telnet comme simple client TCP . . . . . . . . . . . . . . . .
Exercice 25 (Utilisation de telnet en client TCP) . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
40
40
41
41
42
43
Activités réseaux d’un hôte
6.1 Les services réseau et la sécurité . . . . . . .
6.2 Lister l’activité réseau avec netstat . . . . . .
Exercice 26 (netstat sur linux) . . . . . . . .
Exercice 27 (Facultatif : netstat sur windows)
Exercice 28 (identification des services actifs)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
44
44
44
45
46
46
Autres outils du bricoleur réseau
7.1 nmap : scanner un réseau . . . . . . . . . .
Exercice 29 (Utilisation de nmap sur Linux)
7.2 netcat : un client/serveur à tester . . . . . .
Exercice 30 (Utilisation de netcat sur Linux)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
47
47
47
48
.
.
.
.
Le courrier électronique et les clients de messagerie
48
Exercice 31 (Utilisation de Thunderbird) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
3/48
1
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
Configuration d’un hôte sous Unix
1.1
Les interfaces réseau
Une interface réseau identifie un périphérique permettant de se connecter à un réseau ainsi que les méthodes
d’accès à ce réseau. Ce peut être un modem, une carte réseau, un port série, un port USB, ou autre. Une station
ne possède et n’utilise généralement qu’une seule carte réseau. Les routeurs possèdent en revanche une interface
par réseau auquel ils sont connectés.
Sur Unix (et Linux), une interface correspond à un point d’entrée dans le noyau (cœur du système). Envoyer
des messages via les interfaces réseaux revient à passer des données à des procédures spéciales du noyau chargées d’effectuer les opérations d’entrées-sorties physiques. Une interface est généralement identifiée par un nom
logique indiquant le type d’interface et le numéro d’ordre de la carte. Par exemple, sous Linux, une carte Ethernet
classique sera identifiée par :
• eth0 pour la première carte ;
• eth1 pour la seconde ;
• etc.
et les cartes Wifi, plutôt par wlan0, wlan1, . . .
Sur SunOS 7.0 (Unix de Sun MicroSystems), une carte Ethernet sera identifiée par :
• le0 pour la première ;
• le1 pour la seconde ;
• etc.
-
Une exception concerne l’interface loopback (boucle locale) identifiée par lo suivi éventuellement
d’un numéro. C’est une interface virtuelle associée à l’adresse IP 127.0.0.1 (en fait à toutes les
adresses IP commençant par 127, qui sont inutilisables pour adresser un hôte sur Internet).
Virtuelle veut dire que loopback n’est rattachée à aucune une carte réseau réelle. Elle permet, avec
son adresse IP, de tester uniquement en local des programmes utilisant TCP/IP, sans même disposer
d’une liaison réseau. Elle permet donc de réaliser des tests sans pour autant provoquer de transmission
sur le réseau, et d’utiliser localement des services réseaux.
Généralement, les stations sont configurées pour que cette interface puisse être désignée par le nom
localhost (cas des stations Unix et Windows).
Une interface possède (généralement) une adresse physique, communément appelée adresse MAC. C’est
l’adresse qui l’identifie dans les communications au niveau trame (couche liaison OSI), au sein du réseau physique auquel elle est connectée. Pour que cette interface puisse être une destination dans l’Internet, il faut lui
associer une adresse IP (une seule suffit). Ainsi, une station va posséder une seule adresse IP alors qu’un routeur
va posséder une adresse IP par réseau auquel il est connecté, via une interface. Pour réaliser cette association, il
faut configurer l’interface.
La configuration d’une interface comprend :
• son adresse IP ;
• son masque de sous-réseau ;
-
le système déduit l’adresse de son réseau en appliquant le masque à l’adresse IP, et ajoute
automatiquement la route directe correspondante dans la table de routage.
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
4/48
• selon le système et le contexte, l’adresse d’un routeur (Gateway) pour créer la route par défaut ;
• l’adresse IP de diffusion dirigée (si la diffusion est possible) dans le réseau de l’hôte. Un datagramme
envoyé vers cette adresse est aussi destiné à cette interface ainsi qu’à toutes celles raccordées à ce réseau ;
-
l’adresse de diffusion dirigée est aussi déduite de l’adresse IP et du masque, en mettant à 1
dans l’adresse IP, les bits qui sont à zéro dans le masque.
• un état actif (UP) ou inactif (DOWN) ;
• un certain nombre d’options :
le MTU (Maximum Transmission Unit) : charge utile maximale d’une trame émise via cette interface,
dépendant du réseau. Vaut 1500 pour Ethernet ;
l’activation ou non du protocole ARP sur cette interface ;
la possibilité de diffuser ou non via l’interface (BROADCAST) ;
la possibilité de recevoir des messages émis en multi-diffusion (MULTICAST) ;
l’activation du mode promiscuous, donnant la possibilité de garder toutes les trames reçues sur cette
interface, même celles n’étant pas destinées à l’adresse physique de cette interface. Ce mode est utilisé
pour réaliser des captures de trafic réseau.
1.2
ifconfig : configuration d’une interface sous Unix
La commande permettant de configurer une interface sous Unix est ifconfig (interface configuration), qui se
trouve dans le répertoire /sbin. Elle admet d’assez nombreuses options car elle permet de configurer tout type
de carte, pour différents besoins et protocoles réseau (pas seulement IPv4). Elle sert aussi à la consultation de la
configuration courante des interfaces.
-
Le répertoire /sbin tout comme /usr/sbin contiennent des commandes destinées normalement aux
administrateurs. Ces répertoires ne sont donc pas contenus par défaut dans le PATH des utilisateurs. Un
utilisateur normal voulant les utiliser doit soit saisir leur référence absolue soit modifier son PATH en
tapant :
$ PATH="$PATH:/sbin:/usr/sbin"
Synopsis
ifconfig [-a | interface]
ifconfig interface [adresse-ip] [netmask masque] [mtu mtu] [hw ether adresse-mac]
La première forme sert à la consultation de la configuration courante. Si interface n’est pas indiquée, seule la
configuration des interfaces actives (UP) est affichée. Les interfaces inactives (DOWN) sont aussi affichées si on
utilise -a. Sinon, seule la configuration de interface est affichée.
La deuxième forme permet une configuration élémentaire de l’interface indiquée, où :
• adresse-ip
est l’adresse IPv4 à lui attribuer ;
• netmask masque
• mtu mtu
C. Pain-Barre -
précise le masque de sous-réseau à utiliser ;
précise le MTU (en octets). Il n’est généralement pas utile de le modifier ;
19/3/2015
IUT Aix-Marseille - INFO Aix
5/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
• hw ether adresse-mac permet d’utiliser une autre adresse MAC (Ethernet) que celle de la carte
réseau. Sauf cas particuliers, il n’est pas nécessaire de préciser ce paramètre.
i
En ligne de commandes sous Windows, la configuration d’une interface passe par la commande netsh
interface ip (voir section 2.2 page 17), bien qu’ipconfig (voir section 2.1 p. 15) puisse servir, notamment pour afficher la configuration.
Exemple 1
Affichage de la configuration courante des interfaces actives :
# ifconfig
eth0
Link encap:Ethernet HWaddr 00:21:9b:dd:db:f9
inet adr:139.124.187.55 Bcast:139.124.187.255 Masque:255.255.255.0
adr inet6: fe80::221:9bff:fedf:dbf9/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:116984 errors:0 dropped:0 overruns:0 frame:0
TX packets:48298 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:148500091 (141.6 MiB) TX bytes:3921033 (3.7 MiB)
Interruption:17
lo
Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10964 errors:0 dropped:0 overruns:0 frame:0
TX packets:10964 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:654158 (638.8 KiB) TX bytes:654158 (638.8 KiB)
ê
les interfaces eth0 et lo (loopback) sont actives. Pour eth0, on peut noter la configuration mise en
gras sur l’exemple :
• adresse MAC (HWaddr) : 00:21:9b:dd:db:f9
• adresse IPv4 (inet adr) : 139.124.187.55
• adresse de diffusion dirigée dans le réseau (Bcast) : 139.124.187.255
• masque de sous-réseau : 255.255.255.0
• MTU : 1500
Affichage de la configuration courante de toutes les interfaces :
# ifconfig -a
eth0
Link encap:Ethernet HWaddr 00:21:9b:dd:db:f9
inet adr:139.124.187.55 Bcast:139.124.187.255
...
lo
Masque:255.255.255.0
Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
...
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
6/48
tap426275 Link encap:Ethernet HWaddr 46:86:d4:80:98:8b
inet adr:172.23.0.254 Bcast:172.23.255.255 Masque:255.255.255.255
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:1212 errors:0 dropped:0 overruns:0 frame:0
TX packets:59 errors:0 dropped:34 overruns:0 carrier:0
collisions:0 lg file transmission:500
RX bytes:39060 (38.1 KiB) TX bytes:8629 (8.4 KiB)
wlan0
ê
Link encap:Ethernet HWaddr 00:1f:3c:c1:05:e6
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:33446 errors:0 dropped:0 overruns:0 frame:0
TX packets:10817 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:14998208 (14.3 MiB) TX bytes:4210593 (4.0 MiB)
l’interface wlan0 correspond à la première carte Wifi ; l’interface tap426275 est une interface
virtuelle créée par le simulateur Marionnet pour avoir un accès réseau à une machine virtuelle.
Configuration de l’interface eth0 avec l’adresse 150.151.152.1/16 :
# ifconfig eth0 150.151.152.1 netmask 255.255.0.0
Vérification :
# ifconfig eth0
eth0
Link encap:Ethernet HWaddr 00:21:9b:dd:db:f9
inet adr:150.151.152.1 Bcast:150.151.255.255
...
Masque:255.255.0.0
Exercice 1 (Consultation et configuration des interfaces)
Nous allons travailler sur des machines virtuelles mises en réseau grâce au simulateur Marionnet :
1. Télécharger le fichier tp4_mkxp4mario.bash (depuis le site de l’enseignement) et l’exécuter. Il prépare
et démarre une machine virtuelle sous Windows XP dont on se servira plus tard. L’exécution de ce script
prend du temps : passer à la suite et de temps en temps répondre aux messages de VirtualBox ;
2. Télécharger le fichier tp4_confip_lab1.mar (depuis le site de l’enseignement)
3. Lancer le simulateur Marionnet via le menu Autres −→ Marionnet
4. Cliquer sur la fenêtre de bienvenue puis charger le fichier tp4_confip_lab1.mar par le menu
Projet −→ Ouvrir (prend un temps plus ou moins long)
5. Ce projet contient le réseau 10.0.2.0/24 présenté à la figure 1. Il est formé par :
• une machine virtuelle linux m1 non configurée ;
• une machine virtuelle linux m2 déjà configurée avec une adresse dans le réseau 10.0.2.0/24 ;
• la machine virtuelle windows XP, non configurée, représentée par B1 ;
• une passerelle vers Internet (de type box des FAI) nommée G1 et d’adresse 10.0.2.2. Elle est
configurée pour donner accès (partiellement) à Internet aux hôtes du réseau. Cette passerelle fait
office de routeur par défaut.
• un switch S1 qui connecte tout ce beau monde.
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
7/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
F IGURE 1 – Interface de Marionnet suite au chargement de tp5_confip_lab1.mar
6. Cliquer sur le bouton Tout Démarrer en bas à gauche de l’interface. Les machines virtuelles démarrent
chacune dans une fenêtre terminal dédiée.
7. Se loger sur m2 en tant que root (mot de passe root)
8. Faire afficher la configuration de ses interfaces. Repérer l’interface Ethernet déjà configurée et déterminer :
(a) son adresse MAC (Ethernet)
(b) son adresse IPv4
(c) l’adresse de diffusion dirigée dans ce réseau
(d) son masque de sous-réseau
(e) le MTU de son réseau
9. Se loger sur m1 en tant que root (mot de passe root)
10. Faire afficher la configuration de ses interfaces
11. Configurer son interface eth0 avec l’adresse 10.0.2.15/24
12. Afficher la configuration de eth0
[Corrigé]
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
1.3
Enonc´e du TP 4
8/48
Test de connectivité avec ping
La commande ping est disponible sur les systèmes Unix et Windows (voir section 2.3, page 19). Elle permet
de tester l’acheminement de datagrammes sur le réseau et, accessoirement, de vérifier qu’une machine est bien
présente sur le réseau. Elle permet aussi de réaliser des statistiques sur les temps de réponse ainsi que sur le
pourcentage de paquets perdus.
i
Sous Linux, la commande ping se trouve dans le répertoire /bin, déjà présent dans le PATH d’un
utilisateur normal.
ping utilise par défaut le protocole ICMP en envoyant des messages (ICMP) de type "Demande d’ECHO"
(ECHO REQUEST) demandant au destinataire de répondre par un "Réponse d’ECHO" (ECHO REPLY). Sur certains
systèmes, ping effectue plusieurs envois puis s’arrête en fournissant des statistiques sur le temps de propagation
aller-retour (Round Trip Time). Sur d’autres systèmes (comme Linux), il faut arrêter ping en tapant Ctrl-C .
Ainsi, lorsqu’une réponse arrive, on est assuré que l’ordinateur qu’on utilise est correctement configuré, de
même que l’ordinateur intérrogé, que les réseaux qui les séparent sont opérationnels et que les routeurs intermédiaires sont correctement configurés.
Exercice 2 (tests de connectivité depuis m2)
Ouvrir un terminal sur votre PC, et consulter le manuel en ligne de ping en tapant :
$ man ping
pour étudier ses options -c, -b et -f.
Depuis la machine virtuelle m2 :
1. Taper ping 10.0.2.2 pour tester la connectivité avec la passerelle Internet (G1). Vous devriez obtenir les
réponses. Taper Ctrl-C pour arrêter la commande ;
2. Reprendre la commande précédente et utiliser l’option permettant de limiter le nombre de requêtes à 3 ;
3. Tester la connectivité avec m1 qui devrait avoir l’adresse 10.0.2.15. Si m1 a été correctement configurée,
ses réponses doivent revenir ;
4. Tester la connectivité avec l’hôte 139.124.187.15. Si la passerelle Internet fonctionne normalement,
vous devriez encore obtenir des réponses.
5. Tester la connectivité avec l’hôte 192.168.10.30 en limitant à 3 requêtes (il y a peu de chances d’avoir
une réponse. . .) et en utilisant l’option -f pour afficher une trace des requêtes transmises (un point est affiché
par requête).
[Corrigé]
Exercice 3 (tests de connectivité depuis m1)
Depuis m1 :
1. Tester la connectivité avec G1. Vous devriez obtenir les réponses ;
2. Tester la connectivité avec 139.124.187.15. Vous devriez obtenir un message d’erreur. Pourtant, aucun
matériel (S1, G1, allegro) n’a de configuration particulière excluant m1 de l’accès à Internet. Le problème
vient uniquement de m1. D’après vous, quel est-il ?
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
9/48
Enonc´e du TP 4
i
UE21 - M2102 : Architecture des r´eseaux
Aides (si besoin) :
• un indice est déjà donné par l’erreur indiquée par ping ;
• un autre est que l’adresse 139.124.187.15 n’appartient pas au réseau local de m1 ;
• un dernier est de se demander quels sont les paramètres que nous avons eu besoin d’entrer
pour configurer correctement un hôte sur Packet Tracer ? Peut être un élément de configuration manque encore. . .
[Corrigé]
1.4
Configuration d’une table de routage
Les informations que l’on peut (ou doit) spécifier lorsqu’on ajoute une route dans une table de routage sont :
• le type de destination (réseau ou hôte) ;
• son adresse IP ;
• le masque de cette adresse (afin de prendre en compte des regroupements de réseaux) s’il est différent de
celui de la classe du réseau ;
• le routeur associé (0.0.0.0 si la route est directe) ;
• l’interface à utiliser pour cette route (lo, eth0,. . .), et permettant de communiquer avec la destination
(route directe) ou le routeur.
La configuration de la table de routage se fait au moyen de la commande route sur Unix et Windows (voir
section 2.5, page 21). Cette commande permet d’ajouter ou de supprimer des routeurs vers des réseaux ou des
stations. Dans notre cas, le synopsis suivant devrait suffire.
Synopsis
route [-n]
route add -net adresse-destination netmask masque gw routeur [dev interface]
route del -net adresse-destination netmask masque gw routeur [dev interface]
La première forme permet d’afficher la table de routage. L’option -n désactive la résolution inverse DNS, ce
qui est parfois bien pratique. La seconde permet d’ajouter une route passant par le routeur routeur vers la destination adresse-destination de masque masque. Si besoin, l’interface à utiliser pour cette route peut être indiquée
avec dev interface. La dernière forme permet de supprimer une route.
-
Il n’est pas nécessaire d’ajouter dans la table le réseau auquel est connectée l’interface de la station.
En effet, sa configuration avec ifconfig a automatiquement provoqué son ajout dans la table.
i
Il est possible avec route d’interdire une destination en utilisant l’option reject mais cela ne remplace
pas l’utilisation d’un bon firewall. . .
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
10/48
Exemple 2
Supposons que nous voulons ajouter une route vers la destination 139.124.110.0/24 qui passe par le
routeur 150.151.152.250 et une route par défaut qui passe par le routeur 150.151.152.153.
Dans un premier temps, supposons que l’hôte est déjà configuré au niveau IP, et consultons sa table de routage :
# route -n
Table de routage IP du noyau
Destination
Passerelle
150.151.0.0
0.0.0.0
Genmask
255.255.0.0
Indic Metric Ref
U
0
0
Use Iface
0 eth0
On ajoute ensuite la route vers 139.124.187.0/24 :
# route add -net 139.124.110.0 netmask 255.255.255.0 gw 150.151.152.250
puis la route par défaut :
# route add -net 0.0.0.0 netmask 0.0.0.0 gw 150.151.152.153
Puis on peut vérifier en affichant la table :
# route -n
Table de routage IP du noyau
Destination
Passerelle
150.151.0.0
0.0.0.0
139.124.110.0
150.151.152.250
0.0.0.0
150.151.152.153
Genmask
255.255.0.0
255.255.255.0
0.0.0.0
Indic
U
UG
UG
Metric
0
0
0
Ref
0
0
0
Use
0
0
0
Iface
eth0
eth0
eth0
Puis en testant la connectivité d’un hôte (dont on sait qu’il répond en temps normal) :
# ping 139.124.110.8
PING 139.124.110.8 (139.124.110.8) 56(84) bytes of data.
64 bytes from 139.124.110.8: icmp_seq=1 ttl=64 time=0.276 ms
64 bytes from 139.124.110.8: icmp_seq=2 ttl=64 time=0.485 ms
64 bytes from 139.124.110.8: icmp_seq=3 ttl=64 time=0.408 ms
64 bytes from 139.124.110.8: icmp_seq=4 ttl=64 time=0.363 ms
CTRL + C
--- 139.124.110.8 ping statistics --4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.276/0.383/0.485/0.075 ms
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
11/48
i
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
La colonne Indic (ou flags, selon l’installation) contient une combinaison d’indicateurs donnant
quelques renseignements sur la route. Parmi les indicateurs possibles, il y a U, H, G, D, M et ! :
• U : la route est en service (activée).
• H : la destination est un ordinateur (host). Sans cet indicateur, la destination est un réseau.
• G : la route n’est pas directe et la passerelle est un routeur (gateway). Sans cet indicateur, la
destination est directement accessible.
• D : la route a été créée par une redirection (message ICMP).
• M : la route a été modifiée par une redirection (message ICMP).
• ! : la route est rejetée (option reject).
Dans certaines implémentations, la table de routage peut contenir les adresses de la station elle-même.
Par exemple, pour la station d’adresse 139.124.187.4, on pourrait avoir comme table :
Destination
139.124.187.4
139.124.187.0
127.0.0.0
0.0.0.0
Passerelle
0.0.0.0
0.0.0.0
0.0.0.0
139.124.187.1
Genmask
255.255.255.255
255.255.255.0
255.0.0.0
0.0.0.0
Indic
UH
U
U
UG
Metric
0
10
0
10
Ref Use Iface
0
0 eth0
0
0 eth0
0
0 lo
0
0 eth0
Exercice 4 (Consultation de la table de routage de m2)
Sur m2, utiliser route avec l’option -n pour faire afficher sa table de routage. Recommencer ensuite sans l’option
-n.
[Corrigé]
Exercice 5 (Modification de la table de routage de m1)
Sur m1 :
1. faire afficher sa table de routage ;
2. ajouter une route par défaut passant par la passerelle Internet (10.0.2.2) ;
3. faire à nouveau afficher sa table de routage et vérifier cette nouvelle route ;
4. tester la connectivité de 139.124.187.15. Cette fois, cela devrait fonctionner.
[Corrigé]
-
Un raccourci pour créer une route par défaut est d’utiliser la forme :
route add default gw routeur [dev interface]
Exercice 6 (routes du PC)
Sur un terminal de votre PC, faire afficher les routes connues. Les routes utilisant les interfaces tap* offrent
une connectivité avec les machines virtuelles de Marionnet. Nous y reviendrons ultérieurement.
[Corrigé]
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
1.5
Enonc´e du TP 4
12/48
Consultation et modification du cache ARP
La commande arp permet de consulter et de modifier le cache ARP, sous Unix (Linux) et Windows (voir section 2.4, page 20).
-
Sous Linux, la commande arp est située dans le répertoire /usr/sbin qui ne figure pas par défaut
dans le PATH d’un utilisateur normal.
Exemple 3
Voici un petit extrait des informations que l’on peut obtenir avec arp (sur un PC du département) :
$ /usr/sbin/arp
Address
b122.iut.univ-aix.fr
imp-a.iut.univ-aix.fr
b118.iut.univ-aix.fr
pcdl.iut.univ-aix.fr
iutextreme.iut.univ-aix
...
$ /usr/sbin/arp -n
Address
139.124.187.122
139.124.187.94
139.124.187.118
139.124.187.248
139.124.187.1
...
ê
HWtype
ether
ether
ether
ether
HWtype
ether
ether
ether
ether
HWaddress
f0:4d:a2:24:24:5a
(incomplete)
f0:4d:a2:23:6a:e9
b8:ac:6f:30:7d:65
00:23:89:57:5e:a3
Flags Mask
C
HWaddress
f0:4d:a2:24:24:5a
(incomplete)
f0:4d:a2:23:6a:e9
b8:ac:6f:30:7d:65
00:23:89:57:5e:a3
Flags Mask
C
C
C
C
C
C
C
Iface
eth0
eth0
eth0
eth0
eth0
Iface
eth0
eth0
eth0
eth0
eth0
on voit que l’entrée 139.124.187.94 (imp-a.iut.univ-aix.fr) est incomplète car ce PC
cherche à la résoudre (attend la réponse ARP de sa requête). Les entrées marquées C dans la colonne
Flags sont des entrées temporaires normales.
Exercice 7 (manipulation du cache ARP)
Sur un terminal du PC, consulter le manuel en ligne Linux de arp en tapant :
$ man arp
et étudier ses options -a, -n, -d et -s.
Puis, sur la machine virtuelle m1 :
1. afficher la liste de toutes les associations présentes dans son cache ARP. Utiliser l’option -n pour désactiver
la résolution inverse qui n’est pas souhaitée. Selon le temps passé avant cette question, il peut être vide, ce
qui est normal car les entrées du cache expirent rapidement (ont une durée de vie très courte).
2. taper ping -c 1 10.0.2.2
3. afficher la liste de toutes les associations présentes dans le cache ARP. Cette fois nous devrions voir apparaître une entrée pour 10.0.2.2. Pourquoi ?
4. utilser arp pour ajouter manuellement (et de façon permanente) l’entrée 10.0.2.10 associée à l’adresse
MAC 00:21:9b:dd:db:f9 puis vérifier le cache
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
13/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
5. taper ping -c 1 10.0.2.10. Vous devriez ne pas obtenir de réponse. Pouvez-vous expliquer pourquoi ?
i
Aide (si besoin) :
• une entrée permanente n’est pas remise en cause
• quelle est l’adresse MAC de l’interface eth0 de m2 ?
-
On ne devrait jamais avoir besoin d’ajouter une entrée manuellement dans le cache ARP. . .
6. supprimer du cache l’entrée pour 10.0.2.10 puis vérifier l’état du cache
7. taper ping -c 1 10.0.2.10. Cette fois, vous devriez obtenir une réponse. Comprenez-vous pourquoi ?
[Corrigé]
Exercice 8 (petites questions sur arp)
1. Pensez-vous que le cache de m1 (ou de m2) puisse contenir une entrée ARP pour l’adresse 10.0.10.10 ?
i
Aide (si besoin) : ces hôtes se trouvent-ils sur le même réseau ?
2. Trouvez-vous dans le manuel de arp une option permettant d’obtenir l’adresse physique d’un hôte (station
ou routeur) non présent dans le cache ?
[Corrigé]
1.6
traceroute : connaître le chemin suivi par les datagrammes
La commande traceroute permet de connaître le chemin (route) que suivent les datagrammes envoyés vers
un hôte donné. Son homologue sous Windows est tracert (voir section 2.6, page 24).
-
traceroute affiche les adresses IP des routeurs traversés pour atteindre l’hôte. Cependant, en cas de
routage dynamique, ce ne sera peut être plus le chemin utilisé pour des envois ultérieurs vers ce même
hôte.
Elle permet ainsi de savoir à quel endroit bloque la transmission d’un paquet que l’on tente d’envoyer sans
succès (malheureusement, ça arrive).
Pour afficher ces routeurs, elle provoque une erreur d’acheminement sur chaque routeur par lequel passe
le datagramme IP en agissant sur le champ TTL de ce dernier. En effet, traceroute commence par envoyer
un datagramme UDP véhiculé par un datagramme IP avec un TTL positionné à 1. Le premier routeur rencontré
détruit le datagramme et renvoie une erreur ICMP de TTL expiré. On obtient ainsi l’adresse du premier routeur de
la route. traceroute envoie ensuite un datagramme UDP dans un datagramme IP avec un TTL à 2 pour connaître
le second routeur, et ainsi de suite, jusqu’à atteindre la destination spécifiée (mais sur un port non attribué pour
recevoir un message ICMP de port inaccessible).
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
14/48
Exercice 9 (traceroute sur le PC)
i
Sous Linux, la commande traceroute se trouve dans le répertoire /usr/sbin qui ne figure pas dans
le PATH d’un utilisateur normal. . .
Sur un terminal du PC, consulter le manuel en ligne Linux de traceroute en tapant :
$ man traceroute
et étudier ses options -n et -f.
Sur ce même terminal, utiliser traceroute afin de déterminer les routes suivantes :
1. pour atteindre infodoc.aix.univ-amu.fr
i
Certainement à des fins de confidentialité, certains routeurs ne renvoient pas d’erreur ICMP. Cela
se traduit dans traceroute par un timeout pour l’envoi et l’affichage d’une étoile * plutôt que de
l’adresse (ou le nom) du routeur. Puisque, pour chaque routeur, traceroute fait 3 tentatives, il y
aura alors 3 étoiles (3 timeout). traceroute est alors considérablement ralenti. Si, à partir d’un
certain point, plusieurs routeurs de suite ne répondent pas, c’est probablement que les messages
sont filtrés et qu’il n’y aura pas d’espoir d’en savoir davantage. On peut alors arrêter traceroute.
2. pour atteindre www.free.fr. Attention, ce peut être assez long !
3. pour atteindre saphir.lidil.univ-mrs.fr en demandant d’afficher les adresses IP des routeurs
plutôt que leurs noms.
4. pour atteindre www.nasa.gov
5. reprendre la question 2 en demandant à ce que les cinq premiers routeurs n’apparaissent pas (il faut agir sur
le TTL du premier datagramme envoyé par traceroute)
[Corrigé]
i
2
Il existe des versions graphiques de traceroute, notamment xtraceroute (qui n’est pas installé sur
nos stations) mais la localisation géographique des routeurs est loin d’être vraiment précise. . .
Commandes réseau dans l’environnement Windows
Cette section regroupe les équivalents Windows des commandes étudiées. Elle est constituée principalement
d’exemples d’utilisation.
-
Les exemples d’exécution des commandes sont tapés sur une fenêtre terminal de Windows XP (émulation MSDOS), lancée via le menu Démarrer −→ Exécuter −→ cmd.
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
15/48
2.1
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
ipconfig
ipconfig permet de consulter la configuration IP, et d’obtenir des informations plus détaillées sur les interfaces et autres éléments de configuration. Elle permet de réaliser des opérations élémentaires DHCP comme le
renouvellement d’une adresse ou sa résiliation.
Exemple 4
• Obtenir de l’aide sur ipconfig :
C:>ipconfig/?
UTILISATION :
ipconfig [/? | /all | /renew [carte] | /release [carte] |
/flushdns | /displaydns | /registerdns |
/showclassid carte |
/setclassid carte [ID de classe] ]
...
• Afficher les informations principales sur la configuration IP :
C:\>ipconfig
Configuration IP de Windows
Carte Ethernet Connexion au réseau local:
Suffixe DNS propre à la
Adresse IP. . . . . . .
Masque de sous-réseau .
Passerelle par défaut .
connexion
. . . . .
. . . . .
. . . . .
:
: 10.0.2.15
: 255.255.255.0
: 10.0.2.2
• Afficher une synthèse des configurations réseau de l’hôte :
C:\>ipconfig/all
Configuration IP de Windows
Nom de l’hôte . . . . . . . . . . : vb-xp-iut
Suffixe DNS principal . . . . . . :
Type de noud . . . . . . . . . . : Inconnu
Routage IP activé . . . . . . . . : Non
Proxy WINS activé . . . . . . . . : Non
Carte Ethernet Connexion au réseau local:
Suffixe DNS propre à la connexion :
Description . . . . . . . . . . . : Carte AMD PCNET Family Ethernet PCI
Adresse physique . . . . . . . . .: 08-00-27-71-76-54
DHCP activé. . . . . . . . . . . : Oui
Configuration automatique activée . . . . : Oui
Adresse IP. . . . . . . . . . . . : 10.0.2.15
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
Masque de sous-réseau . . . . . .
Passerelle par défaut . . . . . .
Serveur DHCP. . . . . . . . . . .
Serveurs DNS . . . . . . . . . .
16/48
255.255.255.0
10.0.2.2
10.0.2.2
212.27.40.240
212.27.40.241
Bail obtenu . . . . . . . . . . . : jeudi 12 avril 2012 14:33:28
Bail expirant . . . . . . . . . . : vendredi 13 avril 2012 14:33:28
-
:
:
:
:
Sous Windows, les interfaces sont nommées comme ici "Connexion au réseau
local". On voit aussi que la représentation d’une adresse Ethernet change sur Windows
(08-00-27-71-76-54).
• Utiliser ipconfig pour résilier une allocation DHCP (pour une interface configurée pour DHCP, voir netsh) :
C:>ipconfig/release
Configuration IP de Windows
Carte Ethernet Connexion au réseau local:
Suffixe DNS propre à la
Adresse IP. . . . . . .
Masque de sous-réseau .
Passerelle par défaut .
connexion
. . . . .
. . . . .
. . . . .
:
: 0.0.0.0
: 0.0.0.0
:
• et pour renouveler sa configuration par DHCP :
C:>ipconfig/renew
Configuration IP de Windows
Carte Ethernet Connexion au réseau local:
Suffixe DNS propre à la
Adresse IP. . . . . . .
Masque de sous-réseau .
Passerelle par défaut .
C. Pain-Barre -
19/3/2015
connexion
. . . . .
. . . . .
. . . . .
:
:
:
:
iut.univ-aix.fr
10.0.2.15
255.255.255.0
10.0.2.2
IUT Aix-Marseille - INFO Aix
17/48
2.2
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
netsh
La commande netsh regroupe un ensemble de modules permettant d’agir sur la configuration réseau d’un
poste Windows. Pour configurer les paramètres IPv4 d’une interface réseau, il faut utiliser le module netsh
interface ip. Il permet notamment d’affecter manuellement (statiquement) les paramètres IPv4 ou de configurer
l’interface pour les obtenir par DHCP (dynamiquement).
Exemple 5
• Obtenir de l’aide sur netsh interface ip :
C:>netsh interface ip
Les commandes suivantes sont disponibles :
Commandes dans ce contexte :
?
- Affiche une liste de commandes.
add
- Ajoute une entrée de configuration à une table.
delete
- Supprime une entrée de configuration d’une table.
dump
- Affiche un script de configuration.
help
- Affiche une liste de commandes.
reset
- Réinitialisez TCP/IP et les composants associés.
set
- Définit l’information de configuration.
show
- Affiche les informations.
Pour consulter l’aide d’une commande, entrez la commande, suivie par un espace,
et ensuite entrez ?.
• Fixer statiquement l’adresse IPv4 10.0.2.100/24 pour l’interface Connexion au réseau local.
Fixer aussi les paramètres (optionnels) Gateway et métrique de la route par défaut à 10.0.2.2 et 20 (le
tout sur une seule ligne) :
C:>netsh int ip set address "Connexion au réseau local"
static 10.0.2.100 255.255.255.0 10.0.2.2 20
Ok.
• Vérifications de la configuration :
C:>ipconfig
Configuration IP de Windows
Carte Ethernet Connexion au réseau local:
Suffixe DNS propre à la
Adresse IP. . . . . . .
Masque de sous-réseau .
Passerelle par défaut .
IUT Aix-Marseille - INFO Aix
connexion
. . . . .
. . . . .
. . . . .
:
: 10.0.2.100
: 255.255.255.0
: 10.0.2.2
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
18/48
C:>route print
===========================================================================
Liste d’Interfaces
0x1 ........................... MS TCP Loopback interface
0x2 ...08 00 27 71 76 54 ...... Carte AMD PCNET Family Ethernet PCI - Miniport d’ordonnance
===========================================================================
===========================================================================
Itinéraires actifs :
Destination réseau
Masque réseau Adr. passerelle
Adr. interface Métrique
0.0.0.0
0.0.0.0
10.0.2.2
10.0.2.100
20
10.0.2.0
255.255.255.0
10.0.2.100
10.0.2.100
20
10.0.2.100 255.255.255.255
127.0.0.1
127.0.0.1
20
10.255.255.255 255.255.255.255
10.0.2.100
10.0.2.100
20
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
224.0.0.0
240.0.0.0
10.0.2.100
10.0.2.100
20
255.255.255.255 255.255.255.255
10.0.2.100
10.0.2.100
1
Passerelle par défaut :
10.0.2.2
===========================================================================
Itinéraires persistants :
Aucun
• Configurer la même interface pour obtenir les informations par DHCP (et abandonner la configuration statique) puis vérification :
C:>netsh int ip set address "Connexion au réseau local" dhcp
Ok.
C:>ipconfig
Configuration IP de Windows
Carte Ethernet Connexion au réseau local:
Suffixe DNS propre à la
Adresse IP. . . . . . .
Masque de sous-réseau .
Passerelle par défaut .
C. Pain-Barre -
19/3/2015
connexion
. . . . .
. . . . .
. . . . .
:
:
:
:
iut.univ-aix.fr
10.0.2.15
255.255.255.0
10.0.2.2
IUT Aix-Marseille - INFO Aix
19/48
2.3
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
ping
La commande ping sous Windows a les mêmes fonctionnalités que sous Unix, bien qu’elle n’admette pas tout
à fait les mêmes options. Notamment, elle s’arrête par défaut après l’émission de 4 requêtes.
Exemple 6
• Obtenir de l’aide sur ping :
C:>ping/?
Utilisation : ping [-t] [-a] [-n échos] [-l taille] [-f] [-i vie] [-v TypServ]
[-r NbSauts] [-s NbSauts] [[-j ListeHôtes] | [-k ListeHôtes]]
[-w Délai] NomCible
Options :
-t
-a
-n échos
Envoie la requête ping sur l’hôte spécifié jusqu’à
interruption.
Entrez Ctrl-Attn pour afficher les statistiques et continuer,
Ctrl-C pour arrêter.
Recherche les noms d’hôte à partir des adresses.
Nombre de requêtes d’écho à envoyer.
• Tester l’accissibilité d’un hôte :
C:>ping 139.124.187.4
Envoi d’une requête ’ping’ sur 139.124.187.4 avec 32 octets de données :
Réponse
Réponse
Réponse
Réponse
de
de
de
de
139.124.187.4
139.124.187.4
139.124.187.4
139.124.187.4
:
:
:
:
octets=32
octets=32
octets=32
octets=32
temps=58
temps=48
temps=57
temps=47
ms
ms
ms
ms
TTL=127
TTL=127
TTL=127
TTL=127
Statistiques Ping pour 139.124.187.4:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 47ms, Maximum = 58ms, Moyenne = 52ms
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
2.4
Enonc´e du TP 4
20/48
arp
La commande arp sous Windows a les mêmes fonctionnalités que sous Unix.
Exemple 7
• Obtenir de l’aide sur arp :
C:\>arp/?
Affiche et modifie les tables de traduction d’adresses IP en adresses physiques
utilisées par le protocole de résolution d’adresses ARP.
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr]
-a
Affiche les entrées ARP en cours en interrogeant les données
en cours du protocole. Si inet_addr est spécifié, seules les
adresses IP et physiques de l’ordinateur spécifié sont
affichées. Si plus d’une interface réseau utilise ARP, les
entrées de chaque table ARP sont affichées.
...
Exemples :
> arp -s 157.55.85.212
> arp -a
00-aa-00-62-c6-09
.... Ajoute une entrée statique.
.... Affiche la table ARP.
• Afficher le cache ARP :
C:\>arp -a
Interface : 10.0.2.15 --- 0x2
Adresse Internet
Adresse physique
10.0.2.2
52-54-00-12-35-02
C. Pain-Barre -
19/3/2015
Type
dynamique
IUT Aix-Marseille - INFO Aix
21/48
2.5
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
route
Comme sous Unix, la commande route sous Windows permet d’afficher la table de routage et de la modifier.
Cependant, on notera que les informations figurant dans les tables Windows sont sensiblement différentes que
celles affichées sous Linux.
Exemple 8
• Obtenir de l’aide sur route :
C:>route
Manipule les tables de routage du réseau.
ROUTE [-f] [-p] [cmde [destin]
[MASK MasqueRés] [passerelle] [METRIC coût]
...
cmde
destin
MASK
MasqueRés
passerelle
interface
METRIC
[IF interface]
Spécifie une des quatre commandes suivantes :
PRINT
Affiche un itinéraire
ADD
Ajoute un itinéraire
DELETE
Supprime un itinéraire
CHANGE
Modifie un itinéraire existant
Spécifie l’hôte destination.
Si le mot clé MASK est présent, le paramètre qui le suit est
interprété en tant que paramètre de masque réseau.
Spécifie la valeur éventuelle du sous-masque réseau à associer
avec cette entrée d’itinéraire. La valeur par défaut est :
255.255.255.255.
Spécifie la passerelle.
numéro d’interface pour l’itinéraire spécifié.
Spécifie le coût métrique pour la destination
...
Exemples :
> route PRINT
> route ADD 157.0.0.0
destination^
MASK 255.0.0.0
157.55.80.1 METRIC
^masque passerelle^
3 IF 2
métrique^
^
interface^
Si IF n’est pas fourni, la meilleure interface pour une passerelle
donnée est recherchée.
> route PRINT
> route PRINT 157*
.... N’imprime que les adresses commençant par 157*
> route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
CHANGE est utilisé pour modifier la passerelle et/ou la métrique seulement
.
> route PRINT
> route DELETE 157.0.0.0
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
22/48
> route PRINT
• Supposons que la configuration IP actuelle d’un hôte est la suivante :
C:>ipconfig
Configuration IP de Windows
Carte Ethernet Connexion au réseau local:
Suffixe DNS propre à la
Adresse IP. . . . . . .
Masque de sous-réseau .
Passerelle par défaut .
connexion
. . . . .
. . . . .
. . . . .
:
: 10.0.2.15
: 255.255.255.0
: 10.0.2.2
• Étudions l’affichage de la table de routage :
C:>route print
===========================================================================
Liste d’Interfaces
0x1 ........................... MS TCP Loopback interface
0x2 ...08 00 27 71 76 54 ...... Carte AMD PCNET Family Ethernet PCI - Mini...
===========================================================================
===========================================================================
Itinéraires actifs :
Destination réseau
Masque réseau Adr. passerelle
Adr. interface Métrique
0.0.0.0
0.0.0.0
10.0.2.2
10.0.2.15
20
10.0.2.0
255.255.255.0
10.0.2.15
10.0.2.15
20
10.0.2.15 255.255.255.255
127.0.0.1
127.0.0.1
20
10.0.2.255 255.255.255.255
10.0.2.15
10.0.2.15
20
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
224.0.0.0
240.0.0.0
10.0.2.15
10.0.2.15
20
255.255.255.255 255.255.255.255
10.0.2.15
10.0.2.15
1
Passerelle par défaut :
10.0.2.2
===========================================================================
Itinéraires persistants :
Aucun
ê
La première partie de la commande liste les interfaces réseau de l’hôte. Windows attribue un
numéro à chaque interface. Ce numéro est requis pour l’ajout (ADD) et la modification (CHANGE)
d’une route avec route. Dans cet exemple, il y a 2 interfaces :
l’interface 1 (0x1) est l’interface loopback ;
l’interface 2 (0x2) correspond à la carte réseau de l’hôte. Elle a pour adresse MAC
08-00-27-71-76-54 (selon l’écriture Windows).
On pourra faire référence à une interface en utilisant son numéro en hexadécimal (en laissant le
0x) ou en décimal.
Ensuite, route affiche la table de routage qui contient beaucoup plus de lignes que sous Linux
(ou que sur un routeur CISCO) sans pour autant ajouter de fonctionnalité supplémentaire. Les
routes importantes ont été mises en évidence en gras dans l’exemple :
la 1re ligne correspond à la route par défaut qui passe par le routeur (passerelle) 10.0.2.2 ;
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
23/48
Enonc´e du TP 4
-
UE21 - M2102 : Architecture des r´eseaux
on peut remarquer que la colonne Adr. interface indique l’adresse IP de l’interface
à utiliser pour la route.
la 2e ligne correspond à la route directe vers le réseau local ;
-
on peut remarquer qu’au lieu de l’adresse 0.0.0.0 comme passerelle pour
les destinations directement accessibles (comme sous Linux), Windows affiche
l’adresse IP de l’hôte sur ce réseau.
la 3e ligne correspond à l’adresse IP de l’hôte. Elle indique que si l’hôte doit discuter avec
lui-même, il doit utiliser l’interface loopback ;
la 4e ligne correspond à l’adresse de diffusion dirigée dans le réseau local ;
la 5e ligne correspond à l’interface loopback et regroupe toutes les adresses commençant par
127 ;
la 6e ligne correspond à une route pour les adresses de classe D (multidiffusion). Ce type
d’adresse est aussi compris par Linux mais il ne les fait pas apparaître dans la table de routage ;
la dernière route correspond à l’adresse de diffusion limitée.
-
On peut remarquer que Linux n’afficherait que les 2 premières routes tout en gérant
les adresses formant les autres routes affichées par Windows.
• Modification de la route par défaut pour passer par le routeur 10.0.2.1 via l’interface 2 :
C:>route CHANGE 0.0.0.0 MASK 0.0.0.0 10.0.2.1 METRIC 2 IF 2
• Vérification de la modification :
C:>route print
===========================================================================
Liste d’Interfaces
0x1 ........................... MS TCP Loopback interface
0x2 ...08 00 27 71 76 54 ...... Carte AMD PCNET Family Ethernet PCI - Mini...
===========================================================================
===========================================================================
Itinéraires actifs :
Destination réseau
Masque réseau Adr. passerelle
Adr. interface Métrique
0.0.0.0
0.0.0.0
10.0.2.1
10.0.2.15
2
10.0.2.0
255.255.255.0
10.0.2.15
10.0.2.15
20
10.0.2.15 255.255.255.255
127.0.0.1
127.0.0.1
20
10.255.255.255 255.255.255.255
10.0.2.15
10.0.2.15
20
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
224.0.0.0
240.0.0.0
10.0.2.15
10.0.2.15
20
255.255.255.255 255.255.255.255
10.0.2.15
10.0.2.15
1
Passerelle par défaut :
10.0.2.1
===========================================================================
Itinéraires persistants :
Aucun
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
2.6
Enonc´e du TP 4
24/48
tracert
La commande tracert offre la même fonctionnalité principale que traceroute sous Linux, mais admet un
nombre réduit d’options.
Exemple 9
• Obtenir de l’aide sur tracert :
C:>tracert
Utilisation : tracert [-d] [-h SautsMaxi] [-j ListeHôtes] [-w délai] NomCible
Options :
-d
-h SautsMaxi
-j ListeHôtes
-w délai
Ne pas convertir les adresses en noms d’hôtes.
Nombre maximum de sauts pour rechercher la cible.
Itinéraire source libre parmi la liste des hôtes.
Attente d’un délai en millisecondes pour chaque réponse.
• Tracer la route vers www.univmed.fr en désactivant la résolution inverse :
C:>tracert -d www.univmed.fr
Détermination de l’itinéraire vers mozart.pg.univmed.fr [139.124.196.119]
avec un maximum de 30 sauts :
1
2
3
4
5
6
7
<1
*
<1
5
2
3
3
ms
ms
ms
ms
ms
ms
1
*
<1
1
1
2
2
ms
ms
ms
ms
ms
ms
<1
*
<1
2
1
2
1
ms
ms
ms
ms
ms
ms
10.0.2.2
Délai d’attente de la demande dépassé.
193.50.131.177
192.168.100.33
193.50.131.18
193.50.131.25
139.124.196.119
Itinéraire déterminé.
• Tracer la route vers www.google.fr en limitant à 20 sauts :
C:>tracert -h 20 www.google.fr
Détermination de l’itinéraire vers www-cctld.l.google.com [74.125.230.216]
avec un maximum de 20 sauts :
1
2
3
4
5
6
<1
*
*
2
2
37
C. Pain-Barre -
ms
ms
ms
ms
19/3/2015
<1
*
*
<1
4
2
ms
ms
ms
ms
<1
*
*
<1
2
2
ms
ms
ms
ms
10.0.2.2
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
193.50.131.225
192.168.100.33
192.168.100.2
IUT Aix-Marseille - INFO Aix
25/48
Enonc´e du TP 4
7
8
9
10
11
12
13
14
15
15
12
11
14
21
10
23
17
8
ms
ms
ms
ms
ms
ms
ms
ms
ms
43
9
10
10
13
13
14
12
18
ms
ms
ms
ms
ms
ms
ms
ms
ms
50
14
11
19
10
11
17
13
12
ms
ms
ms
ms
ms
ms
ms
ms
ms
UE21 - M2102 : Architecture des r´eseaux
vl10-gi8-2-marseille1-rtr-021.noc.renater.fr [193.51
te1-1-marseille2-rtr-021.noc.renater.fr [193.51.179.
193.51.179.182
te0-0-0-1-paris2-rtr-001.noc.renater.fr [193.51.189.
te1-1-paris2-rtr-021.noc.renater.fr [193.51.189.9]
193.51.182.197
72.14.238.228
209.85.242.49
par08s09-in-f24.1e100.net [74.125.230.216]
Itinéraire déterminé.
Exercice 10 (Configuration de la machine virtuelle Windows XP)
Dans cet exercice, nous allons configurer la machine virtuelle Windows XP qui est représentée dans Marionnet par l’équipement B1 :
1. Se loger sur la VM Windows XP avec l’utilisateur proposé (sans mot de passe et avec les droits d’Administrateur)
2. Ouvrir une invite de commandes MS-DOS via le menu Démarrer −→ Exécuter −→ cmd ;
3. Utiliser la (ou les) commande(s) appropriée(s) pour configurer cette VM dans le réseau de m1 et m2, avec
l’adresse 10.0.2.100, sans omettre le masque et le routeur par défaut (utiliser 20 comme métrique) ;
4. Utiliser les commandes appropriées pour afficher la configuration IP et la table de routage. Remarquer que
la table sous Windows est assez différente de sous Linux ;
5. Tester la connectivité de cette VM avec m2 (10.0.2.10), puis avec le routeur 10.0.2.2. Tout devrait
fonctionner sinon revoir la configuration ;
6. Afficher l’état du cache ARP de cette VM. Il devrait y avoir les adresses MAC de m2 et du routeur ;
7. Tester la connectivité de cette VM avec 139.124.187.15. Cela devrait fonctionner.
[Corrigé]
3
Synthèse de l’utilisation des commandes réseau
Exercice 11 (Déduction de la topologie)
-
Cet exercice est à faire chez soi et à rendre à l’enseignant !
On exécute des commandes sur trois machines A, B et C (stations de travail ou routeurs) d’un ou plusieurs
réseaux physiques, dont voici les résultats :
Machine A : (sous Windows)
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
26/48
C:>route print
===========================================================================
Liste d’Interfaces
0x1 ........................... MS TCP Loopback interface
0x2 ...00 07 e9 83 0f 6b ...... Intel(R) PRO/100 VE Network Connection Miniport d’ordonnancement de paquets
===========================================================================
===========================================================================
Itinéraires actifs :
Destination réseau
Masque réseau Adr. passerelle
Adr. interface Métrique
0.0.0.0
0.0.0.0
130.26.144.245
130.26.148.10
20
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
130.26.144.0
255.255.240.0
130.26.148.10
130.26.148.10
20
130.26.64.0
255.255.240.0
130.26.149.20
130.26.148.10
20
130.26.80.0
255.255.240.0
130.26.149.20
130.26.148.10
20
130.26.148.10 255.255.255.255
127.0.0.1
127.0.0.1
20
130.26.159.255 255.255.255.255
130.26.148.10
130.26.148.10
20
224.0.0.0
240.0.0.0
130.26.148.10
130.26.148.10
20
255.255.255.255 255.255.255.255
130.26.148.10
130.26.148.10
1
Passerelle par défaut :
130.26.144.245
===========================================================================
Itinéraires persistants :
Aucun
C:>tracert 130.26.80.200
Détermination de l’itinéraire vers 130.26.80.200 avec un maximum de 30 sauts :
1
<1 ms
<1 ms
<1 ms 130.26.149.20
2
1 ms
1 ms
1 ms 130.26.68.250
3
1 ms
1 ms
1 ms 130.26.80.200
Itinéraire déterminé.
C:>ping 130.26.64.1
Envoi d’une requête ’ping’ sur 130.26.64.1 avec 32 octets de données :
Réponse de 130.26.64.1 : octets=32 temps<1ms TTL=64
Réponse de 130.26.64.1 : octets=32 temps<1ms TTL=64
Réponse de 130.26.64.1 : octets=32 temps<1ms TTL=64
Réponse de 130.26.64.1 : octets=32 temps<1ms TTL=64
Statistiques Ping pour 130.26.64.1:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 0ms, Maximum = 0ms, Moyenne = 0ms
Machine B :
$ ifconfig -a
eth0 Lien encap:Ethernet HWaddr 00:90:27:72:3B:E5
inet adr:130.26.149.20 Bcast:130.26.159.255 Masque:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Paquets Reçus:481149199 erreurs:0 jetés:0 débordements:0 trames:0
Paquets transmis:501617823 erreurs:0 jetés:0 débordements:0 carrier:0
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
27/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
collisions:0 lg file transmission:100
Interruption:19 Adresse de base:0x4000
eth1
Lien encap:Ethernet HWaddr 00:80:55:72:34:6E
inet adr:130.26.78.20 Bcast:130.26.79.255 Masque:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Paquets Reçus:4899 erreurs:0 jetés:0 débordements:0 trames:0
Paquets transmis:5023 erreurs:0 jetés:0 débordements:0 carrier:0
collisions:0 lg file transmission:100
Interruption:19 Adresse de base:0x4000
lo
Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
Paquets Reçus:59841291 erreurs:0 jetés:0 débordements:0 trames:0
Paquets transmis:59841291 erreurs:0 jetés:0 débordements:0 carrier:0
collisions:0 lg file transmission:0
$ route -n
Table de routage IP du noyau
Destination
Passerelle
130.26.144.0
0.0.0.0
130.26.64.0
0.0.0.0
130.26.80.0
130.26.68.250
127.0.0.0
0.0.0.0
0.0.0.0
130.26.144.245
Genmask
255.255.240.0
255.255.240.0
255.255.240.0
255.0.0.0
0.0.0.0
Indic
U
U
UG
U
UG
Metric
0
0
0
0
0
Ref
0
0
0
0
0
Use
0
0
0
0
0
Iface
eth0
eth1
eth1
lo
eth0
Machine C :
$ ifconfig
eth0 Lien encap:Ethernet HWaddr 00:0F:1F:10:11:12
inet adr:130.26.80.200 Bcast:130.26.95.255 Masque:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Paquets Reçus:12345 erreurs:0 jetés:0 débordements:0 trames:0
Paquets transmis:6543 erreurs:0 jetés:0 débordements:0 carrier:0
collisions:0 lg file transmission:100
Interruption:19 Adresse de base:0x4000
lo
Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
Paquets Reçus:123456 erreurs:0 jetés:0 débordements:0 trames:0
Paquets transmis:123456 erreurs:0 jetés:0 débordements:0 carrier:0
collisions:0 lg file transmission:0
$ route -n
Table de routage IP du noyau
Destination
Passerelle
Genmask
Indic Metric Ref
Use Iface
130.26.80.0
0.0.0.0
255.255.240.0
U
0
0
0 eth0
127.0.0.0
0.0.0.0
255.0.0.0
U
0
0
0 lo
0.0.0.0
130.26.86.110
0.0.0.0
UG
0
0
0 eth0
$ traceroute 130.26.64.1
traceroute to 130.26.64.1 (130.26.64.1), 30 hops max, 40 byte packets
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
1
2
Enonc´e du TP 4
28/48
130.26.86.110 (130.26.86.110) 0.656 ms 0.986 ms 1.387 ms
130.26.64.1 (130.26.64.1) 1.847 ms 2.572 ms 3.298 ms
Travail à faire :
Faire le schéma de cette interconnexion de réseaux en précisant tous les équipements (stations et routeurs)
déductibles de ces commandes, les interfaces, les adresses IP attribuées à ces interfaces, les noms de machines, si
possible leurs OS, ainsi que les adresses réseaux. Le cas échéant, faire ressortir le routeur menant à Internet.
i
Afin de vous aider, vous pouvez utiliser la table de conversion décimal-binaire de toutes les valeurs
possibles sur un octet disponible dans le fichier conversion_decimal_binaire.pdf (lien sur le site).
[Corrigé]
4
Noms de stations et de domaine
Les adresses IP ne sont pas forcément très lisibles et sont difficiles à retenir. C’est pourquoi, il est possible
d’associer à une station, un ensemble de noms qui sont plus faciles à retenir. Cette association peut être officieuse ou officielle. Si elle est officieuse, elle ne sera reconnue que par les stations qui ont été configurées pour
cela. C’est une configuration locale. Si elle est officielle, elle sera reconnue par toute station pouvant faire appel à
un serveur de noms (normalement, toutes les machines connectées à Internet). Mais cela nécessite une déclaration
au DNS (Domain Name Service).
Les configurations officielle et officieuse diffèrent quelque peu dans la flexibilité du nommage. Si officieusement, on peut se laisser aller à quelques fantaisies, il n’en est pas de même officiellement.
4.1
4.1.1
Noms officieux
Sous Unix
Les noms officieux sont simplement renseignés sous Unix dans le fichier /etc/hosts pour les noms de stations et dans le fichier /etc/networks pour les noms de réseaux (qui ont peu d’intérêt). Ce sont des fichiers
texte, constitués de lignes commençant par une adresse IP suivie d’un ou plusieurs noms qui lui sont associés.
Toutes les commandes réseaux consultent 1 /etc/hosts et remplacent lorsqu’il y a lieu les noms qui leur sont
passés en arguments par les adresses correspondantes et/ou affichent les noms plutôt que les adresses IP dans
leurs sorties. Le fichier /etc/networks est plus folklorique et est utilisé par peu de commandes, dont route et
netstat.
Ces fichiers constituent une configuration locale : les noms qui y sont déclarés ne sont connus que de la
station qui les possède. Lorsque le DNS n’existait pas encore, /etc/hosts était la seule façon d’utiliser un nom
d’hôte plutôt que son adresse.
i
En réalité, à cette époque les associations (adresse IP, nom d’hôte) étaient centralisées par le NIC (Network Information Center) dans un fichier texte nommé HOSTS.TXT qui était régulièrement téléchargé
avec FTP par toutes les stations d’Internet. Le fichier était donc officiel mais pouvait être complété
localement avec des informations officieuses.
1. Nous verrons dans la section 4.2.2 que ce comportement est configurable.
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
29/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
L’administrateur d’une station peut les modifier avec un simple éditeur de texte et ajouter des noms officieux
(locaux) pour n’importe quel hôte ou réseau.
i
Parfois, pour empêcher l’accès non souhaité vers un site, il suffit d’ajouter dans /etc/hosts le nom
du site et de l’associer à l’adresse 127.0.0.1, c’est à dire à l’interface loopback. Ainsi, toute tentative de dialogue avec ce site sera impossible puisque "dirigée" vers l’interface loopback qui est locale
(aucun datagramme à destination de cette adresse n’est transmis sur le réseau).
Exercice 12 (noms officieux sur allegro)
1. Depuis un terminal sur le PC, se connecter sur allegro par ssh, en tapant ssh etxxxx@allegro où etxxxx
est votre nom d’utilisateur. La suite de l’exercice se passe sur allegro ;
2. Quels sont les noms d’hôtes officieusement reconnus par allegro ?
Pour le savoir, consulter simplement le fichier /etc/hosts, où le caractère # marque le début d’un commentaire qui occupe le reste de la ligne.
3. Exécuter :
(a) ping buvette
et remarquer que ping remplace le nom par l’adresse correspondante
(b) ping www.facebook.fr
et remarquer que ce n’est pas la véritable adresse de ce site qui est utilisée mais 127.0.0.1
4. Quels sont les noms de réseaux officieusement reconnus par allegro ?
Pour le savoir, consulter /etc/networks. S’il n’existe pas, c’est qu’il n’y en a pas. S’il y en a, ils ne sont
utilisés qu’à de rares occasions, pour un affichage plus agréable notamment.
[Corrigé]
Exercice 13 (noms officieux sur m1)
Nous allons poursuivre notre travail sur les machines virtuelles de Marionnet, dont les configurations devraient
correspondre à la figure 2.
La machine virtuelle m1 n’est pas (encore) configurée au niveau (client) DNS. On ne peut donc pas encore
utiliser des noms officiels de machines. Pour le moment, nous allons procéder à une configuration locale.
Depuis m1 :
1. Taper ping -c 2 allegro. Cela devrait échouer car le nom allegro est inconnu.
2. Essayer avec ping -c 2 allegro.aix.univ-amu.fr. On ne devrait pas avoir plus de succès.
3. Éditer le fichier /etc/hosts avec vi (si, si !) et ajouter une ligne pour associer les noms allegro et
allegro.aix.univ-amu.fr à l’adresse 139.124.181.131 puis sauver le fichier en quittant
4. Retenter les ping précédents. Cette fois cela doit fonctionner car la résolution locale traduit les noms en
l’adresse 139.124.181.131
[Corrigé]
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
30/48
F IGURE 2 – Environnement de travail dans Marionnet
4.1.2
Sous Windows
Windows a adopté l’utilisation de noms officieux à la manière d’Unix, à tel point que les fichiers utilisés portent le même nom. Ces fichiers sont C:\WINDOWS\system32\drivers\etc\hosts (ou sur Windows
2000, C:\WINNT\system32\drivers\etc\hosts) et C:\WINDOWS\system32\drivers\etc\networks
(ou sur Windows 2000, C:\WINNT\system32\drivers\etc\networks).
Exemple 10
Sur la ligne de commande, on peut faire afficher ces fichiers en utilisant la commande type (sorte de cat).
Sous Windows XP, cela donne :
C:>type c:\windows\system32\drivers\etc\hosts
# Copyright (c) 1993-1999 Microsoft Corp.
#
# Ceci est un exemple de fichier HOSTS utilisÚ par Microsoft TCP/IP
# pour Windows.
#
# Ce fichier contient les correspondances des adresses IP aux noms d’hôtes.
# Chaque entrÚe doit Ûtre sur une ligne propre. L’adresse IP doit être placée
# dans la première colonne, suivie par le nom d’hôte correspondant. L’adresse
# IP et le nom d’hôte doivent être séparés par au moins un espace.
#
# De plus, des commentaires (tels que celui-ci) peuvent être insérés sur des
# lignes propres ou après le nom d’ordinateur. Ils sont indiqués par le
# symbole ’#’.
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
31/48
Enonc´e du TP 4
#
# Par exemple :
#
#
102.54.94.97
#
38.25.63.10
127.0.0.1
rhino.acme.com
x.acme.com
UE21 - M2102 : Architecture des r´eseaux
# serveur source
# hôte client x
localhost
C:>type c:\windows\system32\drivers\etc\networks
# Copyright (c) 1993-1999 Microsoft Corp.
#
# Ce fichier contient les correspondances des noms et des numéros de réseau
# pour les réseaux locaux. Les numéros de réseau sont reconnus en forme
# décimale séparée par des points.
#
# Format:
#
# <nom réseau> <numéro réseau>
[alias...] [#<commentaires>]
#
# Par exemple:
#
#
loopback
127
#
campus
284.122.107
#
londres
284.122.108
loopback
i
4.2
127
Ces fichiers sont modifiables avec un simple éditeur de texte comme bloc-notes (notepad). Il suffit de
remplacer type par notepad dans les exemples précédents pour les éditer.
Noms officiels : utilisation et configuration du client DNS
Le format du nom officiel d’un hôte ressemble à hˆote.domaine. Dans cette écriture, domaine ne correspond
pas forcément à un réseau. C’est en fait un nom de domaine qui est géré par une organisation. Elle est chargée
de mettre à disposition un serveur de noms qui doit répondre aux requêtes provenant du réseau et concernant des
caractéristiques de ce domaine : adresse IP d’un hôte de ce domaine, adresse IP du serveur de mail de ce domaine,
adresse électronique du responsable de ce domaine. . .
Le nom d’un domaine est composé de chaînes de caractères, appelées labels, séparées par des points. Par
exemple, aix.univ-amu.fr est le domaine de certaines machines de l’IUT. Le nom officiel —ou nom complètement qualifié (FQDN pour Fully Qualified Domain Name— de allegro est allegro.aix.univ-amu.fr.
(avec un point à la fin).
4.2.1
Commande hostname
Les noms officiels (ou officieux) affectés à un hôte sont consultables avec la commande hostname sous Linux
et Windows.
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
-
Enonc´e du TP 4
32/48
Sous Linux, la commande hostname se trouve dans le répertoire /bin
Exercice 14 (hostname sur allegro)
Sur allegro, consulter le manuel en ligne de hostname en tapant :
$ man hostname
et étudier ses options -f, -s et -d.
Toujours sur allegro, utiliser hostname pour afficher :
1. le nom complet d’allegro
2. le nom court d’allegro
3. le nom de domaine d’allegro
[Corrigé]
Commande hostname sur Windows
Sur Windows, hostname ne reconnaît pas d’option. On ne peut qu’afficher le nom de l’hôte avec cette commande.
Exemple 11
C:>hostname
vb-xp-iut
4.2.2
Résolution de nom sous Unix et le fichier nsswitch.conf
Sous Unix, lorsqu’un nom d’hôte est utilisé, les commandes réseau utilisent généralement d’abord le fichier
/etc/hosts avant d’effectuer une requête DNS. D’autres méthodes pour "résoudre" des noms d’hôtes peuvent
être aussi utilisées (noms netbios ou autres systèmes de nommage). C’est le fichier /etc/nsswitch.conf qui
indique dans quel ordre la résolution doit être faite.
i
Le fichier /etc/nsswitch.conf provient de Sun Microsystems et de son système Solaris 2 et veut
dire "aiguilleur de service de nom" (name service switch). Il a été adopté par la majorité des systèmes
Unix, il y a déjà un moment.
Il ne sert pas qu’à la résolution de noms, car de nombreuses autres ressources du système peuvent être décentralisées (utilisateurs et mots de passe, groupes d’utilisateurs, alias de messagerie, etc.). Pour chaque ressource,
/etc/nsswitch.conf contient une ligne qui indique comment la rechercher, par ordre de méthode de recherche.
Pour une ressource donnée, la ligne a la simple syntaxe suivante :
ressource: { service }
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
33/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
où service est le service à utiliser. Lorsqu’il y a plusieurs services, ils sont consultés de gauche à droite jusqu’à
trouver une correspondance. Parmi les services possibles il y a :
• files : rechercher dans les fichiers locaux. Le(s) fichier(s) à consulter dépend(ent) de la ressource
(/etc/hosts pour un nom d’hôte, /etc/passwd pour un utilisateur, etc.)
• dns : rechercher par le service DNS
• nis : rechercher par le service NIS (de Sun Microsystems), appelé aussi pages-jaunes (yellow pages)
• ldap : rechercher dans un annuaire par le protocole LDAP
• winbind : rechercher par un serveur Windows (informations utilisateur/groupe, authentification)
• wins : rechercher par le service de nommage Windows
• etc.
-
La ressource qui concerne les noms d’hôtes est hosts. En principe, pour la résolution de noms
d’hôtes, c’est le fichier local /etc/hosts qui est préféré avant tout autre service (notamment le DNS).
Autrement dit, la résolution d’un nom ne se fera pas par le DNS si il figure dans /etc/hosts.
Exemple 12
Sur la machine virtuelle m1, le fichier /etc/nsswitch.conf contient :
passwd:
group:
shadow:
compat
compat
compat
hosts:
networks:
files dns
files
protocols:
services:
ethers:
rpc:
db
db
db
db
netgroup:
nis
ê
files
files
files
files
la ligne mise en gras indique que pour la résolution de noms (hosts), il faut d’abord utiliser le fichier
/etc/hosts (files) et si le nom n’y figure pas, utiliser le DNS (dns).
Exercice 15 (consultation de /etc/nsswitch.conf sur allegro)
Consulter le fichier /etc/nsswitch.conf de allegro pour savoir comment celui-ci procède pour la résolution
de noms d’hôtes.
i
Pour en savoir plus sur le fichier nsswitch.conf, consulter le manuel de ce fichier en tapant :
$ man nsswitch.conf
[Corrigé]
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
4.2.3
Enonc´e du TP 4
34/48
Configuration du client (solveur) DNS
Sous Unix, afin d’interroger le DNS pour reconnaître les noms officiels de toutes les stations déclarées, les
solveurs de noms (clients DNS) se basent sur le contenu du fichier /etc/resolv.conf, qu’il faut renseigner.
Ce fichier comprend un certain nombre de paramètres indiqués par des mots clés suivis d’informations. Les
paramètres principaux sont :
• domain domaine-local
pour préciser le domaine de la machine. La recherche d’un nom court d’hôte (i.e. qui ne comporte pas
de .) se fera en priorité dans ce domaine. Si ce paramètre n’existe pas, il sera déduit du résultat de
hostname ;
• search domaine { domaine }
pour préciser une liste ordonnée de domaines dans lesquels la recherche d’un nom court d’hôte se fera.
Ce paramètre est souvent utilisé à la place de domain en particulier quand la station n’appartient pas à
un domaine particulier ;
• nameserver adresse-ip
pour indiquer un serveur de noms DNS à contacter pour la résolution. Plusieurs lignes nameserver
peuvent être indiquées. Leur ordre d’apparition détermine la priorité du serveur : la première désigne
le serveur préféré. Celui qui suit n’est utilisé que si le premier ne répond pas, etc. Il est conseillé de
renseigner au moins 2 serveurs de noms, voire 3.
Pour effectuer une requête DNS, comme résoudre un nom en adresse IPv4, le solveur contacte le serveur de
noms afin de lui demander l’adresse IP associée au nom recherché. Si le serveur ne connaît pas cette association,
il demandera à un autre serveur ce renseignement. C’est le mode standard de recherche récursive.
Exercice 16 (consultation de /etc/resolv.conf du PC)
Sur un terminal de votre PC, consulter le fichier /etc/resolv.conf, où le caractère # commence un commentaire.
Puis, répondre aux questions suivantes :
1. Dans quel(s) domaine(s) par défaut les noms courts d’hôtes sont-ils recherchés par votre PC ?
2. Quels sont les serveurs de noms utilisés par votre PC ?
i
Pour en savoir plus sur le fichier resolv.conf, consulter le manuel de ce fichier en tapant :
$ man resolv.conf
[Corrigé]
Exercice 17 (configuration du client DNS de m1)
i
Bien que désormais la modification du fichier /etc/resolv.conf devrait passer par des outils appropriés, tels resolvconf, nous allons modifier manuellement celui de m1.
Sur la machine virtuelle m1 :
1. Éditer le fichier /etc/hosts avec vi et supprimer les informations concernant allegro
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
35/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
2. Vérifier que ping -c 2 allegro provoque une erreur
3. Éditer le fichier /etc/resolv.conf avec vi et saisir les informations suivantes :
nameserver 139.124.182.2
nameserver 139.124.1.2
nameserver 147.94.113.8
search aix.univ-amu.fr univ-amu.fr
puis sauver et quitter
4. Si la configuration est correcte, la commande ping -c 2 allegro devrait réussir, sinon revoir le contenu
du fichier.
[Corrigé]
4.2.4
Interrogation du DNS avec host, dig et nslookup
Certaines commandes permettent d’interroger des serveurs DNS. Il s’agit notamment de host, dig et de
nslookup. Ces commandes ne sont pas toujours disponibles sur Windows. Elles admettent un bon nombre de
paramétrages, notamment le serveur de nom à utiliser pour l’interrogation. Historiquement, nslookup était la
plus utilisée. Elle a surtout l’avantage d’être interactive.
La commande host
host est une commande non interactive qui s’utilise en ligne de commandes.
-
Sous Linux host se trouve dans le répertoire /usr/bin.
Son synopsis le plus basique est le suivant.
Synopsis
host [-r] [-t type] nom [serveur ]
où :
• nom est le nom que l’on veut résoudre. Ce peut être une adresse IP, dans ce cas, host effectue une
résolution inverse
• serveur est le serveur de noms qui sera utilisé pour la résolution. S’il n’est pas spécifié, le serveur utilisé
est celui par défaut (le premier nameserver de /etc/resolv.conf)
• -r désactive la recherche récursive. La recherche récursive est activée par défaut et demande au serveur
de noms, si celui-ci ne sait pas résoudre le nom (pour le type de question posée), de contacter un serveur
adéquat qui saura le faire (ou qui contactera lui-même un autre serveur, etc.), et d’afficher la réponse
• -t type précise le type d’information (voir encadré ci-dessous) que l’on souhaite obtenir, correspondant à
un ou plusieurs enregistrements DNS.
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
-
Enonc´e du TP 4
36/48
Au cours de ce TP, les informations qui nous intéressent sont demandées par les types suivants (la
casse importe peu) :
• A : adresse IPv4 correspondant à nom (il existe aussi le type AAAA pour les adresses IPv6)
• NS : (Name Server) serveur de domaines ayant autorité sur le domaine nom. Il faut dans ce cas
que nom soit un domaine (pas un hôte)
• MX : (Mail eXchanger) serveur SMTP du domaine nom. Il faut dans ce cas que nom soit un
domaine (pas un hôte)
• PTR : enregistrement servant à la résolution inverse (d’adresse IPv4 en nom d’hôte)
• ANY : tout type d’information disponible pour ce nom
Exemple 13
(a) Obtenir l’adresse IPv4 d’allegro.aix.univ-amu.fr :
$ host -t a allegro.aix.univ-amu.fr
allegro.aix.univ-amu.fr has address 139.124.181.131
(b) Demander la résolution inverse requiert de poser la question en présentant l’adresse 139.124.181.131
dans le domaine in-addr.arpa :
$ host -t ptr 131.181.124.139.in-addr.arpa
131.181.124.139.in-addr.arpa domain name pointer allegro.aix.univ-amu.fr.
(c) Obtenir le(s) serveur(s) de noms du domaine univmed.fr :
$ host -t ns univmed.fr
univmed.fr name server ns1.univmed.fr.
univmed.fr name server cnudns.cines.fr.
univmed.fr name server dns.irisa.fr.
univmed.fr name server ns2.univmed.fr.
(d) Obtenir le(s) serveur(s) SMTP en charge de la réception des courriels envoyés aux utilisateurs du domaine
hotmail.fr (adresses électroniques de type toto@hotmail.fr) :
$ host -t mx hotmail.fr
hotmail.fr mail is handled
hotmail.fr mail is handled
hotmail.fr mail is handled
hotmail.fr mail is handled
by
by
by
by
5
5
5
5
mx1.hotmail.com.
mx2.hotmail.com.
mx3.hotmail.com.
mx4.hotmail.com.
(e) Obtenir tout type d’information disponible sur le domaine univmed.fr :
$ host -t any univmed.fr
univmed.fr mail is handled by 0 mx1.univmed.fr.
univmed.fr mail is handled by 0 mx0.univmed.fr.
univmed.fr name server ns1.univmed.fr.
univmed.fr name server ns2.univmed.fr.
univmed.fr name server cnudns.cines.fr.
univmed.fr name server dns.irisa.fr.
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
37/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
Exercice 18 (interrogations DNS avec host)
Sur un terminal de votre PC, afficher le manuel en ligne de host en tapant :
$ man host
afin de s’y référer éventuellement.
Depuis un autre terminal du PC, utiliser host pour :
1. Obtenir l’adresse IPv4 de l’hôte www.lsis.org
2. Obtenir le(s) serveur(s) de noms du domaine lsis.org puis l’adresse IPv4 de l’un de ces serveurs si elle
n’apparaît pas
[Corrigé]
La commande dig
dig est une commande non interactive qui s’utilise en ligne de commandes.
-
Sous Linux dig se trouve dans le répertoire /usr/bin.
Son synopsis le plus basique est le suivant.
Synopsis
dig [@serveur ] nom type
où :
• serveur est le serveur de noms à contacter
• nom est le nom que l’on veut résoudre
• type est le type de question posée (comme pour host)
Exemple 14
Les interrogations de l’exemple précédent sont réalisées avec dig de la manière suivante :
(a) IPv4 d’allegro.aix.univ-amu.fr :
$ dig allegro.aix.univ-amu.fr a
(b) Résolution inverse de 139.124.181.131 :
$ dig 131.181.124.139.in-addr.arpa ptr
(c) Serveur(s) de noms du domaine univmed.fr :
$ dig univmed.fr ns
(d) Serveur(s) SMTP du domaine hotmail.fr :
$ dig hotmail.fr mx
(e) Tout type d’information sur univmed.fr :
$ dig univmed.fr any
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
38/48
Exercice 19 (interrogations DNS avec dig)
Sur un terminal de votre PC, afficher le manuel en ligne de dig en tapant :
$ man dig
afin de s’y référer éventuellement.
Depuis un autre terminal du PC, utiliser dig pour :
1. Obtenir le(s) serveur(s) SMTP en charge du domaine univ-amu.fr
2. Obtenir tout type d’information disponible sur www.enseignementsup-recherche.gouv.fr
[Corrigé]
La commande nslookup
À la différence des deux commandes précédentes, nslookup est une commande interactive qui offre un invite
de commande (prompt).
-
Sous Linux nslookup se trouve dans le répertoire /usr/bin.
Son synopsis le plus basique est le suivant.
Synopsis
nslookup
En l’exécutant, un prompt s’affiche et l’on peut paramétrer le solveur de nom avec les commandes suivantes :
• set [no]rec
pour désactiver (norec) ou activer (rec) le mode récursif. Il est activé par défaut
• server serveur
pour indiquer que l’on veut interroger le serveur de noms serveur. Sans cette commande, le serveur utilisé est celui par défaut de l’ordinateur (voir /etc/resolv.conf)
• set q=type
pour préciser le type de question posée. Le type par défaut est A
• nom
provoque l’émission d’une requête DNS au serveur choisi précédemment. Elle demande les informations correspondant au type choisi et concernant nom. Si nom ne se termine pas par un point, il n’est
pas complètement qualifié (FQDN) et si la recherche échoue pour ce nom, des requêtes supplémentaires
seront émises en ajoutant à nom les domaines de recherche de la machine (lignes domain et search
dans /etc/resolv.conf) jusqu’à obtenir une réponse
• exit
pour quitter
Exercice 20 (interrogations DNS avec nslookup)
Sur un terminal de votre PC, afficher le manuel en ligne de nslookup en tapant :
$ man nslookup
afin de s’y référer éventuellement.
Depuis un autre terminal du PC, utiliser nslookup pour :
1. Obtenir les serveurs SMTP en charge du domaine greenpeace.org
2. Obtenir l’adresse IPv4 de www.wwf.fr
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
39/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
3. Demander une résolution inverse pour obtenir le nom officiel de l’hôte d’adresse 139.124.182.99
[Corrigé]
Exercice 21 (interrogations DNS itératives avec nslookup)
Toutes les interrogations DNS que nous avons faites jusqu’à présent ont sollicité notre serveur de noms en
mode récursif : nous l’avons à chaque fois chargé de trouver la réponse que nous lui posions. Nous allons maintenant chercher nous même ces réponses en interrogeant directement des serveurs de noms en mode itératif.
Pour cela, on va désactiver le mode récursif dans nslookup (par set norec). Ainsi, lorsqu’on interrogera un
serveur, s’il ne connaît pas la réponse il ne tentera pas de l’obtenir auprès d’un autre serveur. Il répondra simplement qu’il ne connaît pas la réponse mais nous indiquera éventuellement un ou plusieurs serveurs de noms qui
pourraient nous aider. On interrogera alors un de ces serveurs et on continuera ce processus jusqu’à interroger un
serveur de noms qui fait autorité pour le domaine recherché.
Toujours dans nslookup :
1. taper set norec pour désactiver le mode récursif
2. interroger autant de serveurs de noms que nécessaire afin de retrouver le serveur de noms en charge du
domaine lecanardenchaine.fr et lui demander quel est le mail exchanger de ce domaine, ainsi que son
adresse IPv4. Pour cela, vous aurez à partir des serveurs de noms de la racine (nom de domaine réduit à un
point). . .
3. quitter nslookup en tapant exit.
[Corrigé]
4.2.5
WHOIS : informations sur les gestionnaires d’un domaine
En formulant une "requête whois" à une "autorité compétente", on obtient en réponse un certain nombre de
renseignements sur les gestionnaires d’un nom de domaine.
L’autorité compétente pour les domaines se terminant par .fr et .re est l’AFNIC. C’est une association
chargée d’attribuer et de gérer les domaines .fr et .re. Elle fournit la possibilité d’interroger en ligne sa base
de données via l’URL http://www.afnic.fr/outils/whois.
Un grand nombre de domaines tels que .arpa, .biz, .com, .edu, .org, et autres sont gérés par l’Internic
bien que .com et .net soient en fait l’exclusivité de la société VeriSign. On peut aussi interroger en ligne ces
gestionnaires via l’URL http://www.internic.net/whois.html.
Enfin, on peut utiliser un site comme http://network-tools.com qui regroupe plusieurs des services
que nous avons étudiés au cours de ce TP.
-
Sous Linux, on peut interroger les serveurs whois en utilisant la commande whois.
Exercice 22 (interrogation whois sur Linux)
Utiliser la commande whois sur allegro pour obtenir des renseignements sur différents domaines tels que :
univ-aix.fr., univ-amu.fr., free.fr., wanadoo.fr., gouv.fr., et autres domaines de votre
choix.
[Corrigé]
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
5
Enonc´e du TP 4
40/48
TELNET
TELNET (pour TErminaL NETwork) a été défini par la RFC 854, à laquelle s’ajoutent de nombreuses autres
RFC définissant des options ou extensions, à commencer par la RFC 855.
Ce protocole a été élaboré dans le but de fournir un service de terminal virtuel, qui permet à un utilisateur
de travailler à distance sur une station (comme avec SSH). Conçu à l’origine sous Unix, TELNET gomme les
différences entre les systèmes d’exploitation : un utilisateur d’un système quelconque peut se loger sur un serveur
d’un système quelconque.
TELNET fonctionne en mode client/serveur et utilise une connexion TCP que le client établit avec le serveur.
Dans cette section, sous allons principalement nous intéresser aux clients TELNET qui servent à :
• se loger à distance sur une station hébergeant un serveur TELNET ;
• dialoguer à distance avec un serveur quelconque, dont les messages sont formés de caractères ASCII.
i
5.1
Sous Unix et Windows, la commande telnet exécute un client TELNET. Ce n’est pas la seule. Par
exemple sous Windows, Putty et HyperTerminal en sont d’autres, plus élaborés que la commande
telnet par défaut du système.
Client telnet pour le terminal virtuel
Pour une utilisation de terminal virtuel, permettant de se loger sur un hôte distant hébergeant un serveur
TELNET, on exécute la commande :
ˆ
$ telnet hote
où hˆote est l’adresse IP ou le nom du serveur.
Cette commande exécute un client TELNET qui établit une connexion TCP avec le serveur TELNET qui
doit être en écoute sur le port TCP 23 de l’hôte hˆote.
Le terminal d’où est exécuté le client telnet sert alors aux entrées-sorties avec un programme de login exécuté sur le serveur. L’utilisateur est invité à entrer son nom et un mot de passe pour pourvoir exécuter un shell. Le
serveur redirige les entrées-sorties du programme de login (et du shell) sur la connexion.
TELNET fonctionne en transmettant du texte. La connexion TCP est utilisée pour transmettre les commandes
à exécuter sur le shell, ainsi que leur résultat. Tout se passe comme si l’utilisateur était installé devant une console
de cet hˆote. Outre ces données, la connexion sert aussi à transmettre des informations de contrôle. Notamment,
le contrôle normalise les échanges de texte qui sont effectués car le client et le serveur peuvent avoir des codages
de caractères différents.
Le rôle du terminal virtuel (client et serveur) est de servir d’interface entre un utilisateur et (un shell sur) un
hôte distant, où ce que l’utilisateur tape est envoyé au serveur et où ce que le serveur répond est affiché sur le
terminal de l’utilisateur, jusqu’à ce que la connexion soit rompue.
i
Il est possible d’exécuter des applications graphiques à distance lorsqu’on est logé avec TELNET sur
un hôte. Il faut pour cela exécuter en local un serveur X (afficheur de fenêtres) et paramétrer quelques
variables et autorisations d’accès. De nos jours, on préférera utiliser SSH plutôt que TELNET pour
réaliser cette opération.
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
41/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
Un certain nombre d’options peuvent être négociées entre le client et le serveur. Le client telnet offre un mode
commande pour son paramétrage et son contrôle, ce qui peut donner lieu à une négociation avec le serveur. Pour
entrer dans ce mode, il faut taper la séquence de caractères d’échappement.Cette séquence est indiquée en début
de session TELNET et consiste souvent à maintenir appuyée la touche Ctrl , suivie du caractère ] (crochet
fermant que l’on saisit à l’aide de la touche AltGr ), ou parfois du $ (cas du client telnet de Windows). On
entre alors dans le mode de commande du client telnet. On peut ensuite taper help pour avoir une liste de
commandes disponibles, et il suffit de taper deux fois sur la touche Entrée pour revenir au terminal virtuel.
Exercice 23 (Utilisation de telnet depuis Linux)
Depuis un terminal sur votre PC :
1. utiliser telnet pour vous connecter à allegro ;
2. s’authentifier ;
3. une fois logé sur allegro (vérifier le prompt), taper une commande quelconque, telle que ls -l ;
4. taper les 3 touches AltGr + Ctrl + ] suivies de Entrée afin de rentrer dans le mode de commandes
du client (où le prompt telnet> est affiché) ;
5. taper help
6. taper deux fois sur Entrée (pour revenir à la session)
7. taper à nouveau une commande ;
8. terminer la connexion soit en tapant Ctrl + D , soit exit, soit en entrant dans le mode de commande et en
tapant close ou quit.
[Corrigé]
-
TELNET est un service non sécurisé ni crypté. En particulier le nom de l’utilisateur et son mot de
passe sont transmis "en clair" (sans cryptage) sur le réseau. Par conséquent, le service TELNET est
de moins en moins autorisé par les administrateurs réseaux qui le remplacent par SSH (secure shell).
Notamment, il n’est pas possible de se connecter sur une machine du Département Informatique par
TELNET, à partir de l’extérieur de l’IUT.
Cependant, TELNET est encore beaucoup utilisé pour administrer à distance certains (vieux) équipements réseaux, ou des équipements légers.
Exercice 24 (Facultatif : utilisation de telnet depuis Windows)
i
Cet exercice est facultatif. . .
Agrandir la fenêtre de la machine virtuelle Windows XP, puis ouvrir un invite de commandes MS-DOS (l’interpréteur de commandes Windows) par le Menu Démarrer −→ Exécuter puis taper cmd et Entrée .
Sur ce terminal MS-DOS Windows :
1. pour élargir cette fenêtre terminal, effectuer un clic droit sur la barre du haut de la fenêtre et choisir Propriétés puis l’onglet Configuration et mettre 150 comme largeur dans la zone Taille Fenêtre ;
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
42/48
2. exécuter telnet sans se connecter à un serveur. On peut remarquer que le caractère d’échappement est
CTRL-$ (indiqué au début).
i
Parfois, le client telnet sous Windows est graphique. Il ne dispose pas du mode commandes,
mis à part les menus de la fenêtre qu’il ouvre. Si c’est le cas pour la version installée sur votre
poste, explorer ces menus.
3. taper help
4. se connecter à allegro
5. s’authentifier ;
6. taper quelques commandes (pwd, cd, ls, . . .) sur la session TELNET sur allegro
7. entrer dans le mode commandes de telnet
8. taper set ?
9. utiliser set pour demander un echo local.
10. taper Entrée pour sortir du mode commandes de telnet
11. taper à nouveau quelques commandes (pwd, cd, ls, . . .), et observer. Les caractères tapés sont écrits 2 fois.
i
Cette option est utile lorsqu’on contacte un serveur autre que TELNET en utilisant le programme
telnet (voir ci-après) et que les caractères tapés n’apparaissent pas à l’écran.
12. quitter telnet
[Corrigé]
5.2
Telnet comme simple client TCP
Le programme client telnet peut être utilisé dans un autre but. En effet, il permet de communiquer avec des
serveurs (pour peu qu’on leur envoie des messages conformes aux protocoles qu’ils implémentent) qui utilisent
TCP comme protocole de transport. Ceci parce que telnet peut se comporter comme un client TCP ordinaire. Il
suffit de lui indiquer après l’hˆote, le port utilisé par le serveur par la ligne de commande suivante :
$ telnet hˆote port
où port est le numéro du port de l’application à contacter, ou le nom (ou un alias) du service rendu par cette application tel qu’il apparaît dans le fichier /etc/services sur Linux et C:\WINDOWS\system32\drivers\
etc\services (ou C:\WINNT\system32\drivers\etc\services) sur Windows.
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
43/48
-
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
On en profite pour rappeler ici quelques ports TCP réservés :
Num (décimal)
Application
7
Serveur echo
13
Serveur daytime
20
Serveur FTP (données)
21
Serveur FTP (commandes)
22
Serveur SSH
23
Serveur TELNET
25
Serveur SMTP (transfert de mail)
53
Serveur DNS
80
Serveur HTTP (www)
119
Serveur NNTP (news)
Le client telnet va alors établir une connexion TCP avec le serveur en écoute sur le port port de l’hôte hˆote.
Tout ce que l’utilisateur tapera sera transmis au serveur qui l’interprétera généralement comme un requête. Tout
ce que le serveur enverra sera alors affiché sur le terminal de l’utilisateur et correspondra généralement à une
réponse à une requête.
De nombreux protocoles utilisent les caractères ASCII pour former leurs messages. Les serveurs de ces protocoles peuvent donc être contactés avec telnet. De plus, ces serveurs utilisent ou requièrent généralement que les
fins de lignes soient exprimées par la séquence des deux caractères ’\r’ (Carriage Return ou CR) et ’\n’ (Line
Feed ou LF), ce que fait justement telnet.
i
Pour ne citer que quelques protocoles majeurs qui utilisent des caractères
il y a : HTTP, FTP, SMTP, POP3.
ASCII
dans leurs échanges,
Exercice 25 (Utilisation de telnet en client TCP)
Depuis un terminal du PC :
1. Utiliser less pour consulter le fichier /etc/services, en particulier le début ;
2. Essayer ensuite de contacter le serveur daytime d’allegro. Celui-ci se contente de renvoyer la date et l’heure
qu’il possède puis ferme la connexion ou reste muet. En revanche, il y a très peu de chances de contacter
avec succès un serveur situé à l’extérieur de l’IUT car ce genre de services est généralement désactivé (ou
filtré).
3. Contacter le serveur echo de allegro. Celui-ci renvoie les caractères qu’il reçoit jusqu’à ce que la connexion
soit rompue. Taper quelques lignes puis terminer la connexion (en passant par le mode commandes de
telnet).
[Corrigé]
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
6
Enonc´e du TP 4
44/48
Activités réseaux d’un hôte
6.1
Les services réseau et la sécurité
Les applications ou processus ouvrant un port TCP ou UDP sur un système, constituent le premier point
d’attaque accessible via un réseau TCP/IP (LAN et WAN). Le plus souvent ce sont des erreurs de configuration
qui sont à l’origine des failles de sécurité dans un réseau. Il est également courant que l’administrateur a tout
simplement oublié de désactiver un service réseau "sensible", comme par exemple le serveur TELNET installé
par défaut par certaines distributions Linux (maintenant obsolètes) ou un serveur HTTP destiné à une utilisation
exclusive en Intranet —mais par erreur accessible via une adresse IP publique (i.e. à partir d’Internet). Et bien sûr,
la plupart des virus (vers et chevaux de Troie) communiquent via Internet avec d’autres serveurs SMTP, HTTP ou
FTP pour pouvoir se propager, pour télécharger des modules supplémentaires ou tout simplement pour déposer
les informations qu’ils ont pu extraire du système "infecté" sur un serveur distant (listes d’adresses e-mail, codes
d’accès, numéro de cartes bancaires, etc.).
6.2
Lister l’activité réseau avec netstat
Les processus utilisant le réseau peuvent être "débusqués" par l’administrateur réseau en utilisant la commande netstat, disponible sur Unix et Windows. Elle donne des renseignements très complets sur les fonctionnalités réseau de la station, notamment sur l’état des connexions TCP, des ports (TCP ou UDP) utilisés par les
applications, et bien d’autres choses. Elle admet de nombreuses options comme on peut le constater en consultant le manuel Linux. En particulier, netstat liste l’ensemble des sockets TCP, UDP ou Unix ouvertes sur l’hôte
local :
• les sockets TCP et UDP sont les adresses des applications utilisant internet. On les appelle les sockets
internet et sont identifiées par le triplet :
(Adresse IP, Protocole, Port)
Tout programme utilisant la pile IP pour communiquer avec Internet doit demander une socket TCP ou
UDP pour obtenir une adresse d’application ;
• les sockets unix correspondent à des fichier spéciaux (de type socket) et sont utilisées localement pour des
communications entre processus de l’hôte. Leur utilisation étant plus performante que les sockets internet,
elles sont privilégiées pour les communications locales.
Un processus dialoguant avec Internet reçoit ses données via une socket internet. Dans le cas de TCP,
les serveurs sont en écoute sur une socket internet afin d’accepter les connexions des clients. Lorsqu’un client se
connecte, le système fournit au serveur une socket internet supplémentaire représentant cette connexion.
Lors de la demande de sa socket internet d’écoute, le serveur indique à TCP par quelle adresse IP il veut
être joignable. S’il n’a pas de préférence, il indique 0.0.0.0, voulant dire n’importe quelle adresse (any). Un
processus utilisant UDP fait de même pour indiquer par quelle adresse il souhaite recevoir des datagrammes.
-
Pour un protocole de transport donné (TCP ou UDP), l’adresse d’une application est généralement
affichée sous le format adresse-ip:port (voir exemple ci-dessous).
Exemple 15
Supposons que sur un hôte on obtienne :
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
45/48
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
$ netstat -an
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale
Adresse distante
Etat
tcp
0
0 127.0.0.1:7634
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:22
0.0.0.0:*
LISTEN
...
tcp
0
0 139.124.187.34:40413
139.124.187.4:22
ESTABLISHED
tcp
1
0 139.124.187.34:48549
91.197.138.30:80
CLOSE_WAIT
...
tcp6
0
0 :::22
:::*
LISTEN
...
udp
0
0 0.0.0.0:68
0.0.0.0:*
udp
0
0 0.0.0.0:69
0.0.0.0:*
...
raw
0
0 0.0.0.0:1
0.0.0.0:*
7
...
Sockets du domaine UNIX actives(serveurs et établies)
Proto RefCnt Flags
Type
State
I-Node Chemin
unix 2
[ ACC ] STREAM LISTENING
677938 /var/run/avahi-daemon/socket
...
unix 2
[ ]
DGRAM
2239
@/org/kernel/udev/udevd
unix 3
[ ]
STREAM CONNECTE
689563 @/tmp/.X11-unix/X0
alors dans l’ordre, on peut en déduire qu’il y a :
• un serveur en écoute (LISTEN) sur le port TCP 7634 mais qu’il ne peut être contacté que par un processus
local car il n’écoute que sur l’adresse 127.0.0.1 ;
• un serveur (SSH) en écoute (LISTEN) sur le port TCP 22, en écoute sur toutes ses adresses IP (0.0.0.0) ;
• une connexion TCP est en cours (ESTABLISHED) entre un client SSH local d’adresse
139.124.187.34:40413 et le serveur SSH 139.124.187.4:22 ; le port TCP 22 étant celui des
serveurs SSH ;
• une autre connexion TCP est en cours de terminaison (CLOSE_WAIT) entre un navigateur Web d’adresse
139.124.187.34:48549 et le serveur HTTP 91.197.138.30:80 ;
• le serveur SSH accepte aussi IPv6 ;
• un client DHCP est actif et utilise l’adresse 0.0.0.0:68 ;
• un serveur TFTP est en écoute sur l’adresse 0 0.0.0.0:69 ;
• une socket internet en mode raw est active : il s’agit d’une socket utilisée par une exécution de la commande ping, reposant sur ICMP (mode raw) ;
• un serveur local est en écoute sur le fichier /var/run/avahi-daemon/socket pour accepter les
connexions d’autres processus locaux ;
• un processus utilise le fichier @/org/kernel/udev/udevd comme socket unix en mode non connecté
(DGRAM) ;
• un processus local est connecté (avec un autre) via le fichier @/tmp/.X11-unix/X0.
Exercice 26 (netstat sur linux)
Sur un terminal du PC, consulter le manuel en ligne de netstat en tapant :
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
46/48
$ man netstat
pour étudier ses options -a, -r, -n, -t, -u et -p, puis répondre aux questions suivantes :
1. afficher toutes les sockets ouvertes ;
2. afficher la table de routage uniquement ;
3. afficher la table de routage uniquement mais en désactivant la résolution inverse (et voir les adresses IP et
les numéros des ports plutôt que des noms d’hôtes et de services) ;
4. l’état des connexions TCP uniquement, sans résolution inverse ;
5. l’état des sockets UDP
6. l’état des sockets UDP avec des informations sur les processus qui les possèdent. En principe, cette dernière
information n’est disponible que pour root.
[Corrigé]
Exercice 27 (Facultatif : netstat sur windows)
i
Cet exercice est facultatif. . .
Consulter l’aide de netstat sous Windows en tapant :
C:> netstat /?
pour étudier ses options -a, -r, -p et -n, puis répondre aux questions suivantes :
1. afficher toutes les informations disponibles
2. afficher la table de routage uniquement
3. l’état des connexions TCP uniquement, sans résolution inverse.
[Corrigé]
Exercice 28 (identification des services actifs)
1. Sur une fenêtre terminal du PC, télécharger le fichier tp4_services.mar en tapant :
$ wget http://infodoc/~cpb/enseignement/reseaux/2014/tp/tp4/enonce/tp4_services.mar
2. Sur le PC, lancer Marionnet et ouvrir le fichier tp4_services.mar. Cliquer ensuite sur Tout Démarrer.
L’administrateur a remarqué un ralentissement anormal sur son réseau et suspecte une infection de m2
par un processus utilisant Internet. Il pense qu’un serveur a été activé à son insu et est à l’origine des
problèmes. Aidez l’administrateur à se débarrasser de ce processus gênant. Pour cela, analyser sur m2
les sockets internet ouvertes. Essayer d’utiliser telnet pour discuter avec les serveurs que vous trouverez.
Quand vous avez trouvé le processus coupable, tuez le !
i
Sur m2 vous êtes root et vous pouvez vous servir avantageusement de l’option -p de netstat. . .
[Corrigé]
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix
47/48
7
Enonc´e du TP 4
UE21 - M2102 : Architecture des r´eseaux
Autres outils du bricoleur réseau
7.1
nmap : scanner un réseau
Un des logiciels favoris des pirates (N) est un scanner de ports. En effet, les pirates cherchent les services
qui sont susceptibles de posséder une faille de sécurité afin de pénétrer un système. Pour cela, ils ont besoin d’un
bon scanner dans leur trousse à outil. Le plus célèbre est certainement nmap.
Mais le scanner ne sert pas seulement aux pirates ! ! Il permet aux administrateurs réseaux (☺) de vérifier les
ports ouverts sur leurs systèmes et s’il n’y a pas de service inutile actif ni de backdoor.
i
nmap est aussi disponible pour Windows.De plus, une interface graphique nommée zenmap est maintenant disponible.
Exercice 29 (Utilisation de nmap sur Linux)
La documentation de nmap (et le manuel en ligne) est très fournie car elle admet un très grand nombre
d’options dont certaines ne sont utilisables que par root. Nous nous limiterons à une utilisation des plus basiques,
sans option simplement en tapant des commandes de la forme :
nmap hˆote
1. Depuis le PC, utiliser nmap pour vérifier les services ouverts. Comparer avec le résultat de netstat -atn
exécuté sur le PC (l’état d’un serveur en écoute et donc actif est LISTEN ou LISTENING) ;
2. Depuis allegro, utiliser nmap pour vérifier les services ouverts sur votre PC. remarquer que les services
locaux (en écoute sur 127.0.0.1) ne sont pas détectables ;
3. Depuis le PC, utiliser nmap pour vérifier ceux ouverts sur allegro ;
4. Depuis le PC, utiliser nmap pour vérifier ceux ouverts sur infodoc ;
5. Éventuellement, utiliser nmap pour vérifier ceux ouverts sur votre box (ou toute autre machine que vous
connaissez à l’extérieur) si vous connaissez votre adresse IP.
[Corrigé]
7.2
netcat : un client/serveur à tester
Il existe d’autres logiciels que telnet pour contacter un serveur quelconque, notamment le logiciel netcat (et
son évolution socat). Sous Linux, l’exécutable se nomme nc et est généralement situé dans /usr/bin.
Comparé par à telnet, l’avantage de nc est qu’il permet non seulement d’envoyer des caractères ASCII sur
une connexion mais aussi des données binaires. Il peut aussi servir de client UDP (alors que telnet n’utilise que
TCP). Enfin, il peut aussi servir de serveur, c’est à dire qu’il peut être "lié" à un port (TCP ou UDP selon le choix
fait) et attendre que des clients lui envoient des données.
i
nc existe en plusieurs versions. Celle qui est installée sur les PC est la version BSD qui a plus de
fonctionnalités que celle installée sur allegro, et qui s’utilise un peu différemment.
i
Il existe aussi un portage de netcat sur Windows.
IUT Aix-Marseille - INFO Aix
19/3/2015
- C. Pain-Barre
UE21 - M2102 : Architecture des r´eseaux
Enonc´e du TP 4
48/48
Exercice 30 (Utilisation de netcat sur Linux)
Sur un terminal du PC, consulter le manuel en ligne de nc en tapant :
$ man nc
pour étudier ses options -u et -l, puis répondre aux questions suivantes :
1. Utiliser nc pour contacter le serveur TCP daytime d’allegro ;
2. Utiliser nc pour contacter le serveur UDP echo d’allegro ;
3. Utiliser nc pour lancer un serveur sur un port que vous choisirez (au dessus de 10000). Sur un autre terminal,
par exemple depuis allegro, utiliser telnet pour vous connecter à ce serveur ;
4. Utiliser nc pour lancer un serveur UDP sur un port que vous choisirez (au dessus de 10000). Essayer
d’utiliser telnet pour le contacter (ça ne marchera pas). Le contacter en laçant un client nc (depuis allegro).
[Corrigé]
8
Le courrier électronique et les clients de messagerie
Un client de messagerie classique est un logiciel permettant de télécharger du courrier électronique, d’en
composer et d’en envoyer. Il n’est pas à confondre avec un client hotmail ou caramail qui utilise les facilités
d’un browser (navigateur Web). Les clients graphiques de messagerie les plus connus sont Outlook (Express),
Eudora, Thunderbird sous Windows, et Netscape Messenger, Evolution ou Thunderbird sous Linux. Pour
fonctionner, ces client ont besoin d’être paramétrés pour les deux protocoles qu’ils utilisent, POP3 et SMTP :
• POP3 : le client a besoin de connaître le nom de la machine hébergeant le serveur POP3, et éventuellement
le numéro du port qu’il utilise (normalement 110). Il a aussi besoin de connaître le nom d’utilisateur de la
boîte aux lettres ainsi que son mot de passe. Avec ces informations, il est ensuite possible de télécharger
tout le courrier disponible dans la boîte puis de le consulter hors-ligne ;
• SMTP : le client a besoin de connaître le nom de la machine hébergeant le serveur SMTP (qui peut être
différente de celle hébergeant le serveur POP3) ainsi que le port (normalement 25). Le plus souvent, ce
serveur doit être celui mis à disposition par le FAI. Les autres serveurs devraient refuser de relayer les
messages à cause des spams (ces courriers publicitaires qui pourrissent la vie et appelés aussi "pourriels"
au lieu de "courriels"). Il faut aussi indiquer son adresse e-mail afin qu’elle soit indiquée dans les messages
envoyés pour que le destinataire puisse répondre.
Exercice 31 (Utilisation de Thunderbird)
Lancer Thunderbird (nommé icedove sous Debian) sous Linux. Le configurer pour utiliser la messagerie
de l’université, puis s’envoyer un ou deux messages, et éventuellement à un camarade du groupe. Ensuite les
récupérer à nouveau avec Thunderbird.
[Corrigé]
C. Pain-Barre -
19/3/2015
IUT Aix-Marseille - INFO Aix