Sistemes Telemàtics

STI-2

Pràctica 3: Ports TCP i UDP. Ordre netstat.

GNU/Linux

28-10-2011

Ports.Ordre netstat.

1- Breu introduccióDOCUMENTACIÓ
a) Un port és una connexió virtual que utilitzada per les aplicacions clients i els servidors per identificar-se i intercanviar dades.
b) Existeixen dos tipus de ports: TCP i UDP. En funció de l'aplicació client i el tipus de servidor farem servir un dels dos tipus de port.
c) Cada costat de la connexió té associat un número de port (de 0 a 65535).
d) Els ports són classificats en tres categories: ben coneguts, registrades i dinàmics / privats. Els ports ben coneguts són assignats per la Internet Assigned Numbers Authority (IANA), van del 0 al 1023 i són usats pels servidors. Alguns exemples són: FTP(21/tcp), SSH(22/tcp), SMTP (25/tcp), HTTP (80/tcp), DNS (53/udp). Els ports registrats són normalment utilitzats per les aplicacions d'usuari de forma temporal quan connecten amb els servidors, però també poden representar serveis que hagin estat registrats per un tercer (rang de ports registrats: 1024 a 49.151). Els ports dinàmics / privats també poden ser usats per les aplicacions d'usuari, però aquest cas és menys comú. Els ports dinàmics / privats no tenen significat fora de la connexió TCP en què van ser usats (rang de ports dinàmics / privats: 49152 a 65535.
e) El fitxer /etc/services manté una llista de ports i els seus serveis associats tal i com indica  la IANA.
f) Els ports per defecte dels serveis es poden canviar.

2- Ordre netstat: Introducció al concepte de port
 L'ordre netstat de GNU/Linux és força complexa. Nosaltres la utilitzarem per veure l'estat de les connexions de xarxa en el nostre ordinador i els ports que utilitzen aquestes connexions, i també per saber quins ports estem utilitzant per donar serveis, quin tipus de serveis són i quins són els programes responsables de donar-los.

Per fer aquesta feina, és millor ser usuari root. Llavors exexutarem la següent ordre des de l'interpret de comandaments:

netstat   -atupn

Aquesta ordre ens permeterà veure totes les connexións de xarxa (-a)de tipus TCP (-t) i UDP (-u), indicant el programa en el nostre ordinador que utilitza aquesta connexió, i la seva PID (-p). El format de sortida serà alfanumèric (-n). També ens indicarà el serveis de xarxa que estan posats en marxa, per quins ports escolten i quin és el nom del programa servidor i la seva PID. Les connexions de xarxa quan treballem amb TCP/IP són sempre TCP o UDP. Si volem veure noms en comptes de números, llavors haurem de treure l'opció -n. A continuació podem veure el resultat d'executar l'ordre netstat amb l'opció -n o sense -n


En aquest cas veiem una sèrie de serveis que estan funcionant. El fet que en l'adreça IP de Foreign Address posi 0.0.0.0 (o :::), que és equivalent a *, vol dir que s'accepta la connexió al servei des de qualsevol IP. Que posi * en la part del port, vol dir que s'accepta la connexió des de qualsevol port de l'ordinador remot. Que posi 0.0.0.0 (o :::), que és equivalent a *, vol dir que l'ordinador accepta la connexió al sevei per qualsevol de les seves interfíces de xarxa. En canvi, el servei ssh que utiliza el port 22, i que és oferit pel programa servidor sshd, amb PID 15870, només accepta connexions per la interfície de xarxa 192.16.8.1.3.
Com podeu veure l'estat de les connexions i ports TCP es LISTEN. Les connexions i serveis que treballen amb UDP no tenen LISTEN, perquè com es veu en la segona unitat didactica, UDP és un sistema de connexió més senzill que TCP, i a efectes pràctics, podem dir que estan LISTEN, tot i que no té gaire sentit parlar d'aquest estan quam parlem d'UDP. Les connexions i ports TCP poden trobar-se en diversos estats posibles, com podem veure a les pàgines 19 a 21 del document http://www.rfc-es.org/rfc/rfc0793-es.txt, cosa que no passa amb UDP. Podem veure que 192.168.1.5 ha establert pel seu port 3566 amb el port 80 de 192.168.1.3 (tot i que la connexió està a punt de finalitzar perquè la petició ja ha estat servida).

El nom per defecte dels serveis associats a cada port es troba al fitxer /etc/services. Canviant el noms dins d'aquests fitxers, la sortida de netstat seria diferent, tot i que el serveis podrien continuar essent els mateixos.

PRÀCTICA
1.- Comprova quins programes del teu ordinador estan executan-se en segon terme i permeten connexions a un port del teu ordinador.
2.-Connectat amb Firefox a www.google.cat i comprova l'estat de les connexions. Indica a quin port del servidor es connecta el programa client. Comprova el port utilitzat pel Firefox. Comprova l'estat de la connexió entre Firefox i www.google.cat.
3.- Atura el  programa Firefox, torna a executar-lo i torna a connectar-te a www.google.cat. Comprova si el port utilitzat pel Firefox és el mateix que el que tenia en la connexió anterior. Comprova si el port que utilitza el servidor és el mateix que en el cas anterior.
4.- Intenta connectar-te al servidor http://192.168.1.16 amb el Firefox. Pots connectar-te?.
5.- Intenta connectar-te al servidor anterior escrivint http://192.1681.16:45000 amb el Firefox. Pots connectar-te?. Què vol dir el número 45000 en aquest cas?.
6.- S'ha de lliurar un informe de la pràctica en format PDF a l'adreça de correu electrònic cf(arrova)collados.org. El nom del fitxer serà sti2_nom_cognom_pr3_linux.pdf. Nom i cognom són els vostre propis. A l'assumpte del correu heu de posar sti2_nom_cognom_pr3_linux. El vostre nom, cognom i curs també ha de posar-se al principi del treball. L'últim dia per lliurar el treball és el 28-10-2011.