Professional Documents
Culture Documents
Conditions dutilisation de ce su
ort
Ces le.ons et supports sont gratuits et disponibles pour le public sous les conditions suivantes d/ISECOM: Tous les travau& men0s dans le cadre du 1!acker !ighSchool1 sont disponibles 2 usage non commercial aupr3s d/0l3ves du coll3ge$ du lyc0e$ dans le cadre d/0coles publi4ues ou priv0es$ ou encore lors de scolarisations 2 domicile% Ces supports ne peuvent 5tre reproduits en vue d/un usage commercial% Il est e&press0ment interdit d/utiliser ces supports dans le cadre de cours$ le.ons et)ou stages payants$ 2 moins d/obtenir une licence pour cela 6dans ce cas$ veuille7 aller sur www.hackerhighschool.org/license8% 'e pro"et !SS 6!acker !ighSchool8 est un outil de travail et d/apprentissage$ et en tant 4ue tel$ son utilisation rel3ve de la personne 4ui l/utilise$ et non de l/outil lui#m5me% ISECOM ne peut 5tre mis en cause si cet outil est utilis0 2 mauvais escient ou de mani3re ill0gale% 'e pro"et !SS est aussi le fruit de l/effort de toute une communaut0s$ et si vous trouve7 ce pro"et int0ressant$ nous vous serions plus 4ue reconnaissants de votre aide$ soit par l/achat d/une licence$ soit par un don$ soit encore par un 4uelcon4ue parrainage% Copyright ISECOM # Tous droits r0serv0s%
3)* Introduction
'es te&te et e&ercices de cette le.on vous transmettront une compr0hension basi4ue des ports et protocoles en cours d/utilisation$ ainsi 4ue leur pertinence au niveau du syst3me d/e&ploitation$ 4ue ce soit Hindows ou 'inu&% Ie plus$ vous aure7 l/opportunit0 de vous familiariser avec un certain nombre d/outils 4ui permettent de comprendre en profondeur les capacit0s r0seau& de votre ordinateur% En fin de le.on vous devrie7 avoir une connaissance basi4ue et g0n0rale:
3)!)! To olo.ies
En connectant ces 04uipements$ des 9local area networks; 6or ' (s8 peuvent 5tre cr00% Ians un ' ($ les ordinateurs peuvent partager leurs ressources$ tel 4ue leurs dis4ues durs$ leurs imprimantes$ ou une conne&ion Internet$ de plus un administrateur peut contrJler la mani3re de les g0rer% u moment du KdesignL d/un ' ($ il est possible de choisir parmi l/une des topologies suivantes: /us 0nneau 1toile 1toile 1tendue 2i%rarc3i,ue
Bus
Ring
Star
Extended Star
Hierarchic
Ians une topologie en bus$ tous les ordinateurs sont connect0s au m5me m0dia de transmission et cha4ue ordinateur peut communi4uer directement avec toutes les autres machines du r0seau local% u sein d/une topologie en anneau$ cha4ue ordinateur est connect0 au suivant$ le dernier se connectant au premier$ et chacun des ordinateurs ne peut communi4uer directement 4u/avec les ordinateurs 4ui lui sont ad"acents% u sein d/une topologie en toile$ aucun des ordinateurs ne sont directement inters reli0s% Ils sont plutJt
connect0s 2 un point central et ce point central est responsable du relais de l/information d/un ordinateur 2 un autre% Si plusieurs points centrau& sont connect0s entre eu&$ nous obtenons une topologie en toile tendue% M l/int0rieur d/une topologie en 0toile ou en 0toile 0tendue$ tous les point centrau& sont des pairs 6en anglais$ peers), c/est#2#dire 4u/ils 0changent de l/information d/0gale 2 0gale% Cependant$ si vous connecte7 deu& r0seau& en 0toiles ou en 0toiles 0tendue ensemble en utilisant un point central contrJlant ou limitant les 0changes d/informations entre ces deu& r0seau&$ vous cr0e7 donc une seule topologie$ commun0ment appel0 topologie hi0rarchi4ue ou topologie arborescente%
3)3)!)* 0
lication
'a couche application est la couche layer la plus proche de l/utilisateur final% C/est la couche 4ui est en charge de traduire les donn0es des applications en information 4ui peut 5tre envoy0 a travers le r0seau% Ces fonctions basi4ues sont les suivantes:
3)3)!)3 Internet
Cette couche divise les segments de la couche transport en pa4uets et envoie les pa4uets a travers les r0seau& 4ui cr0e l/Internet% Cela utilise IP$ ou plutJt des adresses Kinternet protocol pour d0terminer l/emplacement de dispositif de destination% Cela n/assure aucune fiabilit0 dans la connections $ 0tant donn0 4ue cela est d0"2 pris en compte par la couche transport$ mais I* est responsable du choi& de la meilleur route a prendre entre l/appareil d/origine et celui de destination%
3)3)3 Protocoles
*our pouvoir envoyer de l/information entre deu& 04uipements$ les deu& appareils doivent parler le m5me langage% Ce langage est appel0 protocole% 'es protocoles 4ui apparaissent dans la couche application du model TC*)I* sont:
Oile Transfer *rotocol 6OT*8 !yperte&t Transfer *rotocol 6!TT*8 Simple Mail Transfer *rotocol 6smtp8 Iomain (ame Service 6I(S8 Trivial Oile Transfer *rotocol 6TOT*8 Transport Control *rotocol 6TC*8 :ser Iatagram *rotocol 6:I*8 Internet *rotocol 6I*8 Ethernet
'e protocole le plus souvent utilis0 dans la couche d/acc3s r0seau est:
'es protocoles list0s ci#dessus et leurs ports associ0s seront d0crits dans la section suivante%
lication
FTP ou ile trans er protocol est utilis0 pour la transmission de fichiers entre deu& dispositifs% Il utilise TC* pour cr0er une conne&ion virtuelle pour le control d/information$ puis cr0er une autre conne&ion 4ui doit sera utilis0e pour la livraison des donn0es% 'es ports les plus souvent utilises sont +, et +=% !TTP ou h"perte#t trans er protocol est utilis0 pour traduire l/information en pages web% Cette information est distribu0e de mani3re similaire a celle utilis0 par les courriers 0lectroni4ues% 'e port le plus souvent utilis0 est le A,%
$MTP ou simple mail trans er protocol est un service mail 4ui est base sur le model OT*% Il transf3re les courriers 0lectroni4ues entre deu& syst3mes et fournit des notifications de courrier entrant% 'e port le plus souvent utilis0 est le +>% %&$ ou domain name ser'ice fournit un moyen d/associer un nom de domaine ( une adresse ip% 'e port le plus souvent utilis0 est le ><% TFTP or tri'ial ile trans er protocol poss3de les m5me fonctions 4ue OT* mais utilise :I* au lieu de TC*% 6Noir la Section 3)3)3)! plus de d0tail sur :I* et TC*%8 Cela augmente les performance 6vitesse8 $ mais est moins sure et digne de confiance% 'e port le plus souvent utilis0 est le ?C%
*:
3)3)( 0dresses IP
:n nom de domaine consiste en l/adresse web 4ue vous introduise7 normalement au sein du navigateur web% Ce nom identifie en r0alit0 une ou plusieurs adresses I*% *ar e&emple$ le nom de domaine microso t.com repr0sente environs une dou7aine d/adresses% 'es noms de domaine sont utilis0s 2 l/int0rieur des :B' afin d/identifier certaines pages Heb en particulier% *ar e&emple$ pour l/:B' http:))www%pcwebopedia%com)inde&%html$ le nom de domaine est pcwebopedia.com% Cha4ue domaine poss3de un suffi&e indi4uant 2 4uel domaine de haut niveau 6Top 'evel Iomain$ ou T'I8 ce domaine appartiens% Il y a un nombre limit0 de ces domaines% *ar e&emple: %gov Q gences gouvernementales am0ricaines %edu Q Institutions Rducationnelles %org # Organisations 2 but non#lucratif %com # Entreprises commerciales %net Q dresses de r0seau
*uis4ue l/Internet est bas0 sur des adresses I* et non sur des noms de domaines$ tous les serveurs Heb ont besoins d/un serveur I(S 6de l/anglais$ Iomain (ame Service8afin de traduire les noms de domaines en adresses I*% 'es adresses I* sont les identifiants utilis0s afin de diff0rencier les ordinateurs et autres composantes connect0 au r0seau% Chacune de ces machines doit avoir une adresse I* diff0rente afin 4u/il n/y ait pas d/erreur d/identit0 au sein du r0seau% 'es adresses I* sont constitu0es de <+ bits divis0s en octet de A bits$ cha4ue octet 0tant s0par0 par un point% :ne partie de l/adresse I* identifie le r0seau et le reste de cette adresse identifie un ordinateur sur ce r0seau%
Il e&iste aussi des adresses I* priv0e et publi4ue% 'es adresses priv0es sont utilis0s sur les r0seau& ne poss0dant aucune conne&ion avec le monde e&t0rieur% 'es adresses d/un r0seau priv0 ne peuvent 5tre dupli4u0s au sein de ce r0seau$ mais deu& ordinateurs sur deu& r0seau& priv0s n/0tant pas interconnect0s peuvent poss0der la m5me adresse% 'es adresses I* d0finies par l/I ( 6Internet ssigned (umbers uthority8 comme 0tant disponibles pour les r0seau& priv0s sont: Ie =,%,%,%, 2 =,%+>>%+>>%+>> Ie =@+%=?%,%, 2 =@+%<=%+>>%+>> Ie =C+%=?A%,%,% 2 =C+%=?A%+>>%+>>
**
'es adresses I* sont divis0s en classe$ en fonction de la taille de la section de l/adresse utilis0 afin d/identifier le r0seau et par la taille de la section attribu0 pour l/identification de l/ordinateur% I0pendant de la taille de chacune des parties$ plus de machine pourront se connecter 2 un r0seau ou plus de r0seau pourront e&ister% 'es classes e&istantes sont:
'es classes e&istantes sont: Class : le premier bit est tou"ours 70ro$ cette classe inclut donc les adresses comprises entre ,%,%,%, et =+?%+>>%+>>%+>>% (ote: 'es adresses of =+@%&%&%& sont r0serv0es au& services de loopback ou host local% Class E: 'es deu& premier bits du premier octet sont S=,S$ par cons04uent cette classe inclut les adressescomprises entre: =+A%,%,%, et =C=%+>>%+>>%+>>% Class C: 'es trois premier bits du premier octet sont S==,S$ par cons04uent cette classe inclut les adresses comprises entre =C+%,%,%, et ++<%+>>%+>>%+>>% Class I: 'es trois premier bits du premier octet sont S===,S$ par cons04uent cette classe inclut les adressescomprises entre ++-%,%,%, et +<C%+>>%+>>%+>>% Ces adresses sont r0serv0es pour l/impl0mentation de groupe multicast% 'es adresses restantes sont utilis0es 2 but d/e&p0rimentation ou pour d/0ventuelles allocations futurs% *our l/instant$ ces classes ne sont pas utilis0es pour diff0rencier entre la partie de l/adresse utilis0e pour identifier le r0seau et l/autre pour identifier les 04uipements individuels% u lieu de cela$ un mas est utilis0% Ians ce mask$ un bit T=/ binaire repr0sente la partie 4ui contient l/identifiant r0seau et un bit S,S binaire repr0sente le partie 4ui identifie l/04uipement individuel% *ar cons04uent$ pour identifier un 04uipement$ en plus de l/adresse I*$ il est n0cessaire de sp0cifier le mask de sous r0seau:
*!
'es adresses I* =+@%&%&%& sont r0serv0es pour l/usage de loopback ou adresse d/hJte local$ cSest#2#dire$ 4u/elle se r0f3re directement a l/ordinateur local% Tous les ordinateurs on tune adresse local =+@%,%,%=$ par cons04uent cette adresse ne peut pas 5tre utilis0e pour identifier des 04uipements diff0rents% Il e&iste 0galement d/autres adresses 4ui ne peuvent pas 5tre utilis0es% %Ces adresses sont les adresses rseau# et de broadcast% '/adresse rseau est une adresse dans la.uelle la part de l/adresse 4ui identifie normalement l/04uipement ne contient 4ue des 70ros% Cette adresse ne peut pas 5tre utilis0e$ parce 4ue cela identifie un r0seau et ne peuvent "amais 5tre utilis0 pour identifier un 04uipement sp0cifi4ue%
I*: =@+%=?%=%, Mask: +>>%+>>%+>>%, '/adresse de Eroadcast est une adresse dans la4uelle la partie de l/adresse 4ui identifie normalement l/04uipement ne comporte 4ue des un 6=8% Ces adresses ne peuvent pas 5tre utilis0es pour identifier un 04uipement sp0cifi4ue$ parce 4ue c/est adresse 4ui est utilis0 pour envoyer l/information a tous les ordinateurs 4ui appartiennent au r0seau sp0cifi0%
3)3)+ Ports
TC* et :I* utilisent tous deu& des ports pour 0changer leur information avec applications% :n port est une e&tension d/une adresse$ cela est similaire 2 a"outer un appartement ou un num0ro de chambre a l/adresse d/une rue% :ne lettre avec une adresse de rue arrivera au bon appartement$ mais sans le num0ro d/appartement$ elle ne sera donc pas d0livr0e au bon destinataire% 'es *orts 2 peu pr3s de la m5me fa.on% :n pa4uet peut 5tre d0livr0 a la bonne adresse I*$ mais sans le port associ0$ il n/y a aucun moyen de d0terminer 4uelle application devrait agir sur ce pa4uet% :ne fois 4ue les ports ont 0t0 d0fini$ il est possible pour diff0rent type d/information 4ui sont envoy0s a une adresse I* d/5tre envoy0e a l/application appropri0% En utilisant des ports$ un service 4ui fonctionne sur un ordinateur distant peut d0terminer 4uel type d/information un client local fait une re4u5te$ peut d0terminer le protocole n0cessaire pour envoyer cette information$ et maintenir des communications simultan0es avec un nombre de clients diff0rentiels%
*3
*ar e&emple$ si un ordinateur local essaye de se connecter au site web www%osstmm%org$ dont l/adresse I* est ?+%A,%=++%+,<$ avec un serveur web 4ui s/e&0cute sur le port A,$ l/ordinateur local se connecterait sur l/ordinateur distant en utilisant l/adresse socket/
4!)8:)*!!)!:3;8: *our maintenir un niveau de standardisation parmi les ports les plus commun0ment utilis0s$ I ( a 0tabli 4ue les ports num0rot0 de , 2 =,+- sont utilis0s pour les services communs% 'es restes des ports "us4u/au num0ro ?>><> sont utilis0 pour l/allocation dynami4ue ou des services particulier% 'es ports les plus commun0ment utilis0s tel 4ue I ( les a assign0s sont:
Port Assignments
Decimals 0 1-4 5 7 9 11 1 15 17 19 ,0 ,1 ,, , ,5 7 9 4, 4 5 67 68 69 70 75 rje echo discard systat daytime netstat &otd chargen )t"-data )t" ssh te.net smt" time r." nameserver nicname domain boot"s boot"c t)t" go"her Keywords Reserved Unassigned Remote Job Entry Echo Discard Active Users Daytime !ho is U" or #E$%$A$ '(ote o) the Day *haracter +enerator -i.e $rans)er /De)a(.t Data0 -i.e $rans)er /*ontro.0 %%1 Remote 2ogin 3rotoco. $e.net %im".e 4ai. $rans)er $ime Reso(rce 2ocation 3rotoco. 1ost #ame %erver !ho 5s Domain #ame %erver 7ootstra" 3rotoco. %erver 7ootstra" 3rotoco. *.ient $rivia. -i.e $rans)er +o"her any "rivate dia. o(t service Description
*(
Port Assignments
Decimals 77 79 80 95 101 10, 110 11 117 119 1, 1 7 1 8 1 9 140-159 160-,, )inger 999-htt" s("d(" hostname iso-tsa" "o" a(th ((c"-"ath nnt" nt" netbios-ns Keywords -inger !or.d !ide !eb 1$$3 %U3DU3 #5* 1ost #ame %erver 5%:-$%A3 *.ass 0 3ost :))ice 3rotoco. - ;ersion A(thentication %ervice UU*3 3ath %ervice #et9or< #e9s $rans)er 3rotoco. #et9or< $ime 3rotoco. #E$75:% #ame %ervice Description any "rivate RJE service
netbios-dgm #E$75:% Datagram %ervice netbios-ssn #E$75:% %ession %ervice Unassigned Reserved
Nous pouve7 0galement vous refere7 a la page web: http///www.isecom.org/oprp pour plus de d0tail sur les ports%
*+
'ors4ue l/information encapsul0 arrive a destination$ elle doit 5tre des#encapsul0e% Etant donn0 4ue cha4ue couche re.oit des informations de la couche pr0c0dente$ elle supprime les informations inutiles dans l/en#t5te plac0 par la couche pr0c0dente%
3)( E-ercises
3)()* E-ercise *; Netstat
(etstat 'a commande (etstat vous permet de voir l/0tat des ports sur un ordinateur% *our l/e&0cuter$ vous deve7 ouvrir une fen5tre MS#IOS et taper: netstat Ians la fen5tre MS#IOS$ vous verre7 alors une liste des connections 0tablies% Si vous voule7 voir les conne&ions afficher au format num0ri4ue$ taper: netstat # n *our voir les conne&ions et les ports actives$ taper: netstat # an *our voir la liste des autres options taper: netstat # h Ians la sortie de (etstat$ les colonnes + et < listent les adresses I* local et distante 4ui sont actuel ment utilis0es par les ports actifs% *our les adresses des ports distants sont tels diff0rentes de celles des adresses locales V
*4
En utilisant un navigateur web$ ouvre7 la page: http:))=C<%=->%A>%+,+ lle7 ensuite dans une fen5tre MS#IOS et taper (etstat de nouveau% Uuel nouvelle conne&ion 6s8 apparaissent V En utilisant un autre navigateur web$ ouvre7 la page: http:))=C<%=->%A>%+,< lle7 ensuite dans une fen5tre MS#IOS et taper (etstat Q # *our4uoi le protocol !TT* apparaWt t#il sur plusieurs lignesV # Uuelles diff0rences e&istent Qt#il entre chacune d/entre ellesV # Si il y a plusieurs navigateur ouvert$ comment l/ordinateur fait t#il pour savoir 4uel information va a tel ou tel navigateurV
*7
Ouvre7 une seconde fen5tre MS#IOS et taper: netstat Q a Cela devrait v0rifier 4u/il e&iste un nouveau service 0coutent sur le port =+<-% Oermer la fainter MS#IOS% *our pouvoir dire 4u/un serveur a 0t0 impl0ment0$ vous deve7 0tablir une association client% Ouvre7 une fen5tre MS#IOS et taper: nc localhost =+<Drace a cette commande$ une conne&ion est 0tablie avec le serveur 4ui 0coute sur le port =+<-% Maintenant$ tous ce 4ui est 0crit dans n/importe la4uelle des deu& fen5tre MS#IOS peut 5tre vu dans l/autre fen5tre% Cr0e7 un fichier nomm0 StestS$ 4ui contienne le te&te$ 9Helcome to the !acker !ighschool serverY; Ians la fen5tre MS#IOS taper: nc # l # p =+<- Z test Iepuis l/autre fen5tre MS#IOS$ connecter vous au serveur en tapant: nc localhost =+<'ors4ue le client se connecte au serveur$ vous devrie7 voir la sortie du file StestS% *our fermer le service$ retourner 2 la fen5tre MS#IOS ou le process tourne et presser les touches CTB'#C% Uuel protocole a 0t0 utilise pour se connecter au serveurV (etcat permet t#il de changer cela V Si oui commentV
*8
Lecture Su
l%mentaire
Nous pourre7 trouver de plus amples informations sur les ports et protocoles en acceder au liens suivant: http:))www%oreilly%com)catalog)fire+)chapter)ch=<%html http:))www%oreilly%com)catalog)puis<)chapter)ch==%pdf http:))www%oreilly%com)catalog)ipv?ess)chapter)ch,+%pdf http:))info%acm%org)crossroads)&rds=#=)tcp"my%html http:))www%garykessler%net)library)tcpip%html http:))www%cisco%com)univercd)cc)td)doc)cisintwk)itoXdoc)ip%htm http:))www%redbooks%ibm%com)redbooks)DD+-<<@?%html *ort (umber references: http:))www%iana%org)assignments)port#numbers http:))www%isecom%info)cgi#local)protocoldb)browse%dsp
*9