TP - Internet

Dominante Informatique

Philippe Dax

Sommaire

    1. Connaître sa machine
    2. Nom
    3. Numéro IP
    4. Interfaces réseau
    5. Connaître son réseau local
    6. Domaine d'administration
    7. Noms des machines du domaine d'administration
    8. Sous domaine Internet
    9. Routes
    10. Accessibilité à une machine
    11. Test de l'existence et performances
    12. Trace d'un trajet
    13. Applications réseau de base
    14. Telnet
    15. FTP
    16. Communications interactives
    17. Talk
    18. IRC
    19. Navigation dans l'Internet
    20. Gopher
    21. World Wide Web (WWW)
    22. Autres services
    23. News
    24. Archie (recherche d'un logiciel)
    25. Finger (recherche d'une personne)
    26. Whois (recherche d'un contact réseau)
    27. Construction de pages HTML - exercice
    28. Disposition des fichiers
    29. Eléments du langage HTML
    30. Formulaires en HTML+

Préparation et conventions

Dans ce document les termes "machine" et "loginname" désignent respectivement le nom d'une machine et le nom de login de l'utilisateur. Le terme "pattern" désigne une chaîne de caractères. Le signe $ désigne le prompt d'invitation du shell, il n'est pas à taper. Le signe ^ désigne la touche <CONTROL> (^C pour interrompre un processus, ^D pour indiquer une fin de fichier). Le caractère # indique le début d'un commentaire.

1. Connaître sa machine

1.1. Nom

Il existe 2 commandes, celle de BSD et celle de SystemV. Il est préférable d'utiliser la seconde.

$ hostname
$ uname -n, uname -a

1.2. Numéro IP

Le numéro IP de la machine est associé à son nom dans le fichier /etc/hosts qui n'est consulté qu'au démarrage de la machine, ensuite le mapping nom <-> adresse sera résolu soit par le service NIS (Network Information Service), soit par le DNS (Domain Name System).

$ cat /etc/hosts
$ grep `uname -n` /etc/hosts

1.3. Interfaces réseau

La command ifconfig permet de configurer ou consulter les caractéritiques de l'interface réseau.

La commande "netstat -i" renvoie des statistiques d'utilisation sur la ou les interfaces.

$ ifconfig -a
$ netstat -i

2. Connaître son réseau local

2.1. Domaine d'administration

La commande domainname permet de connaître le nom du domaine d'administration NIS, c'est-à-dire le nom du domaine où sont maintenues les informations système et réseau propre au domaine (passwd, group, hosts, netgroup, services, rpc, aliases,...). Chaque département dispose de son propre domaine (inf.enst.fr, cal.enst.fr, res.enst.fr, com.enst.fr...). Les élèves dépendent de cal.enst.fr, et ne peuvent donc changer leur mot de passe que dans ce domaine.

$ domainname

2.2. Noms des machines du domaine d'administration

La commande ypcat permet de consulter les tables (maps) du domaine NIS local, l'argument représente le nom de la map.

Les commandes nslookup (standard) et nsl (domaine public) permettent de résoudre, via le serveur de noms DNS, un nom de machine en renvoyant son adresse IP et inversemment. Ces commandes ne sont pas limitées aux machines du domaine local et peuvent donc s'appliquer à toutes les machines de l'Internet. Dans ce cas, il est nécessaire de qualifier les noms.

$ ypcat hosts
$ nslookup
> machine>
> ^D                      # quitter par ^D
$ nslookup machine
$ nsl machine
$ nsl `nsl machine`

2.3. Sous domaine Internet

Le nom du domaine Internet, régi par le DNS, est situé dans le fichier /etc/resolv.conf ainsi que l'adresse des serveurs de noms les plus proches qui se chargeront de résoudre les noms des machines qu'utiliseront les autres applications réseau.

$ cat /etc/resolv.conf
$ grep domain /etc/resolv.conf | awk '{print $2}'

2.4. Routes

L'option -r de la commande netstat permet de connaître les routes que vont prendre les paquets à partir de la machine locale. La route default indique la route que prendront les paquets qui sont destinés à l'extérieur du réseau local. L'option -nr ne traduit pas les destinations en noms et conserve donc les adresses IP.

$ netstat -r
$ netstat -nr

3. Accessibilité à une machine

3.1. Test de l'existence et performances

La commande ping envoie un paquet de 64 octets à la machine distante et attend son écho. C'est le noyau de la machine distante et non une application (type daemon) qui répondra. Si la réponse est positive, cela signifie que la machine distante a initialisé son interface mais cela ne permet pas d'affirmer qu'elle soit opérationnelle au point de vue des applications réseau (telnet par exemple). L'option -s donne des statistiques sur le temps de transit aller-retour du paquet appelé "Round Robin Trip".

$ ping machine
$ ping -s machine

3.2. Trace d'un trajet

La commande traceroute permet de suivre la route que prend un paquet jusqu'à sa destination finale. Elle donne également le temps en ms que le paquet met pour atteindre les différents routeurs qui constituent les étapes du trajet du paquet entre sa source et sa destination.

$ traceroute machine
$ traceroute www.inria.fr
$ traceroute research.att.com

4. Applications réseau de base

Les services de base réseau sont telnet pour la connexion à distance et ftp pour le transfert de fichiers.

4.1. Telnet

Telnet permet d'ouvrir une session de login distante si la commande ne comporte qu'un seul argument, en l'occurrence le nom de la machine distante ou son numéro IP. Si un second argument est présent, il représente un nom de service ou un numéro de port, dans ce cas telnet permet d'exécuter une application distante qui écoute sur le port en question.

$ telnet machine

$ telnet email.enst.fr smtp
> expn loginname
> quit

4.2. FTP

Ftp normal pour accéder aux fichiers d'un compte autorisé, ce qui nécessite de connaître le mot de passe du compte en question. Ftp possède son propre "prompt", le caractère ">". Pour connaître les commandes propres à ftp, taper ?., pour quitter ftp, taper quit. Les autres principales commandes sont cd pour changer de répertoire, ls pour lister un répertoire, bin pour se mettre en mode de transfert binaire, hash pour suivre l'évolution du transfert de manière visuelle, get pour récupérer un fichier, pwd pour voir où l'on est, lcd pour changer localement de répertoire courant, etc.

$ ftp machine
>username: <return>
>password: votre password

Ftp anonyme permet d'accéder à des serveurs d'archive ftp. La "Netiquette" conseille que le mot de passe doit être votre adresse électronique email. Les commandes internes de ftp décrites plus haut sont ici aussi valables. Essayez de naviguer dans le serveur d'ENST: ftp.enst.fr.

$ ftp ftp.enst.fr
>username: anonymous
>password: loginname@machine.enst.fr
>cd pub
>ls
>cd unix
>ls -C
>quit

5. Communications interactives

5.1. Talk

La commande talk permet de communiquer en temps réel avec un autre utilisateur connecté. L'écran est partagé en 2 zones, la zone de l'émetteur et la zone du récepteur. Ytalk permet de dialoguer à 2 ou plus de 2 interlocuteurs, l'écran est alors partagé en autant de zones que d'interlocuteurs connectés. Pour répondre à une sollicitation de talk utilisez la même sysntaxe que l'appel : talk loginname@machine.

$ talk loginname@machine      # arrêt par ^C
$ ytalk loginname@machine

5.2. IRC

IRC (Internet Relay Chat) est un forum interactif grâce auquel les utilisateurs peuvent venir rejoindre, sous un pseudonyme, des canaux (channels) de discussions interactives.

$ irc
> /help
> /pseudo zigzag
> /list -min 20
> /join #france

6. Navigation dans l'Internet

6.1. Gopher

Gopher est un outil de navigation par menus de proche en proche. Les rubriques d'un menu peuvent correspondre à un répertoire ou à un lien vers un autre site. Essayer la commande :

$ gopher gopher.enst.fr

6.2. World Wide Web (WWW)

Il existe de nombeux clients WWW (browsers) pour accéder aux différents serveurs WWW de l'Internet. Netscape est le plus performant. Lynx peut être utilisé sur des terminaux alpha-numériques non graphiques, le déplacement s'opérant à partir des flèches du clavier.

$ netscape &
$ Mosaic &
$ lynx
$ lynx <URL>

Régler vos préférences en sélectionnant le bouton Options. La page d'accueil doit être réglée sur l'URL http://www.enst.fr/. Le cache disque local doit être mis à zero car un cache général remplit déjà cette tâche.

7. Autres services

7.1. News

$ rtin
$ rtin fr.network.internet
$ more .newsrc
$ xrn
Ou bien utilisez directement les browsers WWW (Netscape, Internet-Explorer).

7.2. Archie (recherche d'un logiciel)

$ archie pattern
$ xarchie

7.3. Finger (recherche d'une personne)

$ finger username
$ finger @machine

7.4. Whois (recherche d'un contact réseau)

$ whois -h whois.ripe.net enst.fr
$ whois -h whois.ripe.net dax

8. Construction de pages HTML - exercice

8.1. Disposition des fichiers

Créer dans votre répertoire principal (répertoire de connexion) le répertoire public_html. Ce répertoire ainsi que votre répertoire principal doivent être traversables par les autres (mode 755 ou "drwxr_xr_x"). Les fichiers sous ~/public_html doivent être accessibles en lecture pour tous (mode 644 soit "-rw-r--r--"), puisque vous allez présenter vos pages aux autres utilisateurs. Pour de plus amples d'informations, pointez sur l'URL :
http://www.infres.enst.fr/~vercken/HTML.html.

8.2. Eléments du langage HTML

La syntaxe générale est du type <tag>texte libre</tag>. Un document est encadré par <html> document </html>, il est composé d'une en-tête <head> en-tête </head> suivie du corps du document <body> corps du document </body>. Voici ci-dessous quelques éléments de syntaxe pour construire des pages HTML.


<html>
<head>
<title>Titre du document</title>
</head>
<body>
<h1>entête de document</h1>
<h2>entête de chapitre</h2>
<h3>entête de section</h3>
<a href="http://host/file.html"> ancre </a> lien distant
<a href="filename.html"> ancre </a> lien local
<a href="filename.html"#etiquette> ancre </a>  lien local
<a name="etiquette"> point de branchement local au document
<img src="path_image.gif"> suite du texte
<ul> ... </ul> -> liste d'éléments non numérotée
<ol> ... </ol> -> liste d'éléments numérotée
<dl> ... </dl> -> liste descriptive d'éléments
<li> -> élément de liste (item)
<dt> -> terme de liste descriptive
<dd> -> élément de liste descriptive
<p> -> fin de paragraphe (saut de ligne) ...<p>
<br> -> retour à la ligne...<br>
<pre> ... </pre> -> texte prédéfini (listing)
<hr> -> trait horizontal
<font size=+1> agrandissement de la fonte </font>
<em>italique</em><strong>gras</strong><code>courier</code>
accents: &eacute; &agrave; &ccedil; ou ISO-latin1: é à ç
caractères spéciaux : &lt, &gt, &amp, pour < > & </body>
</html>

A l'aide des éléments de syntaxe présentés dans le tableau ci-dessus et de l'URL mentionnée plus haut, créez votre page d'accueil personnelle. Pour consulter votre page, utilisez la commande : "netscape http://www.stud.enst.fr/~loginname".

8.3 Formulaires en HTML+

HTML+ propose des extensions, notamment les formulaires dont quelques éléments de syntaxe sont décrits dans le tableau ci-dessous.


<FORM ACTION="http://host/~loginname/cgi-bin/script-form"
METHOD=POST>

<H1> Formulaire d'inscription </H1>
Pour vous inscrire veuillez remplir les rubriques ci-dessous.

Nom : <INPUT NAME="nom" SIZE="30"><br>
Prenom : <INPUT NAME="prenom" SIZE="30"><br>
<INPUT VALUE="valider" TYPE=submit><br>
<INPUT VALUE="annuler" TYPE=reset><br>
</FORM>

Sélectionnez l'URL http://www.infres.enst.fr/~dax/polys/formulaire/formulaire.html pour voir et apprendre comment on construit un formulaire côté client (formulaire-simple.html) et comment on traite côté serveur les informations saisies.

A partir des éléments découverts essayez de créer un formulaire personnel avec le script CGI associé en langage C.

Un cours complet sur l'Údition de documents HTML

© (Copyright) Philippe Dax - 1995-2000 visitors since Sep 1995.