À pratiquer dans le réseau de l'école
ou bien dans un réseau moins restrictif
Les manipulations suivantes devaient pouvoir fonctionner dans le cadre du réseau de l'école, même avec les barrières qui existent (proxy authentifié, firewall, ...)
Machine hôte
La configuration de la partie réseau d'un ordinateur peut varier du tout au tout en fonction de ce que l'on désire faire avec cette machine.
Si vous découvrez une installation que vous n'avez pas réalisée vous même, vous pouvez obtenir des informations sur la manière dont est configurée la machine et, par ce biais, la manière dont est organisé l'éventuel réseau dans lequel elle se trouve.
Exercice :
Nous vous proposons de "découvrir" la machine sur laquelle vous faites ces TP avec les quelques questions suivantes :
- Découvrez le nom de votre machine et son système d'exploitation avec la commande uname -a.
- Déterminez les interfaces réseau utilisées par votre machine et les informations associées avec la commande ifconfig(8) (/sbin/ifconfig et /sbin/ifconfig -a) :
- Quelles sont les adresses Ethernet des différentes interfaces ?
- Quelles sont les adresses Internet (IP) des différentes interfaces ?
- Toutes les interfaces sont-elles fonctionnelles (ont-elles une adresse IP associées et émettent-elles/reçoivent-elles des données) ? La réponse a cette question varie beaucoup en fonction du système d'exploitation utilisé et des logiciels installés ; n'en soyez pas étonné de ce que vous obtenez.
- À quoi, d'après-vous, peut bien correspondre l'interface lo et quel peut être son rôle ?
- Lisez le fichier /etc/hosts. Vous pouvez utiliser par exemple la commande less pour visualiser ce fichier dans un terminal. Vous ne manquerez pas de lire le commentaire au début de ce fichier expliquant son rôle.
- quels sont les types d'adresses que l'on trouve dans ce fichier ?
- quels sont les hôtes du réseau connu par votre système ?
Services et Ports associés
Une machine connectée sur un réseau est à l'écoute de celui-ci, mais peut également proposer des services (serveur HTTP, serveur FTP, serveur LDAP, etc.)
Plusieurs services peuvent être proposés par une même machine et il faut être capable de les différentier pour pouvoir y accéder. C'est le but des "numéros de port" qui sont des visions logiques de points de connexion à une machine donnée depuis le réseau. Par exemple, vous avez vu comment accéder au service HTTP de la machine www.emse.fr en la contactant sur le port 80.
Il existe donc une multitude de ports, normalisés et référencés localement dans le fichier /etc/services que nous allons à présent étudier (un lecteur curieux pourra rechercher ce fichier dans les systèmes d'exploitation de la famille Windows).
Exercice :
- Ouvrez le fichier /etc/services et lisez les commentaires en en-tête.
- Pourquoi un tel fichier est-il présent sur un ordinateur alors que tout semble normalisé ?
- Que signifient TCP et UDP ? Pouvez-vous donner une rapide explication de pourquoi utiliser l'un plutôt que l'autre ainsi que des exemples d'utilisation (il faudra peut-être pour cela vous reporter à la lecture des RFC) ?
- Quel sont les ports associés au service de connexion sécurisée ssh ?
- Quel sont les ports associés au protocole de transfert de fichiers ftp ?
- Le port associé au service telnet est le 23 selon ce fichier, pourtant quand vous avez utilisé la commande telnet pour vous connecter au serveur HTTP de l'École, vous avez précisé le port 80. D'après-vous, est-ce un usage correct de la commande telnet ? Est-ce que dans cette façon de l'utiliser le numéro de port 23 entre en jeu à un moment ou un autre ?
- Tous les numéros de ports sont-ils affectés ? Cela signifie-t-il que l'on ne peut pas les utiliser ?
Note : DCCP est un protocole permettant d'accéder à la gestion de la congestion simplement. Il rend possibles certains mécanismes permettant d'assurer une certaine qualité de service au niveau de la connexion. Pour plus d'informations, la page Wikipedia est à votre disposition.
DNS
Le DNS, système permettant de faire l'association entre les adresses Internet sous forme numérique et les adresses sous forme de nom, s'interroge avec les commandes host(1) ou nslookup(1) (cette dernière existe sur les plate-formes Windows).
Exercice :
- Trouvez quel est votre serveur DNS en lisant le fichier /etc/resolv.conf
- Essayez de déterminer les adresses IP associées au nom www.emse.fr
- Essayez de déterminer les adresses IP associées à www.google.fr et www.google.com. Faites plusieurs tests successifs, observez le résultat et donnez une interprétation de ce phénomène.
Internet à Ethernet
Le protocole ARP permet de déterminer une adresse de la couche liaison à partir d'une adresse de la couche réseau (typiquement, une adresse Ethernet à partir d'une adresse IP). Votre système maintiens une table de correspondance entre les adresses IP et les adresses Ethernet ; chacune des entrées de cette table a une durée de vie limitée. La commande arp(8) (/usr/bin/arp) permet d'inspecter cette table.
Exercice :
- Interrogez la table d'association avec la commande arp (directement dans un terminal). Si cette table est vide ou contient peu d'entrée, faites quelques accès réseau (navigateur Internet, requête DNS, etc.) pour la remplir une peu.
- Pourquoi votre système aurait-il besoin de connaître l'adresse Ethernet d'une autre machine ? L'adresse Internet n'est-elle pas suffisante ?