Académique Documents
Professionnel Documents
Culture Documents
Faculté des Sciences Dhar El Mahraz – Fès كلية العلوم ظهر المهراز
- ف اس-
Année universitaire 2019-2020
Programmation Réseaux
Filière SMI, S6
hsatori@gmail.com
Chap.3: Les Sockets
I- Généralités
I-1 Sockets
I- 3 Création d ’une socket
I-3-1 Exemple de création de socket
I-4 La suppression d'une socket : close()
I- 5 Adresses
I- 6 La programmation réseau
I- 7 L’interconnexion de réseaux
I- 8 Modèle client – serveur
I-8-1 client
I-8-2 Serveur
I- 9 Démon Daemon
I-9-1 Démon
I- 10 Numéro de Port
I- 10-1 commande netstate
I- 10-2 commande nmap
Interface socket
➢ Un client établit une connexion depuis un port de sa machine (port > 1024,
généralement choisi aléatoirement parmi les ports libres) vers un port donné
d’une autre machine, par exemple un serveur Web sur le port 80.
➢ Elles permettent de :
#include <sys/types.h>
#include <sys/socket.h>
int socket(
int domain, /* AF_UNIX, AF_INET, ... */
int type, /* SOCK_DGRAM, SOCK_STREAM, ... */
int protocol /* 0 protocle par defaut */
);
AF_UNIX, ou
AF_INET, etc.
#include <unistd.h>
close(Socket);
➢ Pour désigner un socket sur une machine il faut une adresse de socket.
Comme il existe différents types de sockets, les opérations sur les adresses
concerne un type d’adresse général abstrait (struct sockaddr) qui recouvre
tous les types concrets particuliers.
#include <sys/un.h>
struct sockaddr_un {
sa_family_t sun_family; /* AF_UNIX */
char sun_path[UNIX_PATH_MAX]; /* pathname */
};
➢ qui n’est pas forcément celui de la machine hôte sur laquelle s’exécute le
programme.
▪ Une socket est repéré par une adresse IP de la machine sur lequel ce point est ouvert
et d’un numéro de port.
Interface socket
❑ De point de vue rôle des ordinateurs reliés à un réseau sont répartis en deux
catégories (client et serveur), en fonction des actions qu’ils effectuent sur celui-ci (c-
à-d le réseau).
➢ La communication client–serveur désigne un mode de communication à travers un
réseau entre plusieurs programmes;
client–serveur
➢ les détails sur les ports avec Tcp et Udp sont dans la RFC 793 et la RFC
768.
➢ La liste est divisée en trois parties nommées :
$ netstat -o
Afficher les connexions par protocole :
$ netstat -p protocole
protocole = TCP, UDP, TCPv6 ou UDPv6
Afficher la table de routage :
$ netstat -r
Afficher les statistiques par protocole :
$ netstat -s
Exemple
➢ cette commande permet de lister les machines le réseau en question.
➢ La valeur 24 indique que les trois premières octets sont fixes et que seule le
dernier va varier.
$ nmap 192.168.0.72
$ nmap -A 192.168.0.72
VI- RFC
Les RFC (Requests for Comments) sont des documents officiels spécifiant les
différentes implémentations, standardisations, normalisations représentant alors la
définition de Tcp/IP.
Ces documents sont utilisés par IETF (Internet Engineering Task Force) ainsi que
d’autre organismes de normalisation.
.
Les RFC concernent les standards définissant les protocoles de la pile TCP/IP, des
applications telles que le courrier électronique, des informations concernant la mise en
oeuvre du protocole IP sur d’autres piles protocolaires (Ethernet, Liaison série, réseau
X25 (e.g. Transpac), ATM...), l’état de la normalisation, les valeurs que l’on retrouve
dans les PDU...
VI- RFC
Principaux protocoles Internet et RFC correspondantes
❑ Une représentation standard est adoptée : Celle dite Big Endian où les octets
de poids fort sont les plus à gauche.
❑ Les valeurs transitant sur le réseau doivent toujours être en big endian
59