getservbyname SERVICE, PROTO
サービス名からポート番号を取得します。
getservbyname
はhttp・smtp・ftp
などのサービス名に対応するサービス情報(サービス名/エイリアス/ポート番号/プロトコル名)のリストを返します。スカラコンテキストの場合は、サービス名を返します。
getservbynameの使い方
$port = getservbyname('http', 'tcp');
第2引数には、tcp
のほかにもudp
などが指定できます。プロトコル名とポート番号の対応表は、UNIX
なら/etc/services
から調べられます。
/etc/servicesの内容の抜粋
gopher 70/udp
netrjs-1 71/tcp # Remote Job Service
netrjs-1 71/udp # Remote Job Service
netrjs-2 72/tcp # Remote Job Service
netrjs-2 72/udp # Remote Job Service
netrjs-3 73/tcp # Remote Job Service
netrjs-3 73/udp # Remote Job Service
netrjs-4 74/tcp # Remote Job Service
netrjs-4 74/udp # Remote Job Service
finger 79/tcp
finger 79/udp
http 80/tcp www www-http # WorldWideWeb HTTP
http 80/udp www www-http # HyperText Transfer Protocol