services - databáze služeb sítě Internet
services je čitelný textový soubor
poskytující převod mezi názvy služeb a jim
příslušných čísel portů a
protokolů. Každý síťový program by
měl z tohoto souboru získat číslo portu a typ
protokolu. Knihovna jazyka C poskytuje funkce
getservent(3),
getservbyname(3),
getservbyport(3),
setservent(3), a
endservent(3), které slouží k obsluze této
databáze.
Čísla portů jsou přiřazována
organizací IANA (Internet Assigned Numbers Authority), jejich
současná strategie je přiřazovat jak TCP tak i UDP
protokoly pro čísla portů. Proto má
většina záznamů dva záznamy i pro
služby provozované pouze nad TCP protokolem.
Porty s čísly menšími než 1024 mohou
být přiřazeny pouze superuživatelem (viz
bind(2),
tcp(7) a
udp(7)). To je proto, aby klienti,
kteří se připojují na tyto porty mohli
důvěřovat, že zde běží
standardní aplikace a ne nějaký prográmek
nějakého uživatele. Standardní čísla
portů specifikovaná IANA jsou normálně
umístěna v této oblasti.
Výskyt dané služby v databázi služeb
ještě neznamená, že služba na tomto
počítači momentálně
běží, viz
inetd.conf(5), kde je uvedeno
více o konfiguraci internetových služeb. Mějte
však na paměti, že ne všechny
síťové služby musí být
startovány pomocí
inetd(8), a proto se nemusí
vyskytovat v
inetd.conf(5). Např. news (NNTP) a mail (SMTP)
servery jsou často inicializovány ve startovacích
skriptech.
Umístění souboru
services je definováno
konstantou
_PATH_SERVICES v
<netdb.h>. Obvykle je
nastaveno na
/etc/services.
Každý řádek obsahuje jeden záznam ve tvaru:
-
service-name port/protokol [aliases
...]
- kde:
- service-name
- je název služby pod kterým je
známa a vyhledávána. Velikost písma je
rozhodující. Často je klient pojmenován
stejně jako služba samotná.
- port
- je číslo portu v desítkové
soustavě.
- protokol
- je typ použitého protokolu. Toto
políčko by mělo vyhovovat záznamu ze souboru
protocols(5). Obvyklé hodnoty jsou tcp a
udp.
- aliases
- toto je volitelný seznam přezdívek
oddělený mezerou nebo tabulátorem. Opět zde
rozhoduje velikost písmen.
Jednotlivá pole jsou oddělena mezerami nebo tabulátorem.
Komentáře začínají znakem # a
pokračují až do konce řádku.
Prázdné řádky jsou vynechány.
service-name by mělo začínat na
začátku řádku, protože mezery na
začátku nejsou odstraňovány.
service-names
mohou být jakékoliv tisknutelné znaky kromě mezery
a tabulátoru, ale z důvodu kompatibility se doporučuje
použít pouze znaky a-z, 0-9, a pomlčka (-).
Řádky, které nevyhovují tomuto formátu, by se
zde neměly vyskytovat. (V současné době jsou
funkcemi
getservent(3),
getservbyname(3), a
getservbyport(3) tiše ignorovány, ale na to by se
nemělo spoléhat.)
Tento soubor může být distribuován po síti
přes jmenné služby jako Yellow Pages/NIS nebo
BIND/Hesiod.
Jednoduchý soubor
services může vypadat nějak
takto:
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send protocol
msp 18/udp # message send protocol
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp 21/tcp
# 22 - unassigned
telnet 23/tcp
- /etc/services
- databáze služeb sítě
Internet
- <netdb.h>
- Definice konstanty _PATH_SERVICES
listen(2),
endservent(3),
getservbyname(3),
getservbyport(3),
getservent(3),
setservent(3),
inetd.conf(5),
protocols(5),
inetd(8)
Assigned Numbers RFC, nejnovější RFC 1700,
(také známo pod STD0002).
Překlad této příručky do
španělštiny vytvořili Pavel Heimlich
<
[email protected]>
Tento překlad je bezplatná dokumentace;
Přečtěte si
GNU
General Public License Version 3 nebo novější
ohledně podmínek autorských práv. Neexistuje
ŽÁDNÁ ODPOVĚDNOST.
Pokud narazíte na nějaké chyby v překladu
této příručky, pošlete e-mail na adresu
[email protected]