EPIGRAPHE
Eternel ! tu es mon Dieu; je t'exalterai, je
célébrerai ton nom, car tu as fait une
merveille;
Tes projets (conçus) depuis longtemps sont
fermes, solides.
Essaie 25 : 1
DEDICACE
A l'Eternel Tout Puissant, le Père de
Gloire qui, par sa miséricorde nous a protégé durant ces
cinq années d'études universitaires ;
A mes parents pour m'avoir fait découvrir
le monde et avoir accompli votre responsabilité en tant que parents
malgré toutes les difficultés rencontrées
;
A mes frères et soeurs : Papy KAMANGO,
Noxis AKOLE KAMANGO, Francine KAMANGO, Boris KAMANGO, Blanchette KAMANGO,
Michael KAMANGO, Joëlle BANZA NDAYE ainsi que Guelord et Binjamim
KAMANGO;
A mes oncles et tantes ; A ma future
épouse,
A tous ceux qui mes sont chers ainsi qua toute la
grande famille ABERI, je dédie ce travail le fruit de nos
efforts.
Billy KAMANGO OSEMBE
REMERCIEMENTS
Je remercie l'Eternel Tout-Puissant de m'avoir
permis de mener à terme ce mini projet qui est pour moi le point de
départ d'une merveilleuse aventure, celle de la recherche, source de
remise en cause permanent et de perfectionnement perpétuel
;
Qu'il me soit permis de rendre un vibrant hommage
à mon co-directeur et encadreur, le chef des travaux Jean Louis KAZADI
ainsi le professeur ordinaire ENGOMBE WEDI pour avoir bien voulu superviser ce
modeste travail et donné de leur temps et de leur intelligence à
la réussite de ce projet qui pour moi représente un modèle
de réussite et une source de motivation permanente, pour leur
disponibilité, et leur sens aigu de l'humanisme.
Que le corps professoral de l'université
pédagogique nationale de Kinshasa et en particulier celui du
département de mathématique et informatique, trouve ici le
témoignage de ma profonde reconnaissance. Ses encouragements, mais aussi
ses critiques, ont largement contribué à l'aboutissement de ce
mémoire. Je le remercie vivement de nous avoir toujours poussé
vers l'avant.
Mes remerciements s'adressent à mes parents
: mon père KAMANGO TSHEKA André et ma mère BANZA NDAYE
Faustine, à mes tantes et oncles : ABERI MOSKA Thècle, ABERI
MOSKA WOTHO José, à ABERI MOSKA OSEMBE François, à
MASHALA Richard, à Wetshi ABERI et à ma grand-mère MARTHA
qui m'ont inculqué un esprit de combativité et de
persévérance et qui m'ont toujours poussé et motivé
dans mes études. Sans eux, certainement je ne sériai pas à
ce niveau.
Mes remerciements s'adressent également
à touts nos amis et collègues de la promotion. Il s'agit de:
C.pika FALANGA DEKA, Nestor OMARI KITAMBALA, richard KUZIKESA MULUNDU, Ruth
BALUENGA BUANGA, Rodrigue KALENGE, Freddy BAMBI, Carine, Alex BUBUTA, Aminata
ILUNGA et bien d'autre.
Enfin, mes remerciements vont également aux
membres du jury d'avoir accepté d'évaluer notre travail. Que tous
trouvent à travers « ce pas franchi » l'expression de nos
remerciements les plus profonds.
LISTE DES ILLUSTRATIONS
A. Liste des figures
Fig. n* 1 : représentation
graphique d'un signal Fig. n* 2 : Présentation du câble à
pair symétrique
Fig. n * 3 : Représentation graphique de la liaison
simplex Fig. n * 4 : Représentation graphique de la liaison série
Fig. n * 5 : Représentation graphique de la liaison parallèle
Fig. n * 6 : Représentation de la topologie en bus
Fig.n* 7 : Représentation de la topologie en anneau Fig.
n* 8 : Représentation de la topologie en anneau Fig. n* 9 :
Représentation de la topologie en maille
Fig. n * 10 : Représentation en couches du modèle
OSI Fig. n *11 : l'écoute des ports entre serveur et client Fig. n * 12
:L'écoute des ports entre serveur et client Fig. n* 13: Exemple
transmission par port
Fig. n* 14 : La fonction de multiplexage entre 2 machines Fig. n*
15 : Entête TCP
Fig. N * 16 : Etablissement de la connexion TCP Fig. n *17 :
listview
Fig. n 18 : Exemple de trafic concernant le protocole TCP Fig. n*
19 : Exemple de trafic concernant le protocole UDP
vi
B. Liste des tableaux
Tableau n* 1 : Tableau comparatif du modèle OSI et le
modèle TCP / IP
Tableau n* 2 : Tableau des protocoles selon les couches Tableau n
* 3 : Listant quelques numéros des ports TCP et UDP Tableau n* 4:
Répartition des heures
Tableau n *5: Estimation budgétaire
LISTE DES SIGLES ET ABREVIATIONS
ABREVIATIONS
|
SIGNIFICATIONS
|
ACK
|
: Acquittement
|
ARP
|
: Address resolution protocol
|
ATM
|
: Asynchronous transfer mode
|
BAN
|
: Building area network
|
BNC
|
: British naval conector
|
CSMA/CA
|
: Carrier sence multple access/ collision detection
|
CSMA/CD
|
: Carrier sence multiple access/ collision avoidance
|
DAN
|
: Departement area network
|
DHCP
|
: Dynamic host configuration protocol
|
DIP
|
: Dual inline package
|
DMA
|
: Direct access memory
|
DNS
|
: Domain Name System
|
E/S
|
: Entrée / sortie
|
ETCD
|
: Equipent terminal de contrôle de données
|
ETTD
|
: Equipement terminal de traitement de donnée
|
FDDI
|
: Fiber Distributed Interface
|
FTP
|
: File Transfer Protocol
|
Gbps
|
: Gigabits par seconde
|
HTTP
|
: Hypertext Transfer Protocol
|
HUB
|
: host unit broad cast
|
IANA
|
: Internet assigned numbers authority
|
ICMP
|
: Internet Control Message Protocol
|
IEEE
|
: institute electrical and electronic engineer
|
IGMP
|
: Internet group management protocol
|
IP
|
: Internet protocol
|
IPSEC
|
: Internet protocol Secure Shell
|
IRQ
|
: Interrupt Request
|
ISA
|
: Industry standard architecture
|
ISO
|
: international standard organisation
|
Kbps
|
: kilobits par seconde
|
LAN
|
: local area network
|
MAC
|
Medium access card.
|
MAU
|
: Medium access unit
|
Mbps
|
: Mégabits par seconde
|
MODEM
|
: modulation/démodulation
|
NIC
|
: Network interface card.
|
NNTP
|
: Network News Transfer Protocol
|
NTP
|
: Network Time Protocol
|
OSI
|
: Open system interconnections
|
PC
|
: Personnal computer
|
PC/AT
|
: Personnal computer / advanced technology
|
PCI
|
: Peripheral componement interconnect
|
PCMCIA
|
: personal computer memory card international association
|
PnP
|
: Plug and play
|
POP3
|
: Post Office Protocol version 3
|
RIP
|
: Routing Information Protocol
|
SMTP
|
: Simple Mail Transfer Protocol
|
SNTP
|
: Simple Network Management Protocol
|
SSH
|
: Secure Shell
|
TCAP
|
: Transaction Capabilities Application Part
|
TCP/IP
|
: Transmission Control Protocol/ Internet Protocol
|
TELNET
|
: TErminal network ou telecommunication network
|
TP
|
: Twisted pair
|
TCP
|
Transport control protocol
|
UDP
|
: User Datagram Protocol
|
USB
|
: Universal serial bus
|
UTP
|
: unshelded twisted pair
|
WAN
|
: wide area network
|
WI-FI
|
: wireless fidelity
|
WLAN
|
: wireless local area network
|
TABLE DE MATIERE
EPIGRAPHE................................................................................................i«
DEDICACE.................................................................................................ii
REMERCIEMENT.......................................................................................iii
LISTE DES
ILUSTRATIONS...........................................................................v
LISTE DES SIGLES ET ABREVIATIONS vii
O. Introduction 1
O.1. Problématique et hypothèse
«......................... 1
O.1.1. Problématique 1
O.1.2. Hypothèse 1
O.2. Choix et intérêt du sujet 1
O.3. Délimitation du sujet 1
0.5 Subdivision du travail 2
Chap. I. GENERALITE SUR LES RESEAUX INFORMATIQUES 3
I.1.Concepts de base de la télétransmission 3
I.1.1.Quelques définitions 3
I.1.2.Notion du signal 3
I.1.3. Supports de transmission 3
I.2.1. Types de support physique 4
I.2.2. Type de câblage 4
I.2.3. La bande passante 6
I.3.La transmission des données 7
I.3.1.La transmission analogique de données 7
I.3.2. La transmission analogique de donnes numériques
7
I.3.3. La transmission numérique de données 7
I.4.Mode de liaison 8
I.4.1.La liaison simplexe 8
I.5.Types de liaison 8
I.5.1.Liaisons point à point 8
I.5.2.Liaison série et liaison parallèle 9
I.5.3. Liaison synchrone et liaison asynchrone 9
I.6. Réseau informatique 10
I.6.1.Définition 10
I.6.2. Internet d'un réseau informatique . 10
I.6.3. Caractéristique d'un réseau informatique
10
I.7.Topologie 12
I.7.1. Définition 12
I.7.2. La Topologie Physique 13
I.7.2.1. La topologie de bus linéaire 13
I.7.2.2. La topologie en anneau 14
I.7.2.3. La topologie en étoile 14
I.7.2.4. La topologie mixte 15
I.7.2.5. La topologie en maille 15
I.8. La topologie logique 15
I.8.1.Topologie Ethernet 15
I.8.2.Topologie Tokenring 16
I.8.3. Topologie FDDI 16
I.9. Mode d'accqs 16
I.9.1. Le CSMA (Carrier Sence Multiple Access) 16
I.9.2. Le jeton 17
I.10. types d'ordinateurs connectés. . 17
I.10.1 le serveur 17
I.10.2 Types de serveur 17
I.10.3 notion de serveur dédié 18
I.10.4. station de travail 18
I.11.Equipements d'interconnexion d'un réseau informatique
. 18
I.11.1.Le répéteur 18
I.11.2.Le concentrateur (HUB) 19
I.11.3.Le pont 19
I.11.4.Le commutateur (ou switch) 20
I.11.5. Le routeur 20
Chapitre II. CARTE RESEAU 21
II.0. Introduction 21
II.1. Médias de transmission des informations 21
II.2. Les standards 21
II.3. Types de cartes réseaux 21
II.3.1. Ordinateur de bureau 21
II.3.2. Ordinateur portable. 22
II.4. Le débit de transmission et le mode de
communication 22
II.5. Sortes de carte réseau 22
II.5.1. Cartes réseaux Ethernet 22
II.5.2. Carte réseau WI-FI 23
II.6. Rôle et fonction de la carte réseau 24
II.6.1. Préparation de données 25
II.6.2. Le rôle d'identificateur. . 25
II.6.3. Envoi et contrôle des données. 26
II.7. Paramètres de configuration de la carte 26
II.8. Installation de la carte réseau 27
II.8.1. Installation matérielle 27
II.8.2. Installation logicielle 27
II.8.3. Installation de protocoles 28
Chapitre 3. TRAFIC RESEAU 29
III.1. Introduction 29
III.2. Le modèle OSI (Open system interconnections mode)
29
III.2.1. Fonction de chaque couche 30
III.3. L'archutecture du mod~le TCP / IP 31
III.4. Le protocole 31
III.4.1. Les protocoles de la couche application 32
III.5. Communication client / serveur 33
III.5.1. Notion de port d'écoute . 34
III.5.2. Adresse, port et socket 34
III.5.3. La fonction de multiplexage 35
III.5.4. Liste des ports TCP et UDP 36
III.5.5. Quelques numéros de port 37
III.6. Les protocoles normalisés orientés connexion
et non orientés connexion 37
III.6.1. Le protocole TCP 37
III.6.2. Fonctionnement du TCP 39
III.6.2.1. La segmentation des données 39
III.6.2.2. l'établissement de la connexion 39
III.6.2.3. Contrôle de flux 40
III.6.2.4. Fenêtrage 40
III.6.3. Le protocole UDP 41
III.6.3.1 Application 41
III.6.3.2 Structure d'un data gramme UDP 41
III.6.3.3. Utilisation 42
III.7. Adressage 42
III.7.1. Adressage IP (Logique) 42
III.7.2. Adresse MAC (Physique) 43
Chapitre 4. REALISATION D'UN UTILITAIRE D'ANALYSE DE TRAFIC
D'UNE
INTERFACE RESEAU 44
IV.1. Introduction 44
IV.2. Analyse conceptuelle 44
IV.2.1. Analyse préalable 44
IV.2.2. Cahier des charges 45
IV.2.2.1. Cahier des charges fonctionnel 45
IV.2.2.2. Cahier des charges opérationnel 46
IV.2.2.3. Répartition des heures 46
IV.2.2.4. Estimation budgétaire 48
IV.3. Développement 49
IV.3.1. Environnement de développement 49
IV.3.2. Structure de l'application 49
IV.3.3. Déroulement de l'exécution 49
IV.3.4. Codes sources 53
CONCLUSION 72
BIBLIOGRAPHIE 73
O. Introduction
0.1. Problématique et hypothèse
O.1.1. Problématique
Suite à l'évolution technologique, l'utilisation
de l'outil informatique s'avère de plus en plus nécessaire dans
tous les domaines. Pour cela, les sociétés cherchent à
améliorer la qualité de leurs services en introduisant cet outil
dans leur processus de fonctionnement et de traitement de données.
Ainsi, l'administrateur réseau a la charge de
superviser et de contrôler toutes les activités se
déroulant au sein de son infrastructure. Sur ce, la surveillance de la
bande passante et le contrôle de trafic lui constituent une
activité la plus cruciale.
O.1.2. Hypothèse
Les fonctionnalités d'un outil d'analyse dune interface
réseau permettent de contrôler et d'analyser à temps
réel le trafic d'une interface en activité sur le
réseau.
O.2. Choix et intérêt du sujet
Notre travail a comme un intérêt à la fois
théorique et pratique :
> Sur le plan théorique: ce travail veut faire
bénéficier à l'entreprise les avantages de notre savoir
accumulé durant notre formation au second cycle universitaire à
l'université pédagogique nationale UPN en cygle. En plus, cette
étude nous permet d'élever le niveau de connaissance sur la
gestion informatique, l'administration de réseau et le contrôle de
trafic dans un réseau par les diverses documentations mises à
notre possession.
> Sur le plan pratique : cette étude est une
contribution capitale et inoubliable car elle permet aux apprenants et aux
administrateurs réseaux d'obtenir de notre part, une proposition
optimale pour mieux administrer le réseau.
O.3. Délimitation du sujet
Il est affirmé qu'un travail scientifique pour
être bien précis doit être délimité. Raison
pour laquelle, nous n'allons pas aborder toutes les questions liées
à l'administration ni loin de la sécurité informatique car
elles constitueraient une matière très complexe.
Ainsi, nous avons pensé limiter notre étude dans le
temps et dans
Dans le temps, nous avons considéré les
données allant de 2009 à nos
jours.
Dans l'espace, notre étude est limitée à la
réalisation d'un utilitaire d'analyse de trafic d'une interface
réseau.
O.4. Méthodes et techniques utilisées
Étant un travail scientifique, nous avons utilisé
la méthode analytique ainsi que la méthode documentaire.
> Méthode analytique : au moyen de cette
méthode, nous sommes parvenus à décomposer les
différents éléments du système dans le but de
définir.
> méthode documentaire, tout en consultant des sites et
des ouvrages relatifs à notre sujet d'étude.
0.5 Subdivision du travail
Hormis l'introduction et la conclusion, notre travail comporte
quatre chapitres repartis de la manière suivante :
> Chapitre 1 : Généralités sur les
réseaux informatiques
> Chapitre 2 : Carte réseau > Chapitre 3 : Trafic
réseau > Chapitre 4 : Réalisation d'un utilitaire de d'analyse
de trafic d'une interface
réseau.
Chap. I. GENERALITE SUR LES RESEAUX INFORMATIQUES
I.1.Concepts de base de la
télétransmission
I.1.1.Quelques définitions
> Télétransmission : Elle se définit
comme étant une communication à distance entre équipements
mais si ces équipements sont du type informatique, on parle de la
téléinformatique.
> Télématique : c'est le mariage entre la
télécommunication et
l'informatique. On peut aussi la définir comme
étant ensemble des services et des techniques qui associent la
télécommunication et l'informatique.
I.1.2.Notion du signal
Un signal est une grandeur physique qui évolue au cours de
temps. Exemple : intensité du courant, la tension électrique,
onde électromagnétique.
Du point de vue mathématique un signal est une fonction de
la forme : Y = A sin w t oû
A = Amplitude du signal
W = pulsation ou vitesse angulaire ;
Graphiquement, nous aurons :
+1
0
-1
Fig. n* 1 : représentation
graphique d'un signal
|
I.1.3. Supports de transmission
Les voies de transmission sont constituées de plusieurs
tronçons permettant de faire circuler les données sous forme
d'onde électromagnétique, électrique, lumineuse et
même acoustique. Ces tronçons sont des supports physiques de
transmission.
Pour relier deux ou plusieurs machines entre elles, il faut
utiliser un ou plusieurs supports physiques sur les quels l'information
proprement dite va circuler.
La matière de ce support pourra être solide
(câble, fibre optique) ou non (air). Ces supports pourront dès le
départ être conçus pour faire circuler les données
informatiques (lignes filaires, câbles coaxiaux, fibre optiques).Ou alors
avoir été destinés de prime à bord à
d'autres usages (lignes et réseaux téléphoniques, ondes
hertziennes).
Dans le cas des supports spécifiques pour la transmission
de données, il suffira de s'adapter au support.
Dans le second cas des supports < autres usages >, il
faudra en plus s'intégrer dans une logique non informatique. Le choix de
support est fonction d'un certain nombre des critères
interdépendants parmi le quels :
> La distance maximum ente station ; > Le débit
minimum ;
> La nature des informations à échanger ; >
La fiabilité ;
> Le coût.
I.2.1. Types de support physique
Il existe trois catégories :
> Les supports filaires : permettent de faire circuler une
grandeur électrique sur un câble généralement
métallique
Exemple : paire torsadée
> Les supports aériens : il désigne l'air ou le
vide permettant la circulation d'onde électromagnétique ou radio
électrique.
Exemple : faisceau hertzien
> Les supports optiques : permettent d'acheminer les
informations sous forme lumineuse
I.2.2. Type de câblage
A. Câble à pair symétrique
Il s'agit des lignes bifilaires groupées à
l'intérieur d'un câble le plus souvent souterrain mais parfois
aérien dont la capacité varie en fonction du nombre
d'abonnés à raccorder au trafic à écouler.
+
Fig. n* 2 : Présentation du câble à pair
symétrique
Domaine d'utilisation
Ces câbles sont utilisés pour la transmission des
signaux à fable ou moyenne fréquence aussi pour la transmission
à courte distance
B. Les câbles à paires torsadées
(Twisted pair TP)
Ce type de câble est constitué de deux bruns de
cuivre entre lacés en torsade et recouvert d'isolant. La distance
supportée entre deux pc connectés est égal 100m pour le
réseau local
Pour ce type de câble, nous avons deux catégories
qui sont : les câbles torsadés non blindés et les
câbles torsadés blindés
B1. Les paires torsadées non blindées (un
shelded Twisted Pair UTP)
C'est un ensemble de plusieurs pairs de conducteur de cuivre
torsadé entouré d'une gaine protectrice et isolant.
Il en existe plusieurs catégories dont :
> 1ère catégorie : dans cette
catégorie ; nous trouvons le câble téléphonique
ordinaire utilisé pour le transport de la voix et non de données
;
> 2ieme catégorie : câble certifié pour
le transport de données avec une capacité de 4Mbps ;
> 3ieme catégorie : câble transportant les
données à un débit de 10Mbps sur 4 paires torsadées
comportant 3 torsions par pieds
> 4ieme catégorie : câble transportant les
données avec un débit de 16Mbps sur 4 paires torsadées
;
> 5ieme catégorie : câble transportant les
données avec un débit de 10 à 100Mbps de taille petite et
de longueur maximale de 100m.
B2. Les paires torsadées blindées (shelded
Twisted pair)
STP Est un ensemble formé de paire torsadée en
cuivre avec un blindage de protection contre les perturbations
électriques ou électromagnétiques sur le câble de
transmission.
Avantage : les STP réduisent les bruits électriques
de l'interférence Caractéristiques :
> Débit : 10 à 100 Mbps > Longueur max :
100 m > Connecteur : RJ45
C. Le câble coaxial
C'est un câble constitué d'un ensemble de deux
conducteurs de forme cylindrique autour d'un même axe et est
séparé par une matière isolante évitant tout
contact entre ces deux conducteurs.
Ce type de câble entraîne un affaiblissement
très important pour les fréquences très
élevées, c'est pour cette raison que ce genre de câble doit
être doté d'un répéteur.
Caractéristiques du câble coaxial :
> Débit : 10 à 100 Mbps
> Distance maximale : 500m > Connecteur BNC
Il rexiste deux catégories de câble coaxial :
Câble coaxial bande de base et câble coaxial large
bande C. Câble en fibre optique
Est un guide d'onde diélectrique (isolant qui permet la
propagation des ondes électromagnétiques sous forme de la
lumière à l'intérieur d'un diélectrique).
Caractéristiques
> Débit : plus de 100Mbps
> Types : monomode et multi mode
I.2.3. La bande passante
suivante :
La bande passante d'une voie de communication est la plage
de fréquence sur la quelle la voie est capable de transmettre les
signaux sans que ceux-ci ne connaissent un affaiblissement supérieur
à une certaine valeur. La bande un bus appelée aussi " taux de
transfert " se calcule de la manière
o Fréquence du bus X largeur du bus en bits =
nombre des Mbits par seconde
o Nombre de Mbits par seconde / 8 = nombre de Mo par
seconde
Pour un bus théorique de 8 bits de largeur, fonctionnant
à 20Mhz, on a donc : 8 X 20 = 160 Mbps, soit 20 Mo/s.
I.3.La transmission des données
La transmission de données sur un support physique se
fait par propagation d'un phénomène vibratoire dépendant
de la grandeur physique que l'on fait varier. Dans le cas du son, il s'agit
d'une onde acoustique ou sonore et la vitesse du son est de 360 m / s. Dans le
cas de tension ou de l'intensité du courant, il s'agit d'une onde
électrique.
I.3.1.La transmission analogique de données
Elle consiste à faire circuler les informations sur un
support physique sous forme d'une onde. Cette transformation de données
se fait par l'intermédiaire d'une onde porteuse qui est une onde simple
dont le sel but est de transporter les données par modification de l'une
de ses caractéristiques notamment la fréquence , amplitude ou la
phase .
C'est la raison pour la quelle la transmission par
modification d'onde porteuse selon les paramètres de l'onde que l'on
fait varier, on distingue trois types de transmission analogique :
1. La transmission par modification d'amplitude de l'onde
porteuse ;
2. La transmission par modification de la phase de l'onde
porteuse ;
3. La transmission par modification de la fréquence de
l'onde porteuse.
I.3.2. La transmission analogique de donnes
numériques
Lorsque les donnes numériques ont fait leur apparut
ion, le système de transmission était encore analogique. Il a
fallut trouver un moyen de transmettre les données numériques de
façon analogique. La solution à ce problème était
le modem.
Son rôle est à l'émission :
> De convertir les données numériques en signaux
analogiques. On appelle ce procédé la modulation,
> et à la réception de convertir le signal
analogique en données numériques. Ce procédé est
appelé la démodulation. C'est pour cela que le mot modem est
l'acronyme du modulateur - démodulateur.
I.3.3. La transmission numérique de
données
Elle consiste à faire transiter les informations sur le
support physique de communication sous forme des signaux. Ainsi donc les
données analogiques devront être préalablement
numérisées avant d'être transmises.
Toutefois les informations numériques ne peuvent pas
circuler sous forme de 0 et de 1. Il faudra le coder sous forme d'un signal
possédant deux états, cette transformation de l'information
binaire sous forme d'un signal à deux états est
réalisée par un ETTD appelé aussi codeur de bande de
base.
I.4.Mode de liaison
La transmission de données sur une voie de communication
entre deux machines peut s'effectuer de différentes manières car
elle est caractérisées par :
> Le sens des échanges ;
> La configuration de liaison ; > Mode de transmission ;
> La synchronisation.
I.4.1.La liaison simplexe
Selon le sens des échanges, on distingue trois modes de
liaison :
> liaison simplex : c'est une liaison dans la quelle les
données circulent dans un même sens c'est à dire de
l'émetteur vers le récepteur.
Fig. n * 3 : Représentation graphique de la liaison
simplex > La liaison half duplex ou semi duplex
C'est une liaison dans la quelle les données circulent
dans l'un ou l'autre sens mais pas les deux simultanément.
> Liaison full duplex
Est une liaison dans la quelle les données circulent de
façon bidirectionnelle et simultanément.
I.5.Types de liaison
I.5.1.Liaisons point à point
C'est une liaison qui lie deux ETTD et deux seulement .dans cette
série, nous avons la liaison multiplex et la liaison en boucle.
I.5.2.Liaison série et liaison parallèle
a. Liaison série
Dans une liaison série les données sont
envoyées bit par bit sur la voie de transmission.
Ordinateur A Ordinateur B
0
1
1
0
Liaison Série 0
1
0
0
1
0
Fig. n * 4 : Représentation graphique de la liaison
série
Les opérations de conversion sont réalisées
grâce à un contrôleur de communication appelé UART
qui convertit les données parallèles en données
série.
b. liaison parallèle
On désigne par liaison parallèle la transmission
simultanée de n bits .Ces bits sont donc envoyés
simultanément sur n voies différentes aux quelles chaque bit est
envoyé sur une ligne physique.
C'est la raison pour la quelle le câble parallèle
sont composés des plusieurs fils en nappe.
Ordinateur A Ordinateur B
0
O
1
1
0
0
1
1
0
0
Fig. n * 5 : Représentation graphique de la liaison
parallèle
I.5.3. Liaison synchrone et liaison asynchrone
a. liaison asynchrone
Une liaison asynchrone est une liaison dans la quelle chaque
caractère est émis de façon irrégulière dans
le temps. Chaque caractère est précédé d'une
information indiquant le début de l'émission qu'on appelle (bit
start) et terminé par l'envoi d'une information de fin de transmission
appelé (bit stop). Cette méthode est dite asynchrone.
b. liaison synchrone
Une liaison synchrone est une liaison dans la quelle,
l'émetteur et le récepteur sont cadencés à la
même horloge. Le récepteur reçoit de façon continue
des informations au rythme de l'émetteur.
I.6. Réseau informatique
I.6.1.Définition
> Un réseau informatique est un ensemble
d'ordinateurs reliés entre eux grâce à des lignes physiques
permettant d'échanger des informations sous forme de données
binaires.
> Il peut également être défini comme
étant un ensemble des techniques mises en oeuvre pour relier deux ou
plusieurs unités informatiques (système d'ordinateurs) afin de
permettre le partage de ressources.
I.6.2. Internet d'un réseau informatique
Un réseau informatique permet :
> Le partage de toute sorte de ressources (fichier,
imprimante, programme ou espace disque) ;
> Permet la communication entre les personnes grâce au
courrier électronique, discussion en directe..
> Permet la communication entre processus ou entre machine
industrielles ; > Permet de garantir l'unicité de l'information (base
de données) ;
> Permet l'attribution de droit d'accès aux
utilisateurs des fichiers et ressources ; > Le transport de fichiers,
programmes ou données en évitant le transport par disquette ;
> Permet la diminution de coût.
I.6.3. Caractéristique d'un réseau
informatique
Un réseau informatique dans sa conception est
caractérisé par :
1. son champ d'action
2. son étendue géographique ;
3. son fonctionnement.
A. Du point de vue champ d'action
Il existe deux types de réseau :
> le réseau fermé : celui qui n'est pas ouvert
au public mais plutôt réservé à une entreprise.
Exemple réseau ONATRA
? l es réseaux ouverts : celui qui est ouvert au public
B. Du point de vue étendue
géographique
Dans cette catégorie, nous trouvons trois types de
réseau :
B1. Les réseaux locaux LAN
C'est un ensemble d'ordinateurs appartenant à une
organisation et relié entre eux en réseau dans une petite surface
géographique. Les LAN se divisent en deux catégories qui sont
:
1. le DAN : département area network
2. le BAN : building area network
Caractéristique d'un LAN
- Le LAN est limité sur une étendue d'au moins 1 km
;
- Le nombre des machines ne dépasse pas 100 ;
- Le trafic se fait par câble interne ;
- Ce sont des réseaux d'intégration globale car
tout est géré par une organisation privée sous une
autorité privée.
B2. Les réseaux métropolitains MAN
Ce sont des réseaux qui regroupent un petit nombre des
réseaux locaux au niveau d'une ville ; il effectue l'interconnexion de
plusieurs sites d'une même ville.
Ils sont capables d'interconnecter les réseaux locaux de
différents bâtiments et prendre en charge l'ensemble de la gestion
de sites distribués.
Caractéristique d'un MAN
Le MAN utilise des réseaux publics, le service de la
télécommunication, les fibres optiques. Ce sont donc des
réseaux placés sous l'autorité de la ville.
B3. Les réseaux étendus WAN
Un Wide area network est un réseau qui permet
l'interconnexion de MAN à l'échelle d'un pays, d'un continent ou
même d'une planète.
Exemple : Internet Caractéristiques
Le WAN utilise généralement les lignes des
réseaux publics, il fonctionne grâce à des routeurs
permettant de choisir le trajet optimal pour atteindre un noeud du
réseau.
C. Du point de vue fonctionnement
Selon le type de fonctionnement, nous distinguons deux types
de
réseau :
C1. Le Réseau post à post (ou égal
à égal)
Dans ce type de réseau, les ordinateurs connectés
sont à la fois client
et serveur,
Avantage :
> Le coüt est réduit par manque d'un serveur ; le
système d'exploitation utilisé dans ce réseau est simple
;
> Facile à mettre en oeuvre.
Inconvénients :
> Une sécurité amoindrie et difficulté
de le gérer car tout le monde est administrateur.
C2. Le réseau organisé autour du Client /
Serveur
Ce type de réseau utilise un ordinateur central
(appelé serveur) qui partage ses ressources .Dans ce cas le niveau
d'accès des utilisateurs permettent sécuriser les
données.
La gestion se fait par un système d'exploitation
spécifique du type serveur comme par exemple Windows 2003 server.
I.7.Topologie
I.7.1. Définition
La topologie représente la manière dont les
noeuds du réseau peuvent être connectés entre eux. Elles
peuvent être illustrée par la figure géométrique
réalisée par ces connexions .elle est souvent influencée
par la configuration du site au quel le réseau est destiné.
Le choix et l'implémentation du réseau local
s'appuient sur :
> Le bilan des équipements informatiques existants ;
> La disposition géométrique des
équipements et des locaux ;
> Le coût d'investissements et de maintenance car
différents types de connexion conviennent à différents
types d'activité et budget.
En fait, les noeuds du réseau peuvent s'interconnecter
tout aussi physiquement par des câbles, des lignes
téléphoniques ou des transmissions hertziennes que logiquement au
moyen d'un logiciel qui gère le flux de données dans la
topologie.
Deux familles de topologie existent :
1. la topologie physique
2. la topologie logique
I.7.2. La Topologie Physique
La topologie physique est l'arrangement physique, visible de
l'ordinateur dans un réseau .Chaque machine est reliée au support
physique par l'intermédiaire d'un contrôleur de communication
(carte réseau en anglais network interface card. = NIC) et d'une
unité de raccordement ou support appelé MAU qui veut dire Medium
Access Unit.
Dans cette série, on trouve la topologie en bus
linéaire, anneau et en
étoile.
I.7.2.1. La topologie de bus linéaire
Le bus linéaire est l'une des configurations les plus
répandues des réseaux locaux. Il est constitué d'un
câble épine dorsale sur le quel les stations sont
raccordées par des connecteurs en T.
Il assure le lien entre le câble et la carte
réseau du poste, des bouchons (terminateurs) sont situés aux
extrémités de ce câble pour réfléchir le
signal de données.
Avantages : Toute station qui tombe en panne n'affecte pas le
réseau (passive).
Inconvénients :
> si l'épine dorsale est touchée
(coupée), toute la communication est impossible ;
> sur un même câble, il n'est pas aisé de
diagnostiquer l'endroit exact de la rupture. Il faut tester chaque portion
entre deux postes ;
> plus on installe des postes, plus les performances se
dégradent ; > pas de communication simultanée.
Fig. n * 6 : Représentation de la topologie en bus
I.7.2.2. La topologie en anneau
L'anneau se présente sous la forme d'un bus
fermé. Chaque machine ou station doit être capable de
reconnaître sa propre adresse pour extraire le message qui lui est
destiné.
La circulation des informations au sein du réseau est
unidirectionnelle. Une configuration double anneau permet une circulation
bidirectionnelle.
Les stations sont actives, elles intègrent une fonction
répéteur pour régénérer le signale. La
performance peut être plus rapide dans ce système par ce que
chaque portion du câble ne transporte que le flux de données entre
deux machines.
Fig.n* 7 : Représentation de la topologie en anneau
I.7.2.3. La topologie en étoile
Dans cette topologie, chaque noeud est connecté
à un dispositif de contrôle habituellement un hub utilisant de
segment de câble individuel. Cette topologie a l'avantage de performance
optimale du système.
En outre chaque machine ayant sa connexion indépendante du
hub central, le réseau peut continuer de fonctionner si l'un des noeuds
tombe en panne.
Fig. n* 8 : Représentation de la topologie en
étoile
I.7.2.4. La topologie mixte
Le gros système ne sont pas généralement
homogènes et peuvent comprendre des nombreux sous réseaux de
topologie différente. Ils forment un ensemble appelé topologie
mixte.
I.7.2.5. La topologie en maille
Dans cette topologie, chaque machine est reliée à
tout autre à travers un câble. Ce type de câblage ne plus
utilisé car il nécessite beaucoup de câbles.
Fig. n* 9 : Représentation de la topologie en maille
I.8. La topologie logique
La topologie logique représente la manière
à la quelle les données transitent dans le câble. Les deux
réseaux les plus utilises sont : Ethernet et Token ring. Mais on trouve
aussi le FDDI (Fiber Distributed Interface) et ATM (asynchrone transfert
mode).
I.8.1.Topologie Ethernet
Cette topologie a comme avantage d'interconnecter divers
matériels avec une grande facilité d'extension. La famille de
réseau Ethernet repose sur :
1. sa méthode d'accès : CSMA / CD
2. La nomenclature I3E (institute of electrical and
electrical engineer). Cette nomenclature permet d'identifier les principales
caractéristiques de chaque version d'Ethernet par la formule :
XXX.Base.YY
I.8.2.Topologie Tokenring
Cette topologie est caractérisée par :
> Sa méthode d'accès : jeton ;
> Le débit de transmission qui varie de 4 à 16
Mbps ; > La transmission en bande de base ;
> La topologie physique est l'anneau.
I.8.3. Topologie FDDI
C'est une topologie d'accès au réseau sur les
lignes du type fibre optique. C'est un anneau à jeton à
détection et correction d'erreur caractérisé par :
> Méthode d'accès : jeton ;
> Débit : 100 Mbps ;
> Longueur max peut aller jusqu' à 100 km
> Supporte plus de 1000 stations
I.9. Mode d'accès
Dans un réseau local, les messages ne peuvent circuler
simultanément sur un réseau sans entrer en collision. Il est donc
nécessaire de mettre en place un mécanisme de contrôle
d'accès pour éviter la présence en même temps de
plusieurs messages.
Parmi l'ensemble des méthodes d'accès sont
utilisées le CSMA et le
JETON.
I.9.1. Le CSMA (Carrier Sence Multiple Access)
Quand une station décide d'émettre, elle
écoute le canal de transmission pour vérifier s'il est libre.
S'il est, elle émet son message. Toutefois, il se peut que deux stations
se décident à émettre au même instant. Il y a alors
collision des messages émis. Il existe deux méthodes pour
résoudre la collision : le CSMA / CD et le jeton
a. CSMA / CD
Les stations impliquées arrêtent
momentanément leur transmission. Au bout d'un laps de temps
aléatoire, l'émission est reprise. Il est peu probable que les
stations se décident de remettre au même instant, si non le cycle
d'attente reprend.
Cette méthode est aléatoire ou probabiliste car
chaque station peut émettre à n'importe quel moment pour vue que
le canal soit libre.
b. CSMA / CA (Collision Avoidance)
Elle permet d'éviter la collision. Si le canal est
libre, la station qui veut émettre envoie d'abord un court signal pour
prévenir les tentatives d'émissions des autres stations. Ces
dernières vont bloquer temporairement leurs émissions. Une fois
le message envoyé, il fera l'objet d'un aller / Retour si non, on
considérera qu'il s'agit d'une collision.
I.9.2. Le jeton
On utilise cette méthode aussi bien avec un réseau
en bus qu'avec un réseau en anneau.
Principe de fonctionnement
1. un jeton circule librement sur l'anneau ;
2. lorsqu'une station veut émettre, elle capture le
jeton
3. elle attache son message à la suite du jeton avec
l'adresse de la station destinatrice, le message est remis en circulation sur
l'anneau
4. chaque station reçoit l'information (jeton +message
+adresse) et l'inspecte pour tester son adresse avec celle du destinataire ;
5. si le message lui est destiné, la station le copie
et remet le jeton en circulation sur le réseau en ajoutant une
information indiquant la bonne réception du message (accusé de
réception)
6. quand le jeton passe devant la station émettrice
celle-ci le remet à l'état libre.
7. le jeton circule de nouveau sur le réseau.
La station qui souhaite émettre ne peut le faire que si le
jeton est libre .Cette méthode est dite déterministe.
I.10. types d'ordinateurs connectés.
Un réseau permet de connecter des ordinateurs entre eux
de tout type (pc, mac,...) pour le partage des ressources. Ainsi deux types
d'ordinateurs sont utilisés sur un réseau : le serveur et les
clients (ou station de travail).
I.10.1 le serveur
Le serveur est un micro - ordinateur qui héberge les
ressources partagées. Il est souvent plus performent au niveau
capacité matérielle que les autres ordinateurs du réseau
.Dans certain réseau, un ordinateur peut être à la fois
station et serveur.
En informatique nous distinguons trois types de serveur :
I.10.2 Types de serveur
> le serveur de fichier ; enregistre et distribue les
documents et fichiers partagés par les utilisateurs ;
> serveur d'application : permet d'utiliser un programme
sur un ordinateur à partir de tous les postes clients
simultanément principalement des applications qui utilisent des bases
des données [gestion de fabrication commerciale, comptabilité,
stock]. Ces applications doivent être programmées pour
gérer le partage.
> Serveur d'impression : partage d'impression [imprimante].En
pratique, un serveur reprend souvent les trois applications.
I.10.3 notion de serveur dédié
Il s'agit d'un micro-ordinateur qui ne possède que des
ressources donc dédié. Sinon un ordinateur peut à la fois
station et serveur mais ;
> Moins de place pour le travail, s'il y a travail plus
logiciel ;
> Travail ralenti quand quelqu'un se connecte au serveur ;
> Pas de domaine privé puisque tout le monde a
accès à cette machine ; > Pas d'autonomie car le serveur doit
rester allumé en permanence ;
> Risque multiples dus aux utilisateurs ;
Ainsi pour optimiser le temps d'accès, il faut toujours
utiliser deux serveurs, un pour les impressions et l'autre pour les
données.
I.10.4. station de travail
C'est un micro-ordinateur disposant des ces propres ressources
c'està-dire de lecteur de disque ou cd rom, HDD et pouvant
accéder à celles du serveur (mais à celles dont les
permutions sont accordées par l'administrateur). Les stations entre
elles peuvent également se partager des fichiers
I.11.Equipements d'interconnexion d'un réseau
informatique
On assimile très souvent le réseau local au
réseau d'entreprise mais pour des raisons organisationnelles ou
géographiques,
Le réseau d'entreprise peut se diviser en plusieurs
réseaux locaux en fonction des services, des étages, des
établissements, de l'importance du trafic, de la
sécurité...
I.11.1.Le répéteur
Le répéteur est un équipement qui permet
d'outrepasser la longueur maximale imposée par la norme d'un
réseau. Pour ce faire, il amplifie et régénère le
signal électrique.
Il est également capable d'isoler un tronçon
défaillant (câble ouvert par exemple) et d'adapter deux medias
Ethernet différents. (Par exemple 10 base 2 vers 10 base T).Le
répéteur agit sur la couche physique du modèle OSI (ou
niveau 1).
Avantages ;
> Régénérer les données
reçues et les retransmettre enfin d'accroître la distance de
transmission ;
> Reconditionner un signal entre deux machines du
réseau enfin d'étendre la distance d'un câble du
réseau ;
> Permet d'échanger des types de support : exemple un
segment de paire torsadées à un brin de fibre optique.
Inconvénients :
> Incapable d'interconnecter des brins fonctionnant à
des vitesses différentes ;
> Il n'a aucune connaissance de la sémantique des
champs message et ne fait que régénérer le signal ;
> Incapable de modifier la nature de la trame.
I.11.2.Le concentrateur (HUB)
HUB ;(host Unit Broad Cast) : cela veut dire unité de
diffusion. Est un équipement qui agit au niveau de la couche physique du
modèle OSI, permettant l'interconnexion locale de station en utilisant
une topologie en étoile.
Type de HUB
Nous distinguons deux types d' hub ;
> Hub actifs ; permet de régénérer le
signal dans les différents ports et est alimenté
électriquement ;
> Hub passifs ; permet de diffuser le signal à tous
les ports sans amplification.
Son but est de récupérer les données
binaires parvenant sur un port et de les diffuser sur l'ensemble de ports .Tout
comme le répéteur, le concentrateur opère au niveau 1 du
modèle OSI. C'est la raison pour laquelle il parfois appelé
répéteur multisports.
I.11.3.Le pont
Dispositif reliant deux réseaux ayant la même
méthode d'accès (même protocole de niveau 2) au sein d'un
même site .IL joue deux rôles :
> Répéteur du signal : augmente la distance
maximale du réseau ;
> Filtre entre deux segments du réseau : éviter
un surcharge inutile du trafic réseau ;
> Détecteur d'erreurs.
Le pont peut se matérialiser sous la forme d'un
ordinateur possédant deux cartes réseaux reliant les deux
segments .il intervient au niveau 2 du modèle OSI.
Principe de fonctionnement
Un pont possède deux connexions à deux
réseaux distincts. Lorsque le pont reçoit une trame sur l'une de
ses interfaces,il analyse l'adresse MAC du destinataire et de
l'émetteur.
Si jamais le pont ne connaît l'émetteur, il stock
son adresse dans une table afin de se souvenir de quel cote du réseau se
trouve l'émetteur. Ainsi le pont est capable de savoir si
l'émetteur et le destinataire sont situés du même
coté ou bien de part et d'autre du pont.
Dans le premier cas, le pont ignore le message, dans le second
cas, le pont transmet la trame sur l'autre réseau.
I.11.4.Le commutateur (ou switch)
Le switch est un équipement qui agit au niveau de la
couche liaison du modèle OSI (niveau 3). C'est un multi port.
Rôle :
> Analyse les trames arrivant sur ses ports
d'entrée,
> Filtre les données enfin de les aiguiller uniquement
sur le port de destination ;
> Il permet de réduire les collisions sur les
câbles du réseau. C'est-à-dire lorsque un
périphérique souhaite communiquer, il envoi sur le câblage
un
message. si un autre
périphérique communique déjà, deux messages se
retrouvent en même temps sur le réseau. le premier reprend son
message au début et le deuxième attend pour réessayer
quelques millisecondes plus tard.
I.11.5. Le routeur
Le routeur est un équipement qui agit au niveau de la
couche réseau du modèle OSI (niveau 3). Il permet de choisir le
chemin que les messages vont emprunter pour arriver à la destination.
Les routeurs sont des machines ayant plusieurs cartes
réseaux dont chacune est reliée à un réseau
différent. Il permet en outre l'interconnexion de réseaux
informatiques permettant d'assurer le routage des paquets entre deux
réseaux ou plus afin de déterminer le chemin qu'un paquet de
données va emprunter.
Chapitre II. CARTE RESEAU
II.0. Introduction
Une carte réseau est matérialisée par un
ensemble de composants électroniques soudés sur un circuit
imprimé. L'ensemble constitué par le circuit imprimé et
les composants soudés s'appelle une carte électronique,
d'où le nom de la carte réseau.
La carte réseau assure l'interface entre
l'équipement ou la machine dans laquelle est montée et un
ensemble d'autres équipements connectés sur le réseau.
Nous trouvons de cartes réseaux dans les ordinateurs
mais aussi dans certaines imprimantes et copieurs. Nous ne parlerons de la
carte réseau que dans le cas d'une carte électronique autonome
prévue pour remplir e rôle d'interface réseau.
Ainsi, un ordinateur muni d'une carte mère me comporte
pas, à proprement parler, de carte réseau. L'équipement
communique sur le réseau aux moyens de signaux qui doivent absolument
respecter des normes.
II.1. Médias de transmission des
informations
Le média ou support de l'information est
généralement un réseau filaire. La carte réseau est
dans ce cas munie d'un connecteur sur lequel on branche une carte
réseau.
Ce dernier est relié au réseau par
l'intermédiaire d'une prise murale ou directement sur un
équipement d'interconnexion de réseau comme un concentrateur
(hub) ou d'un commutateur.
II.2. Les standards
Il existe diverses normes qui régissent la
première couche du modèle OSI (couche matérielle). Les
couches supérieures du modèle OSI sont gérées au
niveau logiciel.
On peut citer les normes Ethernet, Token ring (anneau
à jeton). Le standard le plus rependu est le standard Ethernet. Pour le
réseau sans fil, le standard WI-FI est le plus courant.
II.3. Types de cartes réseaux II.3.1.
Ordinateur de bureau
On peut relier les ordinateurs de bureau au réseau selon
les types de carte ci-dessous :
> Réseau filaire :
- carte PCI à insérer dans un connecteur PCI libre
sur la carte mère ;
- de nombreux modèles de cartes mères disposent
d'une interface réseau intégrée. Dans ce cas, on branche
directement le câble réseau sur le connecteur RJ45 fixé
à la carte mère.
> Réseau sans fil : carte PCI équipée
d'une antenne. II.3.2. Ordinateur portable.
Les ordinateurs portables ne disposent pas de connecteur PCI,
mais d'autres solutions existent :
> carte réseau au standard PCMCIA ;
> interface réseau déjà
intégrée au portable ;
> carte réseau en USB
II.4. Le débit de transmission et le mode de
communication
Le débit s'exprime généralement en kbps
(mégabits par seconde = million de bits par seconde). Cela mesure la
capacité d'un équipement réseau à émettre et
/ ou recevoir un ou plus ou moins grand nombre de bits d'informations en une
seconde.
Les débits actuels du standard Ethernet sont :
> 10Mb/s ;
> 100Mb/s (Fast Ethernet) ;
> 1000Mb/s parfois également noté 1.0Gib/s (giga
Ethernet) ;
> 10.000Mb/s encore peu employé en 2009 (10 Gi bits
Ethernet).
Les cartes réseaux peuvent communiquer en half duplex,
dans ce cas une carte peut seulement émettre ou recevoir des
informations à un instant donné. Le mode full duplex permet
à une carte réseau d'émettre et recevoir
simultanément (ce qui permet un débit effectif doublé dans
le cas optimal).
Deux équipements réseaux doivent communiquer dans
le même débit. Un paramétrage de la carte réseau
permet le plus souvent de forer le débit ou de
le positionner en auto négociation ; dans ce cas, les
cartes connectées négocient un débit commun dés
l'établissement de liaison physique (le branchement de la prise RJ45 par
exemple).
II.5. Sortes de carte réseau II.5.1. Cartes
réseaux Ethernet
La plupart de cartes réseaux destinées au grand
public sont des cartes Ethernet. Elles utilisent comme support de communication
des paires torsadées (8 fils en cuivres), disposant à chaque
extrémité de prises RJ45.
> Le 10base-T ; permet un débit maximal de 10Mbps. Les
câbles RJ45 peut alors mesurer jusqu'à une centaine de
mètres et seuls 4 de 8 fils sont utilisés ;
> Les 100base-Tx ; permet un débit maximal de
100Mbps. Il est également appelé Fast Ethernet et est
désormais supporté par la quasi-totalité des cartes
réseau. Comme pour le 10base-T, le able TJ45 peut alors mesurer
jusqu'à une centaine de mètres et seuls 4 de 8 fils sont
utilisés ;
> Le 1000base-T ; permet un débit maximal de
1000Mbps. Il est également appelé gigabits Ethernet et se
démocratise rapidement. pour que le réseau fonctionne
correctement, le câble RJ45 peut toujours mesurer jusqu'à 100
mètres, mais doit être de bonne qualité. Cette fois le 8
fils sont utilisés.
Afin d'étendre les distances maximales, d'autres normes
Ethernet existent, elles utilisent dans la plupart de cas de la fibre optique
comme support de communication.
Pour relier deux ordinateurs en réseau, un câble
RJ45 spécifique suffit : il s'agit d'un câble appelé <
croisé > dont on branche simplement les extrémités dans
chaque carte.
Pour relier plus deux machines on utilise un matériel
nommé hub ou switch ; une extrémité du câble sera
alors branchée sur l'ordinateur alors que l'autre sera reliée au
switch.
Les caractéristiques fondamentales du switch sont la
vitesse (compatible 10base-T, 100base-Tx et / ou 1000base-T) et son nombre de
ports (nombre de prise RJ45).
II.5.2. Carte réseau WI-FI
Les cartes réseaux sans fil wi-fi (wireless fidelity) ou
WLAN (wireless local area network) fonctionnent sur le même principe que
le réseau Ethernet filaires.
Une carte réseau wi-fi doit être installée
sur chaque ordinateur du réseau sans fil. Cette carte peut être
directement incluse dans la carte mère (cas de nombreux portables), mais
peut également se trouve sous la forme d'une carte PCI ou d'une
clé USB.
Une antenne, parfois intégrée dans la carte, permet
l'envoi et la réception des signaux.
Il possible de relier deux ordinateurs portables directement
par wi-fi (on parle alors de l'architecture ad hoc) comme en Ethernet filaire,
pour relier plus de deux machines on utilise généralement un
matériel spécifique appelé routeur wi-fi [ou point
d'accès].
Ce dernier dispose d'une à trois antennes afin de
pouvoir le relier à un réseau Ethernet filaire
[généralement compatible 100 base --Tx], on parle alors de
l'architecture infrastructure.
Plusieurs normes wi-fi ont été mises en oeuvre afin
d'augmenter progressivement la portée et la vitesse des
échanges.
Ainsi :
> Le 802.11b permet un débit théorique
jusqu'à 11Mbps (environ 6 kbps réel) pour une portée
maximale de 300 mètres (en intérieur, cette portée est
toutefois généralement limitée à quelque dizaines
de mètres) ;
> Le 802.11g ; permet un débit théorique
maximale de 54Mbps [environ 25Mbps réel]. Le 802.11g a une
compatibilité ascendante avec la norme 802.11b, ce qui signifie que de
matériel conforme à la norme 802.11g peuvent fonctionne en
802.11b ;
> Le 802.11n, dit également wwise (world wide
spectum efficiency) ou Tgn sync, est une norme finalisée en 2008. Le
débit théorique atteint les 600Mbps (débit réel de
100Mbps dans un rayon de 90 mètres).
II.6. Rôle et fonction de la carte
réseau
Une carte réseau sert d'interface physique entre
l'ordinateur et le câble, elle prépare pour le câble
réseau les données émises par l'ordinateur, le transfert
vers un autre ordinateur et contrôle le flux de données entre
l'ordinateur et le câble.
Il traduit aussi les données venant du câble et
traduit en octets afin que l'unité centrale de l'ordinateur les
comprenne.
Ainsi, une carte réseau est une carte d'extension
s'insérant dans un connecteur d'extensions [slot].
La carte réseau possède généralement
deux tempos lumineux (Leds)
qui sont :
> Le led vert correspond à l'alimentation de la carte
;
> Le led orange [10Mbps] ou rouge [100Mbps] indiquent une
activité du réseau (envoi ou réception des
données).
Pour préparer les données à envoyer la carte
réseau utilise un transceiver qui transforme les données
parallèles en données séries.
Chaque carte dispose d'une adresse unique appelée
adresse MAC, affectée par le constructeur de la carte, ce qui lui permet
d'être identifiée de façon unique à travers le monde
parmi toutes les autres cartes réseaux.
Les cartes réseaux disposent de paramètres qu'il
est possible de configurer. Parmi eux figurent l'interruption matérielle
(IRQ), l'adresse de base du port E/S et l'adresse de base de la mémoire
(DMA).
Pour garantir la compatibilité entre l'ordinateur et le
réseau, la carte doit être adaptée à l'architecture
du bus de données de l'ordinateur et avoir le type de connecteurs
approprié au câblage.
Chaque carte est conçue pour s'adapter à un
certain type de câble. Certaines cartes comprennent plusieurs connecteurs
d'interfaces (à paramétrer avec les cavaliers, soit avec le DIP,
soit de façon logicielle).
Les connecteurs les plus répandus sont les connecteurs
RJ45. Cependant certaines topologies réseau utilisant la paire
torsadée ont recours aux connecteurs RJ11. Ces topologies sont parfois
appelées < pré-10baseT>.
Enfin pour garantir cette compatibilité entre
ordinateur et réseau, la carte réseau doit être compatible
avec la structure interne de l'ordinateur (architecture du bus de
données) et avoir un connecteur adapté à la nature du
câblage.
II.6.1. Préparation de
données
Les données se déplacent dans l'ordinateur en
empruntant des chemins appelés (bus). Plusieurs chemins cote à
cote font que les données se déplacent en parallèle et non
en série (les unes à la suite des autres).
> Les premiers bus fonctionnaient en 8 bits (8bits de
données transportées à la fois) ;
> L'ordinateur PC/AT d'IBM introduit les premiers bus 16 bits
;
> Aujourd'hui la plus part des bus fonctionnent en 32 bits.
Toutefois sur un câble les données circulent en
série (un seul flux de bits), en se déplacent dans un seul sens.
L'ordinateur peut envoyer ou revoir les informations mais il ne peut pas
effectuer les deux simultanément.
Ainsi, la carte réseau restructure un groupe de
donnée arrivant en parallèle en données circulant en
série (1 bit). Pour cela, les signaux numériques sont
transformés en signaux électriques ou optiques susceptibles de
voyager sur les câbles de réseau. Le dispositif chargé de
cette traduction est le Transceiver.
II.6.2. Le rôle
d'identificateur.
> La carte traduit les données et indique son adresse
au reste du réseau afin de pouvoir être distinguée des
autres cartes du réseau;
> Adresse MAC : définie par l'IEEE (Institute of
Electrical and Engineer) qui attribue des places d'adresses à chaque
fabriquant de cartes réseau ;
> Elles sont inscrites sur les puces des cartes :
procédure appelée < gravure de l'adresse sur la carte >.
Par conséquent, chaque carte a une adresse MAC unique sur
réseau.
En outre l'ordinateur et la carte doivent communiquer afin que
les données puissent passer de l'un vers l'autre. L'ordinateur affecte
ainsi une partie de sa mémoire aux cartes munies d'un accès
direct à la mémoire (DMA : direct accès memory).
La carte indique un autre ordinateur demande des
données à l'ordinateur qui la contient. Le bus de l'ordinateur
transfère les données depuis la mémoire de l'ordinateur
vers la carte réseau.
Si le données circulent plus vite que la carte ne peut
les traiter, elles sont placées dans la mémoire tampon
affectée à la carte (RAM) dans laquelle elles sont
stockées temporairement pendant l'émission et la réception
des données.
II.6.3. Envoi et contrôle des
données.
Avant que la carte émettrice envoie les données,
elle dialogue électriquement avec la carte réceptrice pour
s'accorder sur les points suivants :
> Taille maximale des groupes de données à
envoyer ;
> Volume de données à envoyer avant confirmation
;
> Intervalles de temps entre les transmissions partielles de
données ; > Délai d'attente avant envoi de la confirmation
;
> Quantité que chaque carte peut contenir avant
débordement ; > Vitesse de transmission des données.
Si une carte plus lente, donc plus perfectionnée
communique avec une carte plus lente, elles doivent trouver une vitesse de
transmission commune. Certaines cartes ont des circuits leur permettant de
s'adapter au débit d'une carte plus lente.
Il y a donc acceptation et ajustement des paramètres
propres à chacune de deux cartes avant émission et
réception des données.
II.7. Paramètres de configuration de la
carte
Les cartes réseaux sont munies d'options de
configuration. Entre
autres :
> Interruption (IRQ) : dans la plupart de cas, ces sont IRQ
3 et 5 qui sont attribués aux cartes réseau. l'IRQ5 est
même conseillé ( s'il est disponible) et la plupart des cartes
l'utilisent comme paramètre par défaut .
> Adresse de base du port d'entré/sortie (E/S) : chaque
périphérique doit utiliser une adresse de base différente
pour le port correspondant.
> Adresse de base de la mémoire : elle
désigne un emplacement de la mémoire vive (RAM) de l'
ordinateur. la carte utilise cet
emplacement comme tampon pour les données qui entrent et qui sortent. Ce
paramétrage est parfois appelé < adresse de début >
(Ram Start Adresse).
En générale, l'adresse de base mémoire
pour une carte réseau est D8000. Le dernier O est parfois
supprimé pour certaines cartes réseaux. Il essentiel de prendre
soin de ne pas sélectionner une adresse de base déjà
utilisée par un autre périphérique.
A noter toutefois que certaines cartes réseaux n'ont
pas de réglage pour l'adresse de base de la mémoire car elles
n'utilisent pas l'adresse MAC de machine.
> Le transceiver
Cependant, il est possible de configurer la carte de
manière logicielle. Les paramètres doivent correspondre avec la
disposions des cavaliers ou des commutateurs DIP [dual inline package]
situés sur la carte réseau. Les réglages sont fournis avec
la documentation de la carte. Beaucoup de cartes récentes sont en PnP
(plag and play).
Cela dispense de configurer la carte à la main mais
peut parfois être gênant (apparition de conflits) au quel cas il
généralement agréable de pouvoir désactiver
l'option PnP et configurer la carte à la main.
II.8. Installation de la carte
réseau
Le but est d'arriver à mettre en place un réseau
afin de pouvoir échanger de données. Il faut donc installer dans
chaque ordinateur susceptible de faire partie du réseau local une carte
réseau.
II.8.1. Installation
matérielle
La première de chose à faire est d'ouvrir votre
ordinateur et d'y insérer la carte réseau quelle soit ISA ou bien
PCI. Pour cela vous aurez besoin d'un tournevis cruciforme.
Avant toute chose débrancher l'alimentation, puis
touchez le boîtier sur la partie métallique enfin de vous
déchargé de toute énergie statique. Il ne vous reste
qu'à trouver un emplacement libre et d'y insérer la carte.
II.8.2. Installation logicielle
Pour la configuration logicielle, tout dépend du
système d'exploitation sur lequel vous travaillez (Windows 95,98 ou
Windows XP)
Procédure pour Windows XP :
> Cliquez sur démarrer / panneau de configuration
> Cliquez sur système / matériel
> Cliquez sur gestionnaire de périphérique
> Cliquez deux fois sur l'icône carte réseau
(pour voir le nom de la carte) ;
A ce niveau, un point d'interrogation ( ?) en couleur jaune
devant le nom de la carte réseau indique :
> Soit la carte réseau n'a pas de pilote;
> Soit la carte réseau ne fonctionne pas ;
Que faire?
> Arrêtez l'ordinateur, changez l'emplacement de slot
;
> Allumez la machine ;
> L'ordinateur affichera un message < nouveau
matériel détecté > : Lisez le nom de la carte puis
introduisez le cd d'accompagnement du périphérique pour
l'installation de pilotes dans le cas contraire cherchez le pilote sur
l'Internet.
> Si lors du changement de slot, l'ordinateur ne
détecte pas la carte carrément il faut la changer.
II.8.3. Installation de protocoles
Les protocoles sont les éléments logiciels qui vont
permettre la communication entre les ordinateurs. Les trois principaux
protocoles pour un réseau local sont;
> IPX-SPX ;
> NETBEUI
> TCP/IP : il sera utilisé si vous décidez de
relier votre réseau local à l'Internet dans le cas contraire
IPX-SPX et NETBEUI vous suffit. Ces protocoles sont disponibles sous le
constructeur Microsoft,
Pour installer chacun d'eux, sélectionnez le puis cliquer
sur installer.
Procédure
Cliquez sur ;
> démarrer ;
> panneau de configuration ;
> Connexion Internet ;
> Clic droit sur l'icône de connexion puis sur
propriété ; > Sélectionnez le pilote puis cliquez sur
installer.
Lorsque vous avez fini d'installer les différents
protocoles, si vous voulez que des personnes puissent accéder à
certaines de vos ressources (fichiers, disques, répertoires ou
imprimantes) cliquez sur le bouton <partage des fichiers et
d'imprimantes> puis cochez le choix qui vous intéresse. Il ne vous
reste plus qu'à redémarrer votre ordinateur à nouveau.
Vous devriez normalement voir apparaître les composants
réseau
suivants ;
> Clients pour réseau Microsoft
> Carte réseau compatible NE2000
> Protocole NETBEUI ; protocole compatible IPX-SPX
> TCP / IP
> Fichiers et imprimantes partagés pour le
réseau Microsoft
Chapitre 3.TRAFIC RESEAU
III.1. Introduction
Le transfert d'informations de l'émetteur vers le
récepteur nécessite sur
un réseau :
> la mise en forme des informations à émettre
;
> l'identification du récepteur ;
> le décollage par récepteur des informations
reçues
> l'annonce de la transmission.
Il va de soi que si le récepteur ne connaît ni la
manière dont l'information lui est transmise (format), ni celle
utilisée par l'émetteur pour lui signaler qu'il a des
informations à lui transmettre, il ne peut y avoir de transmission. Il
s'avère donc indispensable d'établir un protocole de
communication entre l'émetteur et le récepteur d'un même
réseau.
Pour réglementer l'émission d'une station sur un
support, des protocoles ont été définis dans un premier
temps sous l'égide de l'IEEE (Institut of Electrical and Electronic
Engineer). Ces protocoles ont été repris et
complétés par l'ISO (international standardisation
organisation).
Ainsi la transmission d'information entre deux programmes
informatiques sur deux machines différentes passe par deux
modèles : le modèle OSI ou le modèle TCP / IP.
Ces deux normes permettent à chaque partie de la
communication de dialoguer. Chaque modèle inclus plusieurs couches.
Ainsi chaque couche devra envoyer (et recevoir pour l'autre PC) un message
compréhensible par les deux parties.
III.2. Le modèle OSI (Open system
interconnections)
Ce modèle théorique définit en 1977
régit la communication entre deux systèmes informatiques selon
sept couches ou niveaux. A chaque couche, les deux systèmes doivent
communiquer <compatible>.
Ce modèle définit par l'ISO précise que
la communication entre deux systèmes différents passe par sept
couches ou niveaux différents organisés de la manière
suivante :
Fig. n * 10 : Représentation en couches du modèle
OSI III.2.1. Fonction de chaque couche
1. la couche physique : assure la transmission de données
sous la forme des signaux électriques sur le canal physique. La
modulation ainsi que le multiplexage y sont pratiqués. un grand nombre
des techniques de transmission y sont utilisées. l'unité
information est à ce niveau est le bit.
2. la couche liaison (ou couche 2) : est responsable de
l'acheminement sans erreur des blocs d'informations sur des liaisons des
données. En effet, les supports de transmissions introduisent les
erreurs dans les informations à transportées. Son rôle est
de définir les règles pour l'émission et la
réception de données à travers la connexion physique de
deux systèmes : la transmission sans erreur, déterminer la
méthode d'accès au support.
Les données sont structurées en en trames qui
continent des informations de détection et correction d'erreur, la carte
réseau gère des couches physique et liaison.
3. la couche réseau (ou couche 3) : elle est responsable
de l'acheminement des paquets de données qui transitent à
l'intérieur du sous réseau de transport. elle offre
également un contrôle de gestion, le quel permet d'éviter
de pertes des paquets de données par engagement de certains. Les
données seront alors déroutées vers un autre noeud.
4. la couche transport : fournit un service de transport de bout
en bout transparent pour l'utilisateur (même à travers
plusieurs réseaux) : établissement, maintient et rupture de la
connexion entre deux systèmes. Elle assure également les services
qui n'ont pas été assurés par les couches
inférieures (erreur, routage) ;
5. la couche session ; première couche orientée
traitement. Elle est responsable de la mise en place et du contrôle du
dialogue entre les entités communicantes. Elle permet l'ouverture et la
fermeture d'une session du travail entre deux systèmes distants. Elle
assure également la synchronisation du dialogue.
6. Présentation permet de formater les données
dans un format compréhensible par les deux systèmes. Elle
assure la conversion et éventuellement la compression et le cryptage des
données.
8. Application ; constitue la couche la plus externe du
modèle de référence. Elle permet la compréhension
et l'exécution des commandes liées aux applications. De plus,
elle établit les règles d'échange entre opérateurs,
périphérique et programme. Elle fournie donc des services
utilisables par les applications installées sur le réseau.
III.3. L'architecture du modèle TCP / IP
C'est un mode opératoire qui doit être commun
à tous les éléments qui désirent communiquer entre
eux. Il n'y a pas de communication possible sans avoir recours à un
protocole.
Bien entendu, le protocole doit être adapté au
type de communication que l'on souhaite mettre en oeuvre. le TCP / IP n'est pas
uniquement un protocole mais aussi un ensemble des protocoles organisés
en quatre couches : application, transport, Internet et accès au
réseau.
Tableau comparatif du modèle OSI et le
modèle TCP / IP
Modèle OSI
|
Modèle TCP / IP
|
7, Application
|
Application
|
6, Présentation
|
5, Session
|
4, Transport
|
Transport
|
3, Réseau
|
Internet
|
2, Liaison
|
Accès réseau
|
1. Physique
|
Tableau n* : 1 : Tableau comparatif du modèle OSI et le
modèle
TCP / IP
III.4. Le protocole
Un protocole est une méthode standard qui permet la
communication entre des processus (s'exécutant éventuellement sur
différentes machines), c'est-àdire un ensemble des règles
et des procédures à respecter pour émettre et recevoir des
données sur un réseau. Il existe plusieurs selon ce que l'on
attend de la communication.
La communication entre machines nécessite un passage
sur différentes couches, le tableau suivant nous permettra de distinguer
les niveaux de protocoles selon les couches
Application
|
Transport
|
Internet
|
Physique
|
HTTP
|
TCP
|
IP
|
ETHERNET
|
FTP
|
UDP
|
ICMP
|
|
SMTP
|
TCAP
|
IGMP
|
|
SNTP
|
IPSEC
|
RIP
|
|
POP3
|
|
ARP
|
|
TELNET
|
|
IPX
|
|
DNS
|
|
|
|
DHCP
|
|
|
|
NETBIOS
|
|
|
|
Tableau n* 2 : Tableau des protocoles selon les couches
3.4.1. Les protocoles de la couche application
> HTTP ; - HTTP : ( Le Hypertext Transfer
Protocol ), port TCP 80 ou 8080plus connu sous
l'abréviation HTTP, littéralement le « protocole de
transfert hypertexte », est un protocole de communication client serveur
développé pour le World Wide Web. Le protocole HTTP peut
fonctionner sur n'importe quelle connexion fiable ;
> FTP : Le ( File Transfer
Protocol ) (protocole de transfert de fichiers), ou FTP, est
un protocole de communication dédié à l'échange
informatique de fichiers sur un réseau TCP/IP. Il permet, depuis un
ordinateur, de copier des fichiers depuis ou vers un autre ordinateur du
réseau, d'administrer un site web, ou encore de supprimer ou modifier
des fichiers sur cet ordinateur ;
> . SMTP : Le ( Simple Mail
Transfer Protocol ) (littéralement « Protocole simple
de transfert de courrier »), est un protocole de communication
utilisé pour transférer le courrier électronique vers les
serveurs de messagerie électronique ;
> SNMP : Le sigle SNMP signifie
(Simple Network Management Protocol) (protocole
simple de gestion de réseau en Français). Il s'agit d'un
protocole de communication qui permet aux administrateurs réseau de
gérer les équipements du réseau et de diagnostiquer les
problèmes de réseau à distance ;
> POP3 :( Post Office Protocol version 3)
Le protocole qui permet au client de relever à distance le
courrier classé dans sa boîte aux lettres ;
> TELNET : (TErminal network ou
TELecommunication NETwork ), ou encore
(TELetype NETwork) C'est le "couteau suisse" du
travail à distance. En fait, un client TELNET est une console en mode
texte, capable de se connecter sur la plupart des serveurs, comme POP3 ou SMTP
;
> DNS : Le (Domain Name System)
(ou DNS, système de noms de domaine) est un
système permettant d'établir une correspondance entre une adresse
IP et un nom de domaine et, plus généralement, de trouver une
information à partir d'un nom de domaine ;
> DHCP : ( Dynamic Host Configuration Protocol )
(DHCP) est un terme anglais désignant un protocole
réseau dont le rôle est d'assurer la configuration automatique des
paramètres TCP/IP d'une station, notamment en lui assignant
automatiquement une adresse IP et un masque de sous réseau. DHCP peut
aussi configurer l'adresse de la passerelle par défaut, des serveurs de
noms DNS et des serveurs de noms NBNS (connus sous le nom de serveurs WINS sur
les réseaux de la société Microsoft) ;
Ainsi chaque protocole a un numéro qu'on appelle < port
> : III.5. Communication client / serveur
Les serveurs ont une fonction particulière : Ils
doivent envoyer des informations pertinentes aux clients qui en
réclament. Comme un serveur ne convient pas d'un rendez-vous avec le
client, il doit rester attentif en permanence pour ne pas risquer de rater une
question. Pour ce faire, on y installe des "daemons", petits programmes qui
tournent en tâche de fond et qui écoutent continuellement sur un
numéro de port donné.
Il y a des conventions pour attribuer ces ports sur des
services connus, par exemple le port 80 pour HTTP, le port 110 pour POP3, le
port 21 pour FTP. Il faudrait donc qu'il y ait des conventions de ce genre pour
que les clients puissent atteindre ces services.
Ainsi, lorsque l'on écrit
http://192.168.50.45, on ne
spécifie pas de port; sous-entendu, il s'agit du port 80 parce que l'on
invoque un service HTTP. Il serait possible d'écrire:
http://192.168.50.45:80. Ici, on spécifie le port. Certaines protections
triviales consistent justement à forcer un service à ne pas
employer le port standard. Un administrateur pourrait décider de mettre
son serveur HTTP à l'écoute du port 88. Dans ce cas, si
l'utilisateur n'est pas au courant de cette particularité, il ne pourra
pas accéder à ce serveur.
Fig. n *11 : l'écoute des ports entre serveur et client
d'autre que les réponses à ses questions. Il
faut donc, lorsqu'il envoie sa requête, qu'il spécifie sur quel
port il va écouter la réponse, de manière à ce que
le serveur puisse construire un socket efficace pour ladite réponse.
Vous êtes-vous demandé par quel miracle, si vous
ouvrez deux fois votre navigateur pour afficher deux pages différentes
sur le même serveur, les informations ne se mélangent pas ?
C'est parce que les deux sessions du navigateur indiquent des
ports de réponse différents, C'est le NOS du client qui choisit
les ports de réponse en fonction de ceux qui sont disponibles sur la
machine.
Fig. n * 12 :L'écoute des ports entre
serveur et client
III.5.1. Notion de port d'écoute
Lorsqu'un port est ouvert à l'écoute sur un
service serveur, c'est une porte ouverte par laquelle un intrus peut entrer.
Correspondant à la couche session du modèle OSI, la notion de
port logiciel permet, sur un ordinateur donné, de distinguer
différents interlocuteurs.
Ces interlocuteurs sont des programmes informatiques qui,
selon les cas, écoutent ou émettent des informations sur ces
ports. Un port est distingué par son numéro.
III.5.2. Adresse, port et socket
De nombreux programmes TCP/IP peuvent être
exécutés simultanément sur Internet (vous pouvez par
exemple ouvrir plusieurs navigateurs simultanément ou bien naviguer sur
des pages HTML tout en téléchargeant un fichier par FTP). Chacun
de ces programmes travaille avec un protocole, toutefois l'ordinateur doit
pouvoir distinguer les différentes sources de données.
Ainsi, pour faciliter ce processus, chacune de ces
applications se voit attribuer une adresse unique sur la machine, codée
sur 16 bits: un port ( la combinaison adresse IP +
port est alors une adresse unique au monde, elle est appelée socket
).
L'adresse IP sert donc à identifier de façon
unique un ordinateur sur le réseau tandis que le numéro de port
indique l'application à laquelle les données sont
destinées. De cette manière, lorsque l'ordinateur reçoit
des informations destinées à un port, les données sont
envoyées vers l'application correspondante. S'il s'agit d'une
requête à destination de l'application, l'application est
appelée application serveur. S'il s'agit d'une
réponse, on parle alors d'application cliente.
Par exemple, votre navigateur peut envoyer un message à un
serveur HTTP (un serveur Web):
fig13.Exemple transmission par port
III.5.3. La fonction de multiplexage
Le processus qui consiste à pouvoir faire transiter sur
une connexion des informations provenant de diverses applications s'appelle le
multiplexage. De la même façon le fait d'arriver à mettre
en parallèle (donc répartir sur les diverses applications) le
flux de données s'appelle le démultiplexage.
Fig. n* 14 : La fonction de multiplexage entre 2
machines
Ces opérations sont réalisées grâce
au port, c'est-à-dire un numéro associé à un type
d'application, qui, combiné à une adresse IP, permet de
déterminer de façon unique une application qui tourne sur une
machine donnée.
III.5.4. Liste des ports TCP et UDP
Il existe des milliers de ports (ceux-ci sont codés sur
16 bits, il y a donc 65536 possibilités avec la formule 216 =
65536, c'est pourquoi une assignation standard a été mise au
point par l'IANA (Internet Assigned Numbers
Authority), afin d'aider à la configuration des
réseaux.
Les numéros de port Tcp et Udp sont codé sur 16
bits délimitant ainsi leurs valeurs entre 0 et 65535. Les ports connus
ont la particularité d'être assignés par l'IANA.
La liste est divisée en trois parties nommées :
- Les port connues, compris entre 0 et 1023
- Les ports enregistrés, compris entre 1024 et 49151 -
Les ports dynamique ou privés, compris entre 49152 et 65535.
Sur un ordinateur, un certain nombre de services
réseaux tournent. La plupart du temps, chaque service utilise un ou deux
ports et s'occupe d'une tâche. On trouvera souvent Apache derrière
le port 80 par exemple. Les numéros de ports vont de 1 à 65535,
le port zéro étant réservé.
La liste des ports ci-dessous n'est donnée qu'à
titre indicatif. Il est tout à fait possible de lancer un serveur sur un
autre port (ex: Apache sur port 8080, ssh sur port 23, etc.)
Ainsi, un serveur (un ordinateur que l'on contacte et qui
propose des services tels que FTP, Tel net, ...) possède des
numéros de port fixes auxquels l'administrateur réseau a
associé des services. Ainsi, les ports d'un serveur sont
généralement compris entre 0 et 1023 (fourchette de valeurs
associées à des services connus).
Du côté du client, le port est choisi
aléatoirement parmi ceux disponibles par le système
d'exploitation. Ainsi, les ports du client ne seront jamais compris entre 0 et
1023 car cet intervalle de valeurs représente les ports
connus.
III.5.5. Quelques numéros de port
Numéros de port
|
Protocoles utilisés
|
Services
|
|
|
|
13
|
TCP et UDP
|
Date et heure
|
21
|
TCP
|
FTP
|
22
|
TCP et UDP
|
SSH
|
23
|
TCP
|
TELNET [on trouve parfois des modems routeurs en TELNET
|
25
|
TCP
|
SMTP, envoie d'e-mail
|
53
|
TCP et UDP
|
DNS
|
67
|
TCP et UDP
|
DHCP [gestion automatique des adresses IP d'un réseau
|
80
|
TCP et UDP
|
HTTP
|
110
|
TCP et UDP
|
POP3 [lecture des courriers]
|
119
|
TCP
|
NNTP, Lecture de news groupes
|
123
|
TCP et UDP
|
NTP Network time Protocol pour la synchronisation de l'heur
|
Tableau n * 3 : Listant quelques numéros des ports TCP et
UDP
III.6. Les protocoles normalisés orientés
connexion et non orientés connexion
Relativement aux protocoles IP de la couche réseau, le
protocole TCP / IP de la couche transport ont un rôle de fiabilisation de
communication entre deux extrémités. Avec la couche transport, on
aborde le domaine de communication de bout en bout indépendante de
l'état du sous réseau.
Les paquets peuvent arriver à destination par des
chemins différents et dans le désordre. Même si
l'appellation courante la modélisation n'a retenu que TCP comme
protocole de transport, il existe deux protocoles distincts suivant le type de
réseau utilisé. Le protocole TCP fonctionne en mode
connecté et assure un service fiable tan disque le protocole UDP assure
un service de data gramme en mode non connecté sans aucune garantie de
fiabilité.
III.6.1. Le protocole TCP
Le TCP est premier protocole de transport
développé pour l'internent. Les premières
spécifications ARPANET prévoyaient un transport de l'information
types fiable indépendant du type et de l'état du
réseau.
v' TCP un protocole de bout en bout : Les processus pairs des
couches transport de deux équipements connectés dialoguent l'un
avec l'autre sans rien connaître du réseau. C'est au niveau IP que
l'on se préoccupe de la fragmentation et du réassemblage des
paquets ;
1' Protocole orienté connexion.
La fiabilité du transport TCP dépend de
l'établissement d'une connexion
entre les processus pairs qui veulent dialoguer.
L'établissement d'une connexion est réalisé par
l'échange d'informations telles que le numéro de port, le
numéro de séquence et la taille de fenêtre.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Port Source | Port Destination |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Numéro de Séquence |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Numéro d'Acquittement |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Réservé |R|C|S|S|Y|I| Fenêtre |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Pointeur Urgent |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Remplissage |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Données |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Fig. n* 15 : Entête TCP
Les champs les plus importants ici sont le port source, et
destination, qui disent à quel service le paquet est destiné
(d'où il vient, dans le cas de paquets de réponses). Les
numéros de séquence et d'acquittement sont utilisés pour
garder
les paquets dans l'ordre, et pour dire à l'autre bout
quels paquets ont été
reçus.
Les labels ACK, SYN, RST et FIN sont des bits utilisés
pour négocier l'ouverture (SYN), l'acquittement (ACK) et la fermeture
(RST ou FIN) des connexions.
À la suite de cet en-tête vient le message
réel que l'application a envoyé (le corps du paquet). La taille
d'un paquet IP normal est au maximum de 1500 octets. Ce qui veut dire que la
place maximum réservée aux données est 1460 octets (20
octets pour l'en-tête IP, et 20 autres pour l'en-tête TCP). Soit,
plus de 97%.
III.6.2. Fonctionnement du TCP
D'après le format du message TCP, on peut
résumer le fonctionnement de la couche transport de la
modélisation TCP/IP en quatre points. Le protocole TCP de la couche
transport :
> segmente les données des applications,
> établit une connexion de bout en bout,
> émet les segments d'un hôte à
l'autre,
> assure la fiabilité du transport des segments entre
les hôtes connectés. III.6.2.1. La segmentation des
données
La fonction de transport est effectuée segment par
segment de façon autonome. Plusieurs applications peuvent émettre
leurs segments successivement. Ces segments peuvent avoir un ou plusieurs
destinataires.
III.6.2.2. l'établissement de la connexion
Etant donné que ce processus de communication, qui se
fait grâce à une émission de données et d'un
accusé de réception, est basé sur un numéro d'ordre
(appelé généralement numéro de
séquence), il faut que les machines émettrices et
réceptrices (client et serveur) connaîssent le numéro
d'ordre initial de l'autre machine.
L'établissement de la connexion entre deux applications se
fait souvent selon le schéma suivant :
> Les ports TCP doivent être ouverts
> L'application sur le serveur est passive,
c'est-à-dire que l'application est à l'écoute, en attente
d'une connexion
> L'application sur le client fait une requête de
connexion sur le serveur dont l'application est en ouverture passive.
L'application du client est dite "en ouverture active"
Les deux machines doivent donc synchroniser leurs
séquences grâce à un mécanisme communément
appelé three ways handshake (poignée de main en trois temps), que
l'on retrouve aussi lors de la clôture de session.
Ce dialogue permet d'initier la communication, il se
déroule en trois temps, comme sa dénomination l'indique :
> Dans un premier temps la machine émettrice (le
client) transmet un segment dont le drapeau SYN est à 1 (pour signaler
qu'il s'agit d'un segment de synchronisation), avec un numéro d'ordre N,
que l'on appelle numéro d'ordre initial du client
> Dans un second temps la machine réceptrice (le
serveur) reçoit le segment initial provenant du client, puis lui envoie
un accusé de réception, c'est-à-dire un segment dont le
drapeau ACK est à 1 et le drapeau SYN est à 1 (car il s'agit
là encore d'une synchronisation). Ce segment contient le numéro
d'ordre de cette machine (du serveur) qui est le numéro d'ordre initial
du client. Le champ le plus important de ce segment est le champ accusé
de réception qui contient le numéro d'ordre initial du client,
incrémenté de 1
> Enfin, le client transmet au serveur un accusé de
réception, c'est-à-dire un segment dont le drapeau ACK est
à 1, dont le drapeau SYN est à zéro (il ne s'agit plus
d'un segment de synchronisation). Son numéro d'ordre est
incrémenté et le numéro d'accusé de
réception représente le numéro d'ordre initial du serveur
incrémenté de 1
Fig. N * 16 : Etablissement de la connexion TCP
III.6.2.3. Contrôle de flux
Un contrôle de flux est nécessaire pour
prévenir la congestion du
transfert :
> Un serveur performant peut générer plus de
trafic que le réseau ne peut en supporter.
> Un serveur peut être sollicité par un nombre
très élevé de clients.
III.6.2.4. Fenêtrage
Un dispositif de fenêtrage de l'acquittement a
été implanté pour préserver la bande passante. Si
l'émetteur devait attendre un acquittement après
l'émission de chaque segment, la qualité de la transmission
serait dégradée.
III.6.3. Le protocole UDP
Le protocole UDP est apparu avec le développement des
réseaux locaux dont la fiabilité permet de s'affranchir des
fonctions de contrôle. C'est un protocole minimum sans garantie de
délivrance des messages et sans séquence ment.
III.6.3.1 Application
Le User Data Gram Protocol (UDP, en français protocole
de data gramme utilisateur) est un des principaux protocoles de
télécommunication utilisés par Internet. Il fait partie de
la couche transport de la pile de protocole TCP/IP : dans l'adaptation
approximative de cette dernière au modèle OSI
Le rôle de ce protocole est de permettre la transmission
de données de manière très simple entre deux
entités, chacune étant définie par une adresse IP et un
numéro de port. Contrairement au protocole TCP, il fonctionne en mode
non connecté : il n'existe pas de procédure de connexion
préalable à l'envoi des données, et il n'y a pas de
garantie de bonne livraison d'un data gramme à sa destination.
L'ordre d'arrivée des data grammes peut différer
de l'ordre d'envoi. Il est également possible que des data grammes
soient dupliqués. Les fonctions assurant la retransmission et le
ré ordonnancement doivent être assurées par les protocoles
de la couche supérieure si elles sont souhaitées.
L'intégrité des données est
assurée par une somme de contrôle, l'utilisation de celle-ci est
cependant facultative en IPv4 mais obligatoire avec IPv6.
Si un hôte n'a pas calculé la somme de
contrôle d'un paquet émis, la valeur de celle-ci est fixée
à zéro. La somme de contrôle inclut un pseudo entête
qui inclut les adresses IP source et destination.
III.6.3.2 Structure d'un data gramme UDP
Le paquet UDP est encapsulé dans un paquet IP. Il comporte
un entête suivi des données proprement dites à
transporter.
Il contient les quatre champs suivants :
> Port Source : il indique depuis quel port le paquet a
été envoyé. ;
> Port de Destination : il indique à quel port le
paquet doit être envoyé.
> Longueur : il indique la longueur totale du segment UDP
(en-tête et données). La longueur minimale est donc de 8 octets
(taille de l'en-tête).
> Somme de contrôle : celle-ci permet de s'assurer de
l'intégrité du paquet reçu quand elle est
différente de zéro. Elle est calculée sur l'ensemble de
l'en-tête UDP et des données, mais aussi sur un pseudo
en-tête (extrait de l'en-tête
IP. la présence de ce pseudo
en-tête, interaction entre les deux couches IP et UDP, est une des
raisons qui font que le modèle TCP/IP ne s'applique pas parfaitement au
modèle OSI
III.6.3.3. Utilisation
Il est utilisé quand il est nécessaire soit de
transmettre des données très rapidement, et où la perte
d'une partie de ces données n'a pas grande importance, soit de
transmettre des petites quantités de données, là où
la connexion « 3-WAY » TCP serait inutilement
coûteuse en ressources.
Par exemple, dans le cas de la transmission de la voix sur IP, la
perte occasionnelle d'un paquet est tolérable dans la mesure où
il existe des mécanismes de substitution des données manquantes,
par contre la rapidité de transmission est un critère primordial
pour la qualité d'écoute.
Exemples d'utilisation :
les protocoles DNS, TFTP, le streaming
III.7. Adressage
III.7.1. Adressage IP (Logique)
L'adresse IP se compose :
> d'un numéro de réseau
> d'un numéro d'identification de la machine
En général, elle est codée sur quatre
octets. On la représente par quatre chiffres de 0 à 255
séparés par un point. Il ne peut y avoir qu'une seule adresse
pour chaque machine du réseau. On répertorie les adresses en
différentes "classes". Une classe permet de définir le nombre de
machines dans un réseau. Il existe plusieurs classes, voici les plus
importantes :
> Dans la "Classe A", l'identifiant réseau est
compris entre 1 et 126 avec un masque de sous réseau 255.0.0.0. Cela
signifie que le premier octet est réservé pour le numéro
du réseau et les trois autres octets définissent le numéro
des machines. Il s'agit dans ce cas d'un réseau comportant
énormément d'ordinateurs allant de
1.0.0.0 à 126.0.0.0. lorsque les derniers octets sont des
zéros, cela indique qu'il s'agit d'un réseau et non d'un
ordinateur.
Dans cette classe A7 nous aurons 27 =
réseaux dans le monde par ce que le réseau 0.0.0.0 n'existe pas
(8bits - 1) = 7 bits 27 128. D'ou le nombre de machine sera (3X
octets) = 3 X 8 = 24 bits, alors pour calculer le nombre total de machine
(224 - 2) = 16777214 machines. Parce que 0.0.0.0 n'existe pas et la
machine 1.1.1.1 c'est l'adresse de diffusion.
> Dans la "Classe B", l'identifiant réseau est
compris entre 128 et 191 avec un masque de sous réseau 255.255.0.0. Ici,
deux octets sont réservés pour le numéro du réseau
et deux autres pour les numéros de machine. Ainsi, le nombre disponible
de réseau pour la cette classe est déterminé par
27.27 = 214 = 16384 des réseaux disponibles allant
de 128.0.0.0 à 191.255.0.0 comme machines contenues. Cela étant,
nous trouvons le nombre de machines disponibles par 216 _ 2 =
65534.
> Dans la "Classe C", l'identifiant réseau est
compris entre 192 et 254 avec un masque de sous réseau 255.255.255.0.
Dans ce cas, trois octets définissent le numéro du réseau
et un seul octet est réservé aux ordinateurs. Cette classe
autorise environ deux millions de réseaux et 254 ôtes par
réseau.
> Les adresses de Classe D sont réservées aux
groupes de diffusion
multipoint les adresses de classe D valent 224.0.0.0 à
239.255.255.255. un groupe de diffusion peut contenir un, plusieurs ou aucun
ôte.
> Les adresses de classe E sont expérimentales. La
classe E n'est pas destinée à un emploi généralise
car elle est réservée à une future utilisation. Ainsi les
adresses vont de 240.0.0.0 à 255.255.255.255 mais par conséquent
ne sont pas utilisées
III.7.2. Adresse MAC (Physique)
Chaque machine connectée au réseau est munie
d'un numéro de 6 octets c'est à dire 6 X 8 = 48 bits (en mode
alphanumérique). Ce numéro identifie de façon unique
à travers le monde une machine à partir de la fabrication de la
carte réseau et est appelée adresse physique ou MAC (Adresse
matérielle ou Ethernet).
.
Chapitre 4. REALISATION D'UN UTILITAIRE D'ANALYSE DE
TRAFIC D'UNE INTERFACE RESEAU
IV.1. Introduction
Il ne fait désormais plus aucun doute que
l'informatique est la révolution la plus importante et la plus innovante
qui a marqué la vie de l'humanité moderne. En effet, les
logiciels informatiques proposent maintenant des solutions à tous les
problèmes de la vie, aussi bien dans des domaines professionnels que
pour des applications personnelles. Et leurs méthodes de conception et
de développement ont vu l'avènement d'autant de technologies qui
facilitent leur mise en place et leurs donnent des possibilités et des
fonctionnalités de plus en plus étendues1. Aucun
domaine n'est resté étranger à cette stratégie qui
offre tant des services pour les entreprises que les particuliers.
Mais au-delà de l'utilisation individuelle de
l'informatique, sur tout la mise en commun des ordinateurs peut être vu
comme un ensemble de ressources mises en place pour offrir un ensemble de
services.
C'est l'évolution des services et des trafics qui en
découlent qui a piloté, dans les dernières années,
l'évolution technologique permettant d'augmenter la capacité et
les fonctionnalités des ressources des réseaux.
Bien que la croissance d'une entreprise soit
généralement souhaitée, elle génère un
certain nombre des contraintes supplémentaires pouvant réduire
les performances d'un réseau : augmentation rapide du nombre des
utilisateurs et des clients, volume accru du trafic généré
par chaque client, applications toujours plus complexes et fichiers plus
volumineux.
Tous ces facteurs peuvent contribuer à l'augmentation
du trafic d'un réseau et, par conséquent, à en
altérer les performances. C'est dans ce cadre d'idées que
s'inscrit notre réalisation.
IV.2. Analyse conceptuelle
L'analyse conceptuelle débouche bien entendu sur la mise
en oeuvre technique accompagnée de la réalisation du support
visuel.
IV.2.1. Analyse préalable
1. L'analyse de l'existant
Nous savons qu'il existe plusieurs utilitaires d'analyse et
contrôle du trafic réseau tels que :
> NMAP 11 : Conçu pour qu'il puisse rapidement
scanner de grands réseaux mais fonctionne mais fonctionne aussi pour une
cible unique. NMAP innove en utilisant des paquets IP bruts (raw paquet) pour
déterminer quels sont les ôtes actifs sur le réseau, quels
services (y compris le nom de l'application et la version). souvent
utilisé pour les audites de sécurités mais des nombreux
gestionnaires de système et réseau l'apprécient pour des
taches de routine
comme les inventaires de réseau. La gestion de mise
à jour planifiée ou la surveillance des ôtes et services
actifs.
> ComView : est destiné aux administrateurs de
réseaux locaux, aux professionnels responsables de la
sécurité et aux programmeurs réseau. Plus
généralement, il intéresse quiconque a besoin d'une image
complète du trafic transitant par un PC ou un segment de réseau
local. ComView collecte les informations relatives aux données circulant
sur un réseau local. Il les décode et les analyse. Il donne la
liste des connexions, adaptateurs pour lignes commutées compris. Il
surveille les statistiques IP vitales et examine chacun des paquets transmis.
Ces derniers sont décodés jusqu'à leur couche la plus
basse avec analyse complète des principaux protocoles IP : TCP, UDP et
ICMP. Un accès complet aux données brutes est également
possible. Les paquets saisis peuvent être sauvegardés dans des
fichiers en vue d'une future analyse. Un système de filtrage très
souple permet d'ignorer les paquets qui ne sont pas nécessaires. Les
règles de configuration sont, si besoin est, sauvegardées et
rechargées ultérieurement
IV.2.2. Cahier des charges
Un cahier des charges est un document contractuel
décrivant ce qui est attendu du maître d'oeuvre par le
maître d'ouvrage. Il s'agit donc d'un document décrivant de la
façon la plus précise possible avec un vocabulaire simple, des
besoins aux quels le maître d'oeuvre doit répondre dans la mesure
où seul le maître d'oeuvre est réellement compétent
pour proposer une solution technique appropriée.
Le cahier des charges doit préférentiellement
faire apparaître le besoin de manière fonctionnelle,
indépendamment de toute solution technique, sauf à
préciser l'environnement technique dans le quel la solution doit
s'insérer.
IV.2.2.1. Cahier des charges fonctionnel
Un cahier des charges fonctionnelles est un document par le
quel une entité à l'origine de la demande ou un utilisateur
exprime son besoin en terme de fonctions, des services et de contraintes.
Nous allons l'élaborer en nous considérant nous
même comme étant la maîtrise d'ouvrage (demandeur ou
utilisateur) et en même temps, la maîtrise d'oeuvre (personne ou
une entité qui réalise le projet afin de répondre à
la demande).
Ainsi, il nous nous est donc nécessaire
d'énumérer un certain nombre des besoins aux quels l'application
doit répondre :
> L'application devra vous informer de toutes les
activités sur le réseau en temps réel;
> L'application devra déterminer l'interface ayant
occupé la bande passante pour un temps bien déterminé en
spécifiant son adresse IP;
> L'application devra préciser le nombre de paquets
entrant et sortants issus d'une interface donnée.
IV.2.2.2. Cahier des charges opérationnel
Le cahier des charges opérationnel est un document qui
prend naissance à partir dune expression de besoin. Il nous permet donc
de présenter les travaux à réaliser, d'estimer les
coüts de charges et de planifie.
A. Faisabilité
L'objectif de ce projet est de réaliser un utilitaire
d'analyse de trafic dune interface réseau. Notre public concerne
étant les administrateurs réseaux, les entreprises, voir
même les apprenants trouveront leur satisfaction en utilisant cette
application. Pour y parvenir, nous aurons :
> Premièrement à développer un logiciel
dit utilitaire d'analyse de trafic dune interface réseau qui sera en
fait installe sur la machine serveur,
> Deuxièmement être en possession de deux ou
plusieurs machines
connectées en réseau pouvant effectuer des
échanges de données.
> Troisièmement à définir le protocole
entre le client et serveur qui doivent
communiquer. Une planification est nécessaire pour
aboutir dans un délai bien
définit à la réalisation de ce projet.
B. Définition de la solution
La définition de notre solution sera orientée
par les fonctionnalités décrites dans le cahier des charges
fonctionnel. En fait, on identifiera pour chacune d'elle un responsable
fonctionnel garant de la définition du contenu voulu. Comme c'est dans
le cadre de notre travail de fin études, nous assurerons nous même
toutes les responsabilités. Nous allons en suite associer à
chaque fonctionnalité une durée, un délai et une charge en
heure par jour. Dans notre contexte, le projet sera réalise dans un
délai d'une année académique.
IV.2.2.3. Répartition des heures
Activité : Définition et organisation du projet
|
Taches
|
Nombre d'heure
|
Compréhension du contexte et analyse des besoins
|
50
|
Définition des cahiers des charges fonctionnels
|
20
|
Sous total
|
70
|
Activité : Recueil de données
|
Conception de l'application
|
300
|
Sous total
|
300
|
Activité : Traitement de données et analyse
|
Essai du logiciel
|
50
|
Sous total
|
50
|
Activité : Formalisation des résultats
|
Finalisation de l'opération
|
35
|
Rédaction du manuel d'utilisation
|
35
|
Sous total
|
70
|
Total général : 490
|
Tableau n* 4 : Répartition des heures
Le projet finalement sera étalé sur une
période allant du 01/01/2009 au 02/10/2010 avec un délai de 490
heures de charge. Ainsi dans le contexte de ce travail, nous jouerons les
rôles suivants :
> Responsable du projet : nous allons coordonner le projet
et assurer la responsabilité de la réalisation du produit dans le
délai attribué avec la qualité requise et le budget
alloué ;
> Chef du projet opérationnel : nous aurons en charge
la maîtrise oeuvre technique et responsable de tous les livrables
techniques.
> Concepteur / designer : nous serons nous-mêmes
concepteur de l'architecture interactionnelle en respectant les indications
graphiques, ergonomiques et structurelle.
> Ergonome : nous nous chargerons aussi de récolter
toutes les informations sur le comportement possible sur le futur utilisateur
en travaillant avec le designer.
> Directeur artistique : nous jouerons le rôle du garant
de la conception de la charge graphique avec le designer.
> Infographiste : en suivant les consignes du directeur
artistique, nous allons réaliser les éléments graphiques
avec les outils pour les quels, nous avons la maîtrise
> Ingénieur / développeur : en fonction de
besoins déjà identifiés, nous allons
jouer le rôle de l'équipe de développement
(découpage et intégration)
> Ingénieur réseau : nous aurons à
administrer le réseau sur le quel notre
application va tourner (configuration des adresses IP, DNS,
DHCP)
> Charger d'étude : nous attribuerons cette
tâche au directeur de ce travail car il
nous aide à la conception et à l'évaluation
de l'application.
IV.2.2.4. Estimation budgétaire
Il est fortement recommandé de présenter
l'estimation budgétaire sous différentes formes afin de donner
une visibilité globale sur les coûts engendrés. Vu
l'envergure de notre projet, une estimation budgétaire des charges par
travaux et activités que nous aurons à effectuer.
Fonctionnalité
|
Définition et organisation
|
Total heures et coûts
|
Activités : compréhension du contexte et analyse
des besoins, définition des cahiers des charges fonctionnels
|
Charge
|
70
|
70
|
Coût en USD / Heure
|
0.625
|
43.75$
|
Fonctionnalité
|
Recueil de données
|
Total heure et coûts
|
Activité : conception de l'application
|
Charge
|
300
|
300
|
Coût en USD/Heure
|
1.5
|
450$
|
Fonctionnalité
|
Traitement de données et analyse
|
Total heures et coûts
|
Activité : essai du logiciel
|
Charge
|
50
|
50
|
Coût en USD/Heure
|
1.5
|
75$
|
Fonctionnalité
|
Formation des résultats
|
|
Activité : finalisation de l'application
et rédaction du manuel d'utilisation
|
Charge
|
70
|
70
|
Coût en USD/Heure
|
0.625
|
43.75$
|
Total coûts en USD 612.5$
|
Imprévus
|
200
|
|
Total général du projet : 812.5
USD
|
Tableau n * 5: Estimation budgétaire
Le projet en général, nécessite un budget
de 812.5 USD avec majoration pour ce qui concerne le test et
validation. Dans toutes ces activités sont inclus les frais suivants les
transports, communication, abonnement aux bibliothèques et consultations
sur Internet etc....
IV.3. Développement
IV.3.1. Environnement de développement
Nous avons programmé l'utilitaire d'analyse de trafic
d'une interface réseau en Visual Basic 6. Le choix de cet environnement
de développement est dicté par sa simplicité d'usage et
son intuitivité. L'ordinateur de développement est tout
ordinateur pouvant exécuter Visual Studio 6. Dans notre cas nous avons
utilisé un laptop de processeur Centrino Duo d'Intel 2 Ghz avec une
mémoire centrale de 4Go.
IV.3.2. Structure de l'application
L'application comprend :
1. une interface utilisateur où l'administrateur de
réseau, qui cherche à écouter le trafic sur une interface
réseau particulière introduit l'adresse IPv4 de cette interface
réseau : le code associé à l'interface utilisateur est
dans le module de feuille frmTraficReseau.frm ;
2. des modules standard : qui contiennent des constantes, des
procédures et des fonctions pouvant être utilisées dans
l'ensemble de l'application. Ces modules standard recourent à certaines
fonctions, procédures et constantes définies dans des
bibliothèques de liaison dynamique.
IV.3.3. Déroulement de l'exécution
L'administrateur réseau introduit l'adresse IP dont il
veut contrôler le trafic, puis clique sur le bouton « Activer
l'écoute » pour activer l'écoute. Il peut désactiver
l'écouter en cliquant sur le bouton « Désactiver
l'écoute ».
Fig. 17 : listview
S'il y a du trafic réseau, il peut être
visualisé dans une listview de l'onglet correspondant au protocole pour
lequel l'écoute est réalisée.
Exemple de trafic concernant le protocole TCP
Fig. 18 : Exemple de trafic concernant le protocole
TCP
Exemple de trafic concernant le protocole UDP
Fig. 19: Exemple de trafic concernant le protocole UDP
IV.3.4. Codes sources
Module de feuille frmTraficReseau.frm
' Ce code sniffe les paquets puis affiche les trames
TCP/UDP/ICMP plus un routeur
'##################################################################
#######################
Public xSock As Long
Public Sub CreateSocketSniffe() ' socket en mode écoute
pour le sniffeur
Dim Sock As Long, xSockAddr As SOCK_ADDR, wSada As WSA_DATA,
E_Buffer As Long, S_Buffer As Long, LenBytes As Long
WSAStartup &H101, wSada
With xSockAddr
.sin_family = AF_INET
.sin_port = htons(4200)
.sin_addr.S_addr = inet_addr(txtip.Text)
End With
xSock = Sock
Sock = socket(AF_INET, SOCK_RAW, IPPROTO_IP)
If Sock = 0 Then MsgBox "erreur création sock": Exit
Sub Else xSock = Sock If bind(Sock, xSockAddr, LenB(xSockAddr)) <> 0 Then
MsgBox "erreur bind": FermerSocket (Sock)
E_Buffer = 1
If WSAIoctl(Sock, SIO_RCVALL, E_Buffer, Len(E_Buffer), S_Buffer,
Len(S_Buffer), LenBytes, ByVal 0, ByVal 0) <> 0 Then MsgBox "WSAIoctl pas
bon."
If WSAAsyncSelect(Sock, frmTraficReseau.hwnd, WM_USER + 1,
FD_READ) < 0 Then FermerSocket Sock: MsgBox "Erreur de socket": Exit Sub
End Sub
Private Sub Command1_Click() 'active l'écoute
Command1.Enabled = False: Call SubClass(hwnd, True): Call
CreateSocketSniffe End Sub
Private Sub Command2_Click() ' active ou désactive le
routeur
Routeur = Not Routeur
If Command2.Caption = "routeur on" Then Command2.Caption =
"routeur off" Else Command2.Caption = "routeur on"
End Sub
Private Sub Command3_Click() ' désactive
l'écoute
Command1.Enabled = True: Call SubClass(hwnd, False): FermerSocket
(xSock) End Sub
Private Sub Form_Load() ' chargement de 3 Treeview
ChargeTree 6, Frame1(0): ChargeTree 17, Frame1(1)
ChargeTree 1, Frame1(2): ChargeTree 2, Frame1(3)
Tree(2).Height = Frame1(3).Height
' partie qui donne l'ip local
Dim Buffer As INTERFACEINFO, StartupInfo As WSA_DATA, Sock As
Long
WSAStartup &H202, StartupInfo
Sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
WSAIoctl Sock, SIO_GET_INTERFACE_LIST, ByVal 0, ByVal 0, Buffer,
1024, 0, ByVal 0, ByVal 0
txtip.Text =
FonctionIp(Buffer.Info_Inter(0).Info_Addresse.AddresseLocal.sin_addr.S_addr)
FermerSocket (Sock): Text1.Text = txtip.Text: txtRouteur(0).Text = txtip.Text:
txtRouteur(1).Text = txtip.Text
End Sub
Sub ChargeTree(xIndex As Integer, xFrame As Frame) 'chargement
d'une treeview Load Tree(xIndex)
Set Tree(xIndex).Container = xFrame
Tree(xIndex).Move 0, 50
Tree(xIndex).Visible = True
Tree(xIndex).ImageList = ImgLst
End Sub
Private Sub Form_Unload(Cancel As Integer): Call SubClass(hwnd,
False): End Sub Private Sub mnData_Click() ' affiche les données
Dim StrData As String
On Error Resume Next ' on passe l' erreur de lecture des
données quand treeview
est vide With Form2
Select Case SSTab1.Tab
Case 0: StrData = Tree(6).SelectedItem.Tag: .txt.Tag =
Tree(6).Nodes.Item(Tree(6).SelectedItem.Index + 1).Tag
Case 1: StrData = Tree(17).SelectedItem.Tag: .txt.Tag =
Tree(17).Nodes.Item(Tree(17).SelectedItem.Index + 1).Tag
Case 2: StrData = Tree(1).SelectedItem.Tag: .txt.Tag =
Tree(1).Nodes.Item(Tree(1).SelectedItem.Index + 1).Tag
Case 3: StrData = Tree(2).SelectedItem.Tag: .txt.Tag =
Tree(2).Nodes.Item(Tree(2).SelectedItem.Index + 1).Tag
End Select
.txt = StrData: .ZOrder 0: .Visible = True
End With End Sub Private Sub mnkill_Click() ' décharge
et recharge une treeview, plus rapide que
.Clear
Select Case SSTab1.Tab
Case 0: Unload Tree(6): ChargeTree 6, Frame1(0):
Label2(0).Caption = "TCP : 0": Label2(0).Tag = 0 ' TCP
Case 1: Unload Tree(17): ChargeTree 17, Frame1(1):
Label2(1).Caption = "UDP : 0": Label2(1).Tag = 0 ' UDP
Case 2: Unload Tree(1): ChargeTree 1, Frame1(2):
Label2(2).Caption = "ICMP :
0": Label2(2).Tag = 0 ' ICMP
Case 3: Unload Tree(2): ChargeTree 2, Frame1(3): Tree(2).Height =
Frame1(3).Height:: Label2(4).Caption = "ROUTE : 0": Label2(4).Tag = 0 ' ROUTEUR
End Select
End Sub
Private Sub Tree_MouseDown(Index As Integer, Button As Integer,
Shift As Integer, x As Single, y As Single)
If Button = 2 Then PopupMenu gg ' menu du treeview
End Sub
Modules standard
Les différents modules standard utilisent des
fonctions, procédures et constantes diverses codées par d'autres
développeurs et définies dans des bibliothèques de
liaisons dynamiques (dll)
1. Module Constantes.bas
Public Const AF_ INET = 2
Public Const IPPROTO_ IP = 0
Public Const FD_ READ = &H1
Public Const SOCK_RAW = 3
Public Const SIO_ RCVALL As Long = &H98000001
Public Const WSADESCRIPTION_ LEN = 256, WSASYS_STATUS_LEN = 128
Public Const WM_USER = &H400, GWL_WNDPROC = (-4)
Public Const SOCK_DGRAM = 2 Public Const IPPROTO_ RAW = 255
Public Const IP_ HDRINCL = 2 Public Const SOCK_STREAM = 1
2. Module FonctionsDiverses.bas
Private Const OFFSET_4 = 4294967296#, MAXINT_4 = 2147483647,
OFFSET_2 = 65536, MAXINT_2 = 32767
Public Function UnsignedToLong(Value As Double) As Long
If Value < 0 Or Value >= OFFSET_4 Then Error 6 '
Overflow
UnsignedToLong = Value - IIf(Value <= MAXINT_4, 0,
OFFSET_4)
End Function
Public Function LongToUnsigned(Value As Long) As Double
LongToUnsigned = Value + IIf(Value < 0, OFFSET_4, 0)
End Function
Public Function UnsignedToInteger(Value As Long) As Integer
If Value < 0 Or Value >= OFFSET_2 Then Error 6 '
Overflow
UnsignedToInteger = Value - IIf(Value <= MAXINT_2, 0,
OFFSET_2)
End Function
Public Function IntegerToUnsigned(Value As Integer) As Long
IntegerToUnsigned = Value + IIf(Value < 0, OFFSET_2, 0)
End Function
Public Function LoWord(lngValue As Long) As Long
LoWord = lngValue And &HFFFF
End Function
Public Function HiNibble(bytValue As Byte) As Byte
HiNibble = (bytValue And &HF0) \ 16
End Function
Public Function IcmpCodeValeur(xType As Byte, xCode As Byte) As
String
Select Case xType
Case IcmpType.[Destination Unreachable]
If xCode = IcmpCode.[Network Unreachable] Then IcmpCodeValeur =
"Network Unreachable"
If xCode = IcmpCode.[Host Unreachable] Then IcmpCodeValeur =
"Host
Unreachable"
If xCode = IcmpCode.[Protocol Unreachable] Then IcmpCodeValeur
=
"Protocol Unreachable"
If xCode = IcmpCode.[Port Unreachable] Then IcmpCodeValeur =
"Port
Unreachable"
If xCode = IcmpCode.[Fragmentation Needed] Then IcmpCodeValeur
=
"Fragmentation Needed"
Case IcmpType.Redirect
If xCode = IcmpCode.[Redirect Network] Then IcmpCodeValeur =
"Redirect Network"
If xCode = IcmpCode.[Redirect Host] Then IcmpCodeValeur =
"Redirect
Host"
If xCode = IcmpCode.[Redirect TOS Network] Then IcmpCodeValeur =
"Redirect TOS Network"
If xCode = IcmpCode.[Redirect TOS Host] Then IcmpCodeValeur =
"Redirect TOS Host"
Case IcmpType.[Time Exceeded]
If xCode = IcmpCode.[TTL Exceeded In Transit] Then IcmpCodeValeur
= "TTL Exceeded In Transit"
If xCode = IcmpCode.[Reassembly Timeout] Then IcmpCodeValeur =
"Reassembly Timeout"
Case IcmpType.[Parameter Problem]
If xCode = IcmpCode.[Problem With Option] Then IcmpCodeValeur =
"Problem With Option"
Case Else: IcmpCodeValeur = "N/A"
End Select End Function Public Function IcmpTypeValeur(xType
As Byte) As String
Select Case xType
Case IcmpType.[Echo Reply]: IcmpTypeValeur = "Echo Reply"
Case 1, 2, 7: IcmpTypeValeur = "Reserved"
Case IcmpType.[Destination Unreachable]: IcmpTypeValeur =
"Destination Unreachable"
Case IcmpType.[Source Quench]: IcmpTypeValeur = "Source
Quench"
Case IcmpType.Redirect: IcmpTypeValeur = "Redirect"
Case IcmpType.[Alternate Host Address]: IcmpTypeValeur =
"Alternate Host Address"
Case IcmpType.[Echo Request]: IcmpTypeValeur = "Echo Request"
Case IcmpType.[Router Advertisement]: IcmpTypeValeur = "Router
Advertisement"
Case IcmpType.[Router Solicitation]: IcmpTypeValeur = "Router
Solicitation" Case IcmpType.[Time Exceeded]: IcmpTypeValeur = "Time
Exceeded"
Case IcmpType.[Parameter Problem]: IcmpTypeValeur = "Parameter
Problem" Case IcmpType.[TimeStamp Reply]: IcmpTypeValeur = "Timestamp Request"
Case IcmpType.[TimeStamp Request]: IcmpTypeValeur = "Timestamp Reply" Case
IcmpType.[Information Request]: IcmpTypeValeur = "Information Request"
Case IcmpType.[Information Reply]: IcmpTypeValeur = "Information
Reply"
Case IcmpType.[Address Mask Request]: IcmpTypeValeur = "Address
Mask Request"
Case IcmpType.[Address Mask Reply]: IcmpTypeValeur = "Address
Mask Reply"
Case 19: IcmpTypeValeur = "Reserved (security)"
Case 20, 21, 22, 23, 24, 25, 26, 27, 28, 29: IcmpTypeValeur =
"Reserved (robustness experiment)"
Case IcmpType.[IP IX Trace Router]: IcmpTypeValeur = "TP IX
Traceroute" Case IcmpType.[Conversion Error]: IcmpTypeValeur = "Conversion
Error"
Case IcmpType.[Mobile Host Redirect]: IcmpTypeValeur = "Mobile
Host
Redirect"
Case IcmpType.[IPv6 Where Are You]: IcmpTypeValeur = "IPv6 Where
Are
You"
Case IcmpType.[IPv6 Here I Am]: IcmpTypeValeur = "IPv6 I Am
Here"
Case IcmpType.[Mobile Registration Request]: IcmpTypeValeur =
"Mobile Registration Request"
Case IcmpType.[Mobile Registration Reply]: IcmpTypeValeur =
"Mobile Registration Reply"
Case IcmpType.[Domain Name Request]: IcmpTypeValeur = "Domain
Name Request"
Case IcmpType.[Domain Name Reply]: IcmpTypeValeur = "Domain Name
Reply"
Case IcmpType.[SKIP Algorithm Discovery Protocol]: IcmpTypeValeur
= "SKIP Algorithm Discovery_protocol"
Case IcmpType.[IPsec Security Failures]: IcmpTypeValeur = "IPsec
Security Failures"
Case Is > 40: IcmpTypeValeur = "Reserved"
End Select
End Function
3. Module Protocoles.bas
Private Declare Sub CopyMemory Lib "kernel32" Alias
"RtlMoveMemory" (Destination As Any, Source As Any, ByVal length As Long)
Private Declare Function ntohs Lib "ws2_32.dll" (ByVal netshort
As Long) As Integer Public Routeur As Boolean, eIP As EnteteIp, eTCP As
EnteteTcp, eUDP As EnteteUdp, eICMP As EnteteIcmp, ePS As PseudoEntete, zSock
As Long
Public Sub Routes_Paquets(xProto As Byte, Donnee As String)
' on va router un paquet avec une nouvelle ip de destination
On Error Resume Next
'on active ou désactive la prise en charge du protocole
pour le routage
If frmTraficReseau.OptionRouteur(2).Value = 0 Then If xProto = 1
Then xProto = 0 ' icmp
If frmTraficReseau.OptionRouteur(1).Value = 0 Then If xProto = 17
Then xProto = 0 ' udp
If frmTraficReseau.OptionRouteur(0).Value = 0 Then If xProto = 6
Then xProto = 0 ' tcp
' on charge dans notre nouvelle entête eip,l'entete ip
qu'on vient juste de sniffer With eIP ' entête ip
.VerLen = &H45
.id =
xEnteteIp.id
.Offset = xEnteteIp.Offset
.Ttl = xEnteteIp.Ttl
.SourceIp = inet_addr(frmTraficReseau.txtRouteur(0).Text) '
<-- nouvelle ip source
.DestIp = inet_addr(frmTraficReseau.txtRouteur(1).Text) '<--
nouvelle ip destination
.Protocol = xProto
.Tos = xEnteteIp.Tos
.Checksum = 0 ' <--- nouveau checksum à
recalculé
.Checksum = UnsignedToInteger(Check.Checksum(VarPtr(eIP),
LenB(eIP))) End With
If eIP.Protocol = 6 Or eIP.Protocol = 17 Then 'pseudo entete
uniquement pour tcp ou udp
' pseudo entête uniquement pour le calcule du checksum
With ePS
.IPsource = eIP.SourceIp
.IPdestination = eIP.DestIp
.Protocol = eIP.Protocol
.Reserved = 0
End With
End If
Select Case xProto
Case 6 ' = TCP
ePS.Len = ntohs(LenB(eTCP) + UBound(xData)) '<- taille
pseudoEntete
With eTCP
.Ack = xEnteteTcp.Ack
.DataOffset = xEnteteTcp.DataOffset
.Flag = xEnteteTcp.Flag
.PortDesti = xEnteteTcp.PortDesti
.PortSource = xEnteteTcp.PortSource
.Sequence = xEnteteTcp.Sequence
.UrgentPointer = xEnteteTcp.UrgentPointer
.Windows = xEnteteTcp.Windows
.Checksum = 0
.Checksum = UnsignedToInteger(CheckTcp(VarPtr(ePS), LenB(ePS),
VarPtr(eTCP), LenB(eTCP), VarPtr(xData(0)), UBound(xData)))
End With
eIP.TotalLength = ntohs(LenB(eIP) + LenB(eTCP) + UBound(xData))
' taille entête
ip
Case 17 ' = UDP
ePS.Len = ntohs(LenB(eUDP) + UBound(xData))
With eUDP ' on garde les mêmes valeurs du paquet qu'on
à sniffer pour notre nouvelle entête
.SourcePort = xEnteteUdp.SourcePort
.DestPort = xEnteteUdp.DestPort
.udpChecksum = 0
.Len = ePS.Len ' <- nouvelle taille de l'entête udp
End With
'on calcule le checksum pour l'entete udp
eUDP.udpChecksum = UnsignedToInteger(CheckUdp(VarPtr(ePS),
LenB(ePS), VarPtr(eUDP), LenB(eUDP), VarPtr(xData(0)), UBound(xData)))
eIP.TotalLength = ntohs((LenB(eIP) + LenB(eUDP) + UBound(xData)))
' taille entête ip
Case 1 ' = ICMP
With eICMP ' entête icmp , on garde les mêmes
valeurs
.Type = xEnteteIcmp.Type
.Code = xEnteteIcmp.Code
.Identifiant = xEnteteIcmp.Identifiant
.Sequence = xEnteteIcmp.Sequence
.Checksum = xEnteteIcmp.Checksum
End With
eIP.TotalLength = ntohs(LenB(eIP) + LenB(eICMP) + UBound(xData))
' taille entête ip
End Select
Dim xPaquet() As Byte ' on forge notre trame = Entête ip +
datagramme(entête tcp ou icmp ou udp +data)
Select Case xProto
Case 6 'on forge un paquet TCP
ReDim xPaquet(LenB(eIP) + LenB(eTCP) + UBound(xData)) CopyMemory
ByVal VarPtr(xPaquet(0)), ByVal VarPtr(eIP), LenB(eIP) CopyMemory ByVal
VarPtr(xPaquet(LenB(eIP))), ByVal VarPtr(eTCP),
LenB(eTCP)
CopyMemory ByVal VarPtr(xPaquet(LenB(eIP) + LenB(eTCP))), ByVal
VarPtr(xData(0)), UBound(xData)
Case 17 'on forge un paquet UDP
ReDim xPaquet(LenB(eIP) + LenB(eUDP) + UBound(xData)) CopyMemory
ByVal VarPtr(xPaquet(0)), ByVal VarPtr(eIP), LenB(eIP) CopyMemory ByVal
VarPtr(xPaquet(LenB(eIP))), ByVal VarPtr(eUDP),
LenB(eUDP)
CopyMemory ByVal VarPtr(xPaquet(LenB(eIP) + LenB(eUDP))), ByVal
VarPtr(xData(0)), UBound(xData)
Case 1 ' on forge un paquet ICMP
ReDim xPaquet(LenB(eIP) + LenB(eICMP) + UBound(xData)) CopyMemory
ByVal VarPtr(xPaquet(0)), ByVal VarPtr(eIP), LenB(eIP) CopyMemory ByVal
VarPtr(xPaquet(LenB(eIP))), ByVal VarPtr(eICMP),
LenB(eICMP)
CopyMemory ByVal VarPtr(xPaquet(LenB(eIP) + LenB(eICMP))), ByVal
VarPtr(xData(0)), UBound(xData)
End Select
' structure de destinantion
Call CreateSocket(VarPtr(xPaquet(0)), CInt(xProto))
Dim SockAddr As SOCK_ADDR
SockAddr.sin_zero(0) = 0
SockAddr.sin_family = AF_INET '<-famille protocole
If xProto = 6 Then SockAddr.sin_port = xEnteteTcp.PortDesti '
port de destination pour tcp
If xProto = 17 Then SockAddr.sin_port = xEnteteUdp.DestPort '
port de destination pour udp
' < rien pour icmp,pas de port >
SockAddr.sin_addr.S_addr = eIP.DestIp ' adresse de destination
' la fonction Sendto va nous permettre d'envoyer un paquet
à une adresse spécifiée par la structure to de type
sockaddr.
SendData = sendto(zSock, ByVal VarPtr(xPaquet(0)),
UBound(xPaquet), 0, SockAddr, LenB(SockAddr))
If SendData > 0 Then
Debug.Print "envoi réussi"
' Compteur de paquet router
Select Case xProto ' mise à jour
Case 1
frmTraficReseau.OptionRouteur(2).Tag =
frmTraficReseau.OptionRouteur(2).Tag + 1
frmTraficReseau.OptionRouteur(2).Caption = "ICMP (" &
frmTraficReseau.OptionRouteur(2).Tag & ")"
Case 17
frmTraficReseau.OptionRouteur(1).Tag =
frmTraficReseau.OptionRouteur(1).Tag + 1
frmTraficReseau.OptionRouteur(1).Caption = "UDP (" &
frmTraficReseau.OptionRouteur(1).Tag & ")"
Case 6
frmTraficReseau.OptionRouteur(0).Tag =
frmTraficReseau.OptionRouteur(0).Tag + 1
frmTraficReseau.OptionRouteur(0).Caption = "TCP (" &
frmTraficReseau.OptionRouteur(0).Tag & ")"
End Select
frmTraficReseau.Label2(4).Tag = frmTraficReseau.Label2(4).Tag +
1: frmTraficReseau.Label2(4).Caption = "ROUTE : " &
frmTraficReseau.Label2(4).Tag Else
Debug.Print "erreur envoi"
End If
Call ListePaquet(Donnee, CInt(xProto)) End Sub
Public Sub CreateSocket(adrs As Long, Proto As Integer)
Dim StartupInfo As WSA_DATA
WSAStartup &H202, StartupInfo
If Proto = 6 Or Proto = 1 Then zSock = socket(AF_INET, SOCK_RAW,
Proto) Else zSock = socket(AF_INET, SOCK_DGRAM, 17)
setsockopt zSock, IPPROTO_IP, IP_HDRINCL, adrs, 4
End Sub
Sub ListePaquet(xData As String, Proto As Integer)
Dim Parent As Node, EnteteA As Node, EnteteB As Node, flags As
Node, Titre As String, Info As String
If Proto = 6 Then Titre = "Entete Tcp" Else If Proto = 17 Then
Titre = "Entete Udp" Else Titre = "Entete Icmp"
Info = FonctionIp(eIP.SourceIp) & " --> " &
FonctionIp(eIP.DestIp) & Space(10) & IIf(Proto = 1, vbNullString,
Mid(xData, 1, 70) & "...")
' on quitte si le protocole ne correspond pas à TCP Or UDP
Or ICMP If Proto <> 6 And Proto <> 17 And Proto <> 1 Then
Exit Sub
Set Parent = frmTraficReseau.Tree(2).Nodes.Add(): Parent = Info:
Parent.Image =
1
Set EnteteA = frmTraficReseau.Tree(2).Nodes.Add(Parent,
tvwChild): EnteteA = "Entete ip": EnteteA.Image = 2
Set EnteteB = frmTraficReseau.Tree(2).Nodes.Add(Parent,
tvwChild): EnteteB = Titre: EnteteB.Image = 2
Parent.Tag = xData
EnteteA.Tag = xEnteteIp.SourceIp
With eIP ' on affiche les valeurs des entetes ip
frmTraficReseau.Tree(2).Nodes.Add EnteteA, tvwChild, , "Source IP . . . " &
FonctionIp(.SourceIp), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteA, tvwChild, ,
"Destination IP . . . " & FonctionIp(.DestIp), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteA, tvwChild, , "Time To
Live (TTL) . . . . . . " & .Ttl, 3
frmTraficReseau.Tree(2).Nodes.Add EnteteA, tvwChild, , "IP
Version . . . . . . . . .IPv" & HiNibble(.VerLen), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteA, tvwChild, ,
"Identification . . . . . . . . . " & IntegerToUnsigned(.id), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteA, tvwChild, ,
"DataOffset. . . . . . . . ." & IntegerToUnsigned(ntohs(.Offset)), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteA, tvwChild, , "Checksum
. . . . . . . . " & IntegerToUnsigned(ntohs(.Checksum)), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteA, tvwChild, , "Longueur
. . . . . . . . . " & ntohs(.TotalLength), 3
End With
Select Case Proto
Case 1
With eICMP ' ICMP
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Type. . .
. . . . . . " & IcmpTypeValeur(.Type), 3
"
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Code
& IcmpCodeValeur(.Type, .Code), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Checksum
." & IntegerToUnsigned(ntohs(.Checksum)), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, ,
"Identifiant. . ." & ntohl(.Identifiant), 3
End With
Case 6
With eTCP ' TCP
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Source
Port . . . " & ntohs(.PortSource), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Dest Port
." & ntohs(.PortDesti), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB,
|
tvwChild, , "DataOffset
|
62
|
|
|
. . " & IntegerToUnsigned(ntohs(.DataOffset)), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Ack. . .
. . . . . ." & LongToUnsigned(ntohl(.Ack)), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Sequence.
. . . . . . . " & LongToUnsigned(ntohl(.Sequence)), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Urgent
Pointer. . . . . . ." & ntohs(.UrgentPointer), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Windows.
. . . . . . . ." & ntohs(.Windows), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Checksum
. . . . . . . . " & IntegerToUnsigned(ntohs(.Checksum)), 3
End With
Case 17
With eUDP ' UDP
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Source
Port . . ." & ntohs(.SourcePort), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Dest
Port. . ." & ntohs(.DestPort), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Longueur.
. ." & ntohs(.Len), 3
frmTraficReseau.Tree(2).Nodes.Add EnteteB, tvwChild, , "Checksum.
. ." & IntegerToUnsigned(ntohs(.udpChecksum)), 3
End With
End Select
End Sub
4. Module sckEcoute.bas
Public Declare Function WSAIoctl Lib "ws2_32.dll" (ByVal s As
Long, ByVal dwIoControlCode As Long, lpvInBuffer As Any, ByVal cbInBuffer As
Long, lpvOutBuffer As Any, ByVal cbOutBuffer As Long, lpcbBytesReturned As
Long, lpOverlapped As Long, lpCompletionRoutine As Long) As Long
Public Declare Function setsockopt Lib "ws2_32" (ByVal s As Long,
ByVal level As Integer, ByVal optname As Integer, ByVal optval As Long, ByVal
optlen As Long) As Integer
Public Declare Function sendto Lib "wsock32.dll" (ByVal s As
Long, buf As Any, ByVal lngLen As Long, ByVal flags As Long, sTo As SOCK_ADDR,
ByVal tolen As Long) As Long
Public Declare Function socket Lib "ws2_32" (ByVal iAddressFamily
As Long, ByVal iType As Long, ByVal iProtocol As Long) As Long
Public Declare Function bind Lib "wsock32" (ByVal s As Long, addr
As SOCK_ADDR, ByVal namelen As Long) As Long
Public Declare Function closesocket Lib "wsock32" (ByVal s As
Long) As Long Public Declare Function connect Lib "wsock32" (ByVal s As Long,
Name As SOCK_ADDR, ByVal namelen As Integer) As Long
Public Declare Function inet_addr Lib "wsock32" (ByVal cp As
String) As Long Public Declare Function recv Lib "wsock32" (ByVal s As Long,
Buffer As Any, ByVal length As Long, ByVal flags As Long) As Long
Public Declare Function shutdown Lib "wsock32" (ByVal s As Long,
ByVal how As Long) As Long
Public Declare Function WSACancelBlockingCall Lib "wsock32" () As
Long Public Declare Function WSACleanUp Lib "wsock32" Alias "WSACleanup" () As
Long
Public Declare Function WSAStartup Lib "wsock32" (ByVal
wVersionRequired As Integer, wsData As WSA_DATA) As Long
Public Declare Function WSAAsyncSelect Lib "wsock32.dll" (ByVal s
As Long, ByVal hwnd As Long, ByVal wMsg As Integer, ByVal lEvent As Long) As
Integer
Public Declare Function listen Lib "wsock32.dll" (ByVal s As
Long, ByVal backlog As Integer) As Integer
Public Declare Function htonl Lib "ws2_32.dll" (ByVal hostlong As
Long) As Long Public Declare Function htons Lib "wsock32" (ByVal hostshort As
Integer) As Integer Public Declare Function ntohl Lib "ws2_32.dll" (ByVal
netlong As Long) As Long Public Declare Function ntohs Lib "ws2_32.dll" (ByVal
netshort As Integer) As Integer
Public Declare Sub CopyMemory Lib "kernel32" Alias
"RtlMoveMemory" (pDst As Any, ByVal pSrc As Long, ByVal ByteLen As Long)
Public Declare Function gethostbyaddr Lib "ws2_32.dll" (addr As
Long, ByVal addr_len As Long, ByVal addr_type As Long) As Long
Public xData() As Byte
Public xEnteteIp As EnteteIp, xEnteteTcp As EnteteTcp, xEnteteUdp
As EnteteUdp, xEnteteIcmp As EnteteIcmp
Public Sub FermerSocket(Sock As Long) ' fermeture du socket
Dim xLng As Long
If Sock <> 0 Then xLng = shutdown(Sock, 2): xLng =
closesocket(Sock): xLng = WSACancelBlockingCall: xLng = WSACleanUp: Sock = 0
End Sub
Public Function FonctionIp(xIp As Long) As String ' affiche en
bon format l'ip
Dim Bytes(3) As Byte
Call CopyMemory(ByVal VarPtr(Bytes(0)), ByVal VarPtr(xIp), 4):
FonctionIp = Bytes(0) & "." & Bytes(1) & "." & Bytes(2) &
"." & Bytes(3)
End Function
Public Function InfoSource() As String ' fonction qui recupere le
nom du domaine Dim ValHost As Long, xHost As Host, xIp As String
With Form2
.Label1.Caption = "Traitement en cours "
DoEvents: DoEvents
If .txt.Tag = vbNullString Then Exit Function
ValHost = gethostbyaddr(CLng(.txt.Tag), 4, 1)
If ValHost = 0 Then .Label1.Caption = vbNullString: .lbl.Caption
= "aucune information disponible!": Exit Function
InfoSource = String(50, 0)
CopyMemory xHost, ByVal ValHost, LenB(xHost)
CopyMemory ByVal InfoSource, ByVal xHost.Nom, 50
.lbl.Caption = "Nom du domaine : " & Trim$(InfoSource)
.Label1.Caption = vbNullString
End With
End Function
Public Function Capture(Sock As Long) As String
ReDim Buffer(1499) As Byte
Dim xVal As Long, xProto As Integer, StrData As String, DataSize
As Long, Offset As Integer
xVal = recv(Sock, Buffer(0), 1500, 0): If xVal < 0 Then Exit
Function Else Buffer(xVal - 1) = 0
CopyMemory xEnteteIp, VarPtr(Buffer(0)), LenB(xEnteteIp)
Select Case xEnteteIp.Protocol ' on va lire le champ protocole
dans l'entete ip Case 6 ' tcp
CopyMemory xEnteteTcp, VarPtr(Buffer(0)) + 20, LenB(xEnteteTcp):
xProto = 6 frmTraficReseau.Label2(0).Tag = frmTraficReseau.Label2(0).Tag +
1:
frmTraficReseau.Label2(0).Caption = "TCP : " &
frmTraficReseau.Label2(0).Tag Offset = 20 + (xEnteteTcp.DataOffset \ &H10)
* 4
Case 17 ' udp
CopyMemory xEnteteUdp, VarPtr(Buffer(0)) + 20, LenB(xEnteteUdp):
xProto = 17 frmTraficReseau.Label2(1).Tag = frmTraficReseau.Label2(1).Tag +
1:
frmTraficReseau.Label2(1).Caption = "UDP : " &
frmTraficReseau.Label2(1).Tag Offset = 20 + LenB(xEnteteUdp)
Case 1 ' icmp
CopyMemory xEnteteIcmp, VarPtr(Buffer(0)) + 20,
LenB(xEnteteIcmp): xProto = 1
frmTraficReseau.Label2(2).Tag = frmTraficReseau.Label2(2).Tag +
1: frmTraficReseau.Label2(2).Caption = "ICMP : " &
frmTraficReseau.Label2(2).Tag End Select
DataSize = xVal - Offset
If DataSize > 0 Then
ReDim xData(0 To DataSize)
CopyMemory ByVal VarPtr(xData(0)), ByVal VarPtr(Buffer(Offset)),
DataSize: StrData = StrConv(xData, vbUnicode)
End If
On Error Resume Next
frmTraficReseau.Label2(3).Tag = frmTraficReseau.Label2(3).Tag +
LenB(StrData): frmTraficReseau.Label2(3).Caption = "Données reçu
: " & frmTraficReseau.Label2(3).Tag
Call Affiche(xProto, StrData)
If Routeur Then If xEnteteIp.SourceIp =
inet_addr(frmTraficReseau.Text1.Text) Then Call
Routes_Paquets(xEnteteIp.Protocol, StrData)
End Function
Sub Affiche(Proto As Integer, xData As String)
Dim Parent As Node, EnteteA As Node, EnteteB As Node, flags As
Node, Titre As String, Info As String
If Proto = 6 Then Titre = "Entete Tcp" Else If Proto = 17 Then
Titre = "Entete Udp" Else Titre = "Entete Icmp"
Info = FonctionIp(xEnteteIp.SourceIp) & " --> " &
FonctionIp(xEnteteIp.DestIp) & Space(10) & IIf(Proto = 1, vbNullString,
Mid(xData, 1, 70) & "...")
' on quitte si le protocole ne correspond pas à TCP Or UDP
Or ICMP If Proto <> 6 And Proto <> 17 And Proto <> 1 Then
Exit Sub
' pas grand chose à dire sur les treeview,on affiche les
valeurs des champs des entetes
Set Parent = frmTraficReseau.Tree(Proto).Nodes.Add(): Parent =
Info: Parent.Image = 1
Set EnteteA = frmTraficReseau.Tree(Proto).Nodes.Add(Parent,
tvwChild): EnteteA = "Entete ip": EnteteA.Image = 2
Set EnteteB = frmTraficReseau.Tree(Proto).Nodes.Add(Parent,
tvwChild): EnteteB = Titre: EnteteB.Image = 2
Parent.Tag = xData
EnteteA.Tag = xEnteteIp.SourceIp
' on affiche les valeurs des entetes ip
With xEnteteIp
frmTraficReseau.Tree(Proto).Nodes.Add EnteteA, tvwChild, ,
"Source IP . . . . " & FonctionIp(.SourceIp), 3
frmTraficReseau.Tree(Proto).Nodes.Add EnteteA, tvwChild, ,
"Destination IP . . . . . " & FonctionIp(.DestIp), 3
frmTraficReseau.Tree(Proto).Nodes.Add EnteteA, tvwChild, , "Time
To Live (TTL) . . . . . . . . . " & .Ttl, 3
frmTraficReseau.Tree(Proto).Nodes.Add EnteteA, tvwChild, , "IP
Version . . . . . . . . .IPv" & HiNibble(.VerLen), 3
frmTraficReseau.Tree(Proto).Nodes.Add EnteteA, tvwChild, ,
"Identification . . . . . . . . . " & IntegerToUnsigned(.id), 3
frmTraficReseau.Tree(Proto).Nodes.Add EnteteA, tvwChild, ,
"DataOffset. . . . . . . . ." & IntegerToUnsigned(ntohs(.Offset)), 3
frmTraficReseau.Tree(Proto).Nodes.Add EnteteA, tvwChild, ,
"Checksum . . . . . . . . . " & IntegerToUnsigned(ntohs(.Checksum)), 3
frmTraficReseau.Tree(Proto).Nodes.Add EnteteA, tvwChild, ,
"Longueur . . . " & ntohs(.TotalLength), 3
End With
Select Case Proto
Case 1
With xEnteteIcmp ' icmp
frmTraficReseau.Tree(1).Nodes.Add EnteteB, tvwChild, , "Type. . .
. . . . . . " & IcmpTypeValeur(.Type), 3
"
frmTraficReseau.Tree(1).Nodes.Add EnteteB, tvwChild, , "Code
& IcmpCodeValeur(.Type, .Code), 3
frmTraficReseau.Tree(1).Nodes.Add EnteteB, tvwChild, , "Checksum
." & IntegerToUnsigned(ntohs(.Checksum)), 3
frmTraficReseau.Tree(1).Nodes.Add EnteteB, tvwChild, ,
"Identifiant ." & ntohl(.Identifiant), 3
End With
Case 6
With xEnteteTcp ' tcp
frmTraficReseau.Tree(6).Nodes.Add EnteteB, tvwChild, , "Source
Port.
." & ntohs(.PortSource), 3
frmTraficReseau.Tree(6).Nodes.Add EnteteB, tvwChild, , "Dest
Port. . . . . . . . . " & ntohs(.PortDesti), 3
frmTraficReseau.Tree(6).Nodes.Add EnteteB, tvwChild, ,
"DataOffset. . . . . . . . ." & IntegerToUnsigned(ntohs(.DataOffset)), 3
frmTraficReseau.Tree(6).Nodes.Add EnteteB, tvwChild, , "Ack. . .
. . . . . ." & LongToUnsigned(ntohl(.Ack)), 3
frmTraficReseau.Tree(6).Nodes.Add EnteteB, tvwChild, , "Sequence.
. . . . . . . . " & LongToUnsigned(ntohl(.Sequence)), 3
frmTraficReseau.Tree(6).Nodes.Add EnteteB, tvwChild, , "Urgent
Pointer . . . " & ntohs(.UrgentPointer), 3
frmTraficReseau.Tree(6).Nodes.Add EnteteB, tvwChild, , "Windows.
. . . . . . . . " & ntohs(.Windows), 3
frmTraficReseau.Tree(6).Nodes.Add EnteteB, tvwChild, , "Checksum
. . . . . . . . ." & IntegerToUnsigned(ntohs(.Checksum)), 3
End With
Case 17
With xEnteteUdp ' udp
frmTraficReseau.Tree(17).Nodes.Add EnteteB, tvwChild, , "Source
Port. . . . . . . . ." & ntohs(.SourcePort), 3
frmTraficReseau.Tree(17).Nodes.Add EnteteB, tvwChild, , "Dest
Port. . . . . . . . ." & ntohs(.DestPort), 3
frmTraficReseau.Tree(17).Nodes.Add EnteteB, tvwChild, ,
"Longueur. . . . . . . . ." & ntohs(.Len), 3
frmTraficReseau.Tree(17).Nodes.Add EnteteB, tvwChild, ,
"Checksum. . . . . . . . ." &
IntegerToUnsigned(ntohs(.udpChecksum)), 3
End With
End Select
End Sub
5. Module Subclassing.bas
Option Explicit
Declare Function SetWindowLong Lib "user32" Alias
"SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As
Long) As Long Declare Function CallWindowProc Lib "user32" Alias
"CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg
As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory"
(hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
Public WndProc As Long
Public Sub SubClass(hwnd, Go As Boolean)
If Go Then WndProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf
NewWndProc): Exit Sub
If WndProc Then SetWindowLong hwnd, GWL_WNDPROC, WndProc End
Sub
Public Function NewWndProc(ByVal hwnd As Long, ByVal msg As Long,
ByVal wParam As Long, ByVal lParam As Long) As Long
If msg = WM_USER + 1 Then If LoWord(lParam) = FD_READ Then
Capture wParam
NewWndProc = CallWindowProc(WndProc, hwnd, msg, wParam, lParam)
End Function
6. Module Type.bas
Public Type WSA_DATA
wVersion As Integer
wHighVersion As Integer strDescription(WSADESCRIPTION_LEN + 1) As
Byte strSystemStatus(WSASYS_STATUS_LEN + 1) As Byte iMaxSockets As Integer
iMaxUdpDg As Integer
lpVendorInfo As Long
End Type
Public Type IN_ADDR S_addr As Long
End Type
Public Type Host
Nom As Long
Aliases As Long
Type As Integer
Longueur As Integer
List As Long
End Type
Public Type SOCK_ADDR sin_family As Integer sin_port As
Integer
sin_addr As IN_ADDR sin_zero(0 To 7) As Byte End Type
Public Type Inet_Adress Byte4 As String * 1 Byte3 As
String * 1 Byte2 As String * 1 Byte1 As String * 1
End Type
Public Type EnteteIp
VerLen As Byte
Tos As Byte
TotalLength As Integer
id As Integer
Offset As Integer
Ttl As Byte
Protocol As Byte
Checksum As Integer
SourceIp As Long
DestIp As Long
End Type
Public Type EnteteTcp
PortSource As Integer
PortDesti As Integer
Sequence As Long
Ack As Long
DataOffset As Byte
Flag As Byte
Windows As Integer
Checksum As Integer
UrgentPointer As Integer
End Type
Public Enum TcpFlag TF_FIN = 1 TF_SYN = 2 TF_RST = 4 TF_ PSH =
8 TF_ACK = 16 TF_URG = 32
End Enum
Public Type EnteteIcmp
Type As Byte
Code As Byte
Checksum As Integer
Identifiant As Integer
Sequence As Integer End Type
Public Type EnteteUdp
SourcePort As Integer
DestPort As Integer
Len As Integer
udpChecksum As Integer End Type
' structure pseudo entete
Public Type PseudoEntete IPsource As Long IPdestination As Long
Reserved As Byte Protocol As Byte
Len As Integer
End Type
Public Enum IcmpType
[Echo Reply] = 0
[Destination Unreachable] = 3 [Source Quench] = 4 [Redirect] =
5
[Alternate Host Address] = 6 [Echo Request] = 8
[Router Advertisement] = 9 [Router Solicitation] = 10 [Time
Exceeded] = 11
[Parameter Problem] = 12 [TimeStamp Request] = 13 [TimeStamp
Reply] = 14 [Information Request] = 15 [Information Reply] = 16 [Address Mask
Request] = 17 [Address Mask Reply] = 18 [IP IX Trace Router] = 30 [Conversion
Error] = 31 [Mobile Host Redirect] = 32 [IPv6 Where Are You] = 33 [IPv6 Here I
Am] = 34
[Mobile Registration Request] = 35
[Mobile Registration Reply] = 36 [Domain Name Request] = 37
[Domain Name Reply] = 38
[SKIP Algorithm Discovery Protocol] = 39
[IPsec Security Failures] = 40 End Enum
Public Enum IcmpCode
[Network Unreachable] = 0 [Host Unreachable] = 1 [Protocol
Unreachable] = 2 [Port Unreachable] = 3 [Fragmentation Needed] = 4 [Redirect
Network] = 0
[Redirect Host] = 1
[Redirect TOS Network] = 2 [Redirect TOS Host] = 3
[TTL Exceeded In Transit] = 0 [Reassembly Timeout] = 1 [Problem
With Option] = 0
End Enum
' type pour info interface(ip/masque/broadcast,flag) +
constante
Public Type Sock_Addr_Info
AddresseLocal As SOCK ADDR
filler(0 To 7) As Byte
End Type
Public Type INTERFACE_INFO
Info_ Flags As Long 'Interface flags
Info Addresse As Sock Addr_ Info 'Interface addresse
Info_BroadcastAddresse As Sock Addr_ Info 'Broadcast addresse
Info_Netmask As Sock Addr_ Info 'Network mask
End Type
Public Type INTERFACEINFO
Info_Inter(0 To 7) As INTERFACE_INFO End Type
Public Const SIO_GET
_
INTERFACE
LIST As Long = &H4004747F
_
7. Module Verification.bas
Option Explicit
Private Declare Function ntohs Lib "ws2_32.dll" (ByVal netshort
As Long) As Integer Private Declare Sub CopyMemory Lib "kernel32" Alias
"RtlMoveMemory" (Destination As Any, Source As Any, ByVal length As Long)
Public Function Checksum(ByVal adrs As Long, ByVal length As
Long) As Long
Dim i As Long, t As Long
For i = 1 To length Step 2
t = t + Read16(adrs): adrs = adrs + 2
Next
t = Int16(t): Checksum = l2i((Not t) And &HFFFF&)
End Function
Private Function Read16(ByVal adrs As Long) As Long
CopyMemory Read16, ByVal adrs, 2
End Function
Private Function i2l(ByVal i As Long) As Long
CopyMemory i2l, i, 2
End Function
Private Function l2i(ByVal i As Long) As Long
CopyMemory l2i, i, 2
End Function
Private Function Int16(ByVal Value As Long) As Long
Dim t(1) As Integer
CopyMemory t(0), Value, 4
Int16 = i2l(t(0)) + i2l(t(1))
End Function
Public Function HexB(ByVal b As Byte) As String
HexB = Hex(b)
HexB = String(2 - Len(HexB), "0") & HexB
End Function
Public Function CheckUdp(ByVal AdrsePs As Long, LenPs As Long,
ByVal AdrseUdp As Long, LenUdp As Long, ByVal AdrsData As Long, LenData As
Long) As Long
Dim Datagramme() As Byte
ReDim Datagramme(LenPs + LenUdp + LenData)
CopyMemory ByVal VarPtr(Datagramme(0)), ByVal AdrsePs, LenPs
CopyMemory ByVal VarPtr(Datagramme(0)) + LenPs, ByVal AdrseUdp, LenUdp
CopyMemory ByVal VarPtr(Datagramme(0)) + LenPs + LenUdp, ByVal AdrsData,
LenData
CheckUdp = Checksum(VarPtr(Datagramme(0)), UBound(Datagramme))
End Function
Public Function CheckIcmp(ByVal AdrsIcmp As Long, LenIcmp As
Long, ByVal AdrsData As Long, LenData As Long) As Long
Dim Datagramme() As Byte
ReDim Datagramme(LenIcmp + LenData)
CopyMemory ByVal VarPtr(Datagramme(0)), ByVal AdrsIcmp, LenIcmp
CopyMemory ByVal VarPtr(Datagramme(LenIcmp)), ByVal AdrsData, LenData CheckIcmp
= Checksum(VarPtr(Datagramme(0)), UBound(Datagramme))
End Function
Public Function CheckTcp(ByVal AdrsePs As Long, LenPs As Long,
ByVal AdrseTcp As Long, LenTcp As Long, ByVal AdrsData As Long, LenData As
Long) As Long
Dim Datagramme() As Byte
ReDim Datagramme(LenPs + LenTcp + LenData)
CopyMemory ByVal VarPtr(Datagramme(0)), ByVal AdrsePs, LenPs
CopyMemory ByVal VarPtr(Datagramme(LenPs)), ByVal AdrseTcp,
LenTcp CopyMemory ByVal VarPtr(Datagramme(LenPs + LenTcp)), ByVal AdrsData,
LenData
CheckTcp = Checksum(VarPtr(Datagramme(0)), UBound(Datagramme))
End Function
CONCLUSION
Nous voici arrivés au terme de notre travail, nous avons
atteint les objectifs que nous nous sommes assignés. Au cours de notre
travail, la problématique était de trouver un moyen pouvant nous
permettre de contrôler et d'analyser à temps le trafic issu des
interfaces en activité sur le réseau.
Comme notre souci était de desceller le trafic suivant le
protocole utilisé, nous avons pensé à réaliser un
utilitaire d'analyse de trafic réseau d'une interface. Lequel utilitaire
va permettre à ses utilisateurs de capturer le trafic de réseau
sur n'importe quel ordinateur où tourne notre application. Pour
bénéficier de cet avantage particulier, nous vous invitons donc
à installer cette application sur votre réseau.
Pour terminer, nous vous signalons que cette oeuvre est un fruit
de dur labeur de la pensée humaine pour l'administration réseau.
Elle peut être marquée par des imperfections. Si tel est le cas,
nous tenons a remercier davantage tous les lecteurs et chercheurs en
particulier leurs suggestions et remarques constructives.
BIBLIOGRAPHIE
I OUVRAGES
1. José DORNOINE; les réseaux : Notions
fondamentales, 2003, ENI.
2. Tamosoft, surveiller et analyser le trafic d'un
réseau Ethernet
3. MCLEAN; Microsoft Windows serveur 2003 : mise en
oeuvre, ad, initiation et maintenance d'une infrastructure réseau :
examen 70 - 291; 2004; O'Reilly.
4. FRISH Aleen; bases de l'administration système;
2003; O'Reilly. Jean Luc Montegnier; Réseau d'entreprise par la
pratique; Ed. Eyrolles
5. Lionel ceinturier; olivier Marin, Notes de cours client -
serveur, Université Pierre et Marie curie, 2006
II. SYLLABUS ET NOTES DE COURS
1. BOIKA MAKILI, Télécommunication et
réseaux, cours inédit G2 M.I UPN,
2. ENGOMBE WEDI, Atelier de Génie Logiciel, cours
inédit G3 M.I UPN,
3. GABRIEL BOMBAMBO, Administration réseau, cours
inédit L1 M.I UPN
III. WEBOGRAPHIE
1.
http://www.google.com
2.
http://www.tamosoft.com /
3.
http://www.dreamlive.com /
4.
http://www.vbfrance.com /
5.
http://www.memoireonline.com
/
6.
http://www.wikipedia.org
7.
http://www.yebet.be
|