Protocole
Qu'est-ce qu'un protocole ?
Définition
Un protocole est un ensemble de procédures commun qui permet de faire dialoguer des machines entre elles, indépendamment de leurs spécificités (OS, support, etc.). Chaque protocole a sa spécialité. Par exemple, le protocole ICMP permet de transmettre des messages relatifs à la gestion des erreurs. Quelques uns d'entre eux sont détaillés dans les paragraphes qui suivent.
Chaque protocole est référencé par un numéro.
Le tableau suivant en liste quelques-uns :
Num. binaire (8bits) | Num. décimale | Protocole | Description |
---|---|---|---|
00000001 | 1 | ICMP | Internet Control Message Protocol : Messages de contrôles Internet |
00000100 | 4 | IP | Internet Protocol : IP dans IP (encapsulation) |
00000110 | 6 | TCP | Transport Control Protocol : Contrôle de transmission |
00010001 | 17 | UDP | User Datagram Protocol : Datagramme utilisateur |
00101001 | 41 | IPv6 | IP version 6 |
Pour retrouver l'ensemble des numéros de protocoles, référez-vous à la RFC1700.
Spécificités des protocoles
A chaque protocole correspond un langage. L'outil Netcat permet de simuler des communications :
HTTP
Par exemple, les commandes suivantes :
$ nc aldeid.com 80 GET /index.php HTTP/1.1 <<ENTER>>
permettent d'obtenir les résultats suivants :
HTTP/1.1 400 Bad Request Date: Tue, 03 Feb 2009 05:39:21 GMT Server: Apache Content-Length: 226 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> </body></html>
FTP
Thank you for your comprehension.
SSH
Certains protocoles, comme SSH par exemple, renvoient directement une information lors de la connexion avec Netcat :
$ nc 192.168.182.129 22 SSH-2.0-OpenSSH_4.3p2 Debian-9etch3
Il est ensuite possible de dialoguer avec le serveur distant :
Thank you for your comprehension.
Principe d'encapsulation
Lorsque des données sont transmises par une application, celles-ci sont transmises d'une couche à une autre. A chacune de ces étapes, les données de la couche N-1 sont encapsulées dans la couche N. Ce principe consiste en l'ajout d'en-têtes spécifiques à chaque couche. Lors de la réception, l'inverse se produit, les en-têtes sont lus puis supprimés.
En fonction de la couche sur laquelle se trouvent les données, on parle de :
- message si les données se situent au niveau de la couche application;
- segment lorsqu'elles se trouvent sur la couche transport;
- datagramme lorsqu'elles sont transmises à la couche Internet;
- trame (voir interprétation des trames réseau) lorsqu'elles se situent sur la couche réseau.
Le principe d'encapsulation est souvent associé au masquage d'informations (encapsulation d'informations dans un protocole crypté afin de les masquer).
Le protocole SSH permet par exemple de créer un tunnel d'informations cryptées. Une fois le tunnel créé, il est possible de lui transmettre des informations issues de divers protocoles (FTP, HTTP, etc.).
Par ailleurs, on parle également d'encapsulation pour des protocoles comme HTTPS (encapsulation du protocole HTTP dans un protocole sécurisé HTTPS).
Les protocoles non numérotés
- Le protocole ARP (Address Resolution Protocol)
- Le protocole BGP (Border Gateway Protocol)
- Le protocole DNS (Domain Name System)
- Le protocole Ethernet
- Le protocole FTP (File Transfer Protocol)
- Le protocole HTTP (Hypertext Transfer Protocol)
- Le protocole HTTPs (Hypertext Transfer Protocol / SSL-TLS)
- Le protocole IMAP (Internet Message Access Protocol)
- Le protocole LDAP
- Le protocole OSPF (Open shortest path first)
- Le protocole RIP (Routing Information Protocol)
- Le protocole SMB (Server Message Block)
- Le protocole SMTP (Simple Mail Transfer Protocol)
- Le protocole SNMP (Simple Network Management Protocol)
- Le protocole STP (Spanning Tree Protocol)
- Le protocole TELNET
Les protocoles numérotés
Num | Nom | Description |
---|---|---|
0 | Réservé | |
1 | ICMP | Internet Control Message |
2 | IGMP | Internet Group Management |
3 | GGP | Gateway-to-Gateway |
4 | IP | IP in IP (encasulation) |
5 | ST | Stream |
6 | TCP | Transmission Control |
7 | UCL | UCL |
8 | EGP | Exterior Gateway Protocol |
9 | IGP | any private interior gateway |
10 | BBN-RCC-MON | BBN RCC Monitoring |
11 | NVP-II | Network Voice Protocol |
12 | PUP | PUP |
13 | ARGUS | ARGUS |
14 | EMCON | EMCON |
15 | XNET | Cross Net Debugger |
16 | CHAOS | Chaos |
17 | UDP | User Datagram Protocol |
18 | MUX | Multiplexing |
19 | DCN-MEAS | DCN Measurement Subsystems |
20 | HMP | Host Monitoring |
21 | PRM | Packet Radio Measurement |
22 | XNS-IDP | XEROX NS IDP |
23 | TRUNK-1 | Trunk-1 |
24 | TRUNK-2 | Trunk-2 |
25 | LEAF-1 | Leaf-1 |
26 | LEAF-2 | Leaf-2 |
27 | RDP | Reliable Data Protocol |
28 | IRTP | Internet Reliable Transaction |
29 | ISO-TP4 | ISO Transport Protocol Class 4 |
30 | NETBLT | Bulk Data Transfer Protocol |
31 | MFE-NSP | MFE Network Services Protocol |
32 | MERIT-INP | MERIT Internodal Protocol |
33 | SEP | Sequential Exchange Protocol |
34 | 3PC | Third Party Connect Protocol |
35 | IDPR | Inter-Domain Policy Routing Protocol |
36 | XTP | XTP |
37 | DDP | Datagram Delivery Protocol |
38 | IDPR-CMTP | IDPR Control Message Transport Proto |
39 | TP++ | TP++ Transport Protocol |
40 | IL | IL Transport Protocol |
41 | SIP | Simple Internet Protocol |
42 | SDRP | Source Demand Routing Protocol |
43 | SIP-SR | SIP Source Route |
44 | SIP-FRAG | SIP Fragment |
45 | IDRP | Inter-Domain Routing Protocol |
46 | RSVP | Reservation Protocol |
47 | GRE | General Routing Encapsulation |
48 | MHRP | Mobile Host Routing Protocol |
49 | BNA | BNA |
50 | SIPP-ESP | SIPP Encap Security Payload |
51 | SIPP-AH | SIPP Authentication Header |
52 | I-NLSP | Integrated Net Layer Security |
53 | SWIPE | IP with Encryption |
54 | NHRP | NBMA Next Hop Resolution Protocol |
55-60 | Non assigné | |
61 | any host internal protocol | |
62 | CFTP | CFTP |
63 | any local network | |
64 | SAT-EXPAK | SATNET and Backroom EXPAK |
65 | KRYPTOLAN | Kryptolan |
66 | RVD | MIT Remote Virtual Disk Protocol |
67 | IPPC | Internet Pluribus Packet Core |
68 | any distributed file system | |
69 | SAT-MON | SATNET Monitoring |
70 | VISA | VISA Protocol |
71 | IPCV | Internet Packet Core Utility |
72 | CPNX | Computer Protocol Network Executive |
73 | CPHB | Computer Protocol Heart Beat |
74 | WSN | Wang Span Network |
75 | PVP | Packet Video Protocol |
76 | BR-SAT-MON | Backroom SATNET Monitoring |
77 | SUN-ND | SUN ND PROTOCOL-Temporary |
78 | WB-MON | WIDEBAND Monitoring |
79 | WB-EXPAK | WIDEBAND EXPAK |
80 | ISO-IP | ISO Internet Protocol |
81 | VMTP | VMTP |
82 | SECURE-VMTP | SECURE-VMTP |
83 | VINES | VINES |
84 | TTP | TTP |
85 | NSFNET-IGP | NSFNET-IGP |
86 | DGP | Dissimilar Gateway Protocol |
87 | TCF | TCF |
88 | IGRP | IGRP |
89 | OSPFIGP | OSPFIGP |
90 | Sprite-RPC | Sprite RPC Protocol |
91 | LARP | Locus Address Resolution Protocol |
92 | MTP | Multicast Transport Protocol |
93 | AX.25 | AX.25 Frames |
94 | IPIP | IP-within-IP Encapsulation Protocol |
95 | MICP | Mobile Internetworking Control Pro. |
96 | SCC-SP | Semaphore Communications Sec. Pro. |
97 | ETHERIP | Ethernet-within-IP Encapsulation |
98 | ENCAP | Encapsulation Header |
99 | any private encryption scheme | |
100 | GMTP | GMTP |
101-254 | Non assigné | |
255 | Réservé |