next up previous contents
Next: Il file hosts Up: I principali file di Previous: Il file resolv.conf   Contents


Il file services

Questo è il file che contiene le corrispondenze fra nomi simbolici e numeri delle porte assegnate ai vari servizi (si ricordi quanto spiegato in sez. 1.5). Di norma non è un file che sia necessario modificare, ma è utile per avere un riferimento che permette di associare un numero di porta ad un determinato servizio.

Bussando a quella porta (o sintonizzandosi su quella frequenza a seconda dell'analogia che si preferisce) si potranno scambiare, attraverso l'opportuno protocollo, i dati relativi al servizio associato. In realtà dal punto di vista del TCP/IP si potrebbe usare un numero di porta qualsiasi, ma la standardizzazione ha portato ad associare alcuni numeri a dei servizi specifici (la porta 25 alla posta elettronica, la porta 80 al web, ecc.).

In genere in Unix le prime 1024 porte sono dette riservate in quanto solo l'amministratore può installarci sopra dei servizi; la corrispondenza fra queste porte ed i servizi che ci devono essere installati è regolata a livello internazionale: nessuno vi obbliga a rispettare la convenzione, ma se mettete la posta elettronica sulla porta 80 e il web sulla 25 avrete certamente delle grosse difficoltà a comunicare con gli altri, dato che in genere i browser cercano i siti sulla porta 80, ed i programmi di posta la mandano sulla 25.

Al di sopra della porta 1024 qualunque utente può mettere un suo servizio, alcuni però sono stati usati tradizionalmente da alcuni servizi, ed il file /etc/services tiene conto anche di questi. Esso contiene un elenco di numeri a ciascuno dei quali è associato un nome simbolico che individua il servizio ad esso associato dalle convenzioni internazionali. Un estratto del file è:

...
ftp-data        20/tcp
ftp             21/tcp
fsp             21/udp          fspd
ssh             22/tcp                          # SSH Remote Login Protocol
ssh             22/udp                          # SSH Remote Login Protocol
telnet          23/tcp
# 24 - private
smtp            25/tcp          mail
# 26 - unassigned
time            37/tcp          timserver
time            37/udp          timserver
whois           43/tcp          nicname
re-mail-ck      50/tcp                          # Remote Mail Checking Protocol
re-mail-ck      50/udp                          # Remote Mail Checking Protocol
domain          53/tcp          nameserver      # name-domain server
domain          53/udp          nameserver
mtp             57/tcp                          # deprecated
bootps          67/tcp                          # BOOTP server
bootps          67/udp
bootpc          68/tcp                          # BOOTP client
bootpc          68/udp
tftp            69/udp
gopher          70/tcp                          # Internet Gopher
gopher          70/udp
rje             77/tcp          netrjs
finger          79/tcp
www             80/tcp          http            # WorldWideWeb HTTP
www             80/udp                          # HyperText Transfer Protocol
...

Al solito, righe vuote e tutto quello che segue un # viene ignorato; ogni riga ha il formato:

nome           numero/protocollo    alias
dove nome é l'identificativo simbolico del servizio, numero è il numero di porta ad esso assegnato, protocollo indica se si tratta di UDP o TCP, e alias è la lista di eventuali altri nomi associati allo stesso servizio.

È guardando in questo file che vari programmi attinenti alla rete (ad esempio netstat) che riportano o richiedono un numero di porta per un servizio possono utilizzare il nome simbolico di quest'ultimo (www, ftp, telnet), qui specificato, invece che il numero.


next up previous contents
Next: Il file hosts Up: I principali file di Previous: Il file resolv.conf   Contents
Simone Piccardi 2002-08-08