こんにちはユキトモです。
今回は「/etc/services」ファイルについて解説していきます。
この記事でわかること
- 「/etc/services」ファイルの概要が分かります。
「/etc/services」ファイル
ひとことで言うと
「TCPやUDPのポート番号とそのポートを利用するサービスやプロトコル名の情報を対応させるファイル」
です。
筆者の環境の例を抜粋して記すと
/etc/services
 
ssh 22/tcp # The Secure Shell (SSH) Protocol
ssh 22/udp # The Secure Shell (SSH) Protocol
「#」以降はコメント行です。自由に記述することができます。
ポート番号22は通常、SSHプロトコルの通信で利用されます。
上の記述は、TCPとUDPの22番ポートに「ssh」という名前をつけています。
これによってユーザは「22番ポートはSSHプロトコルで利用される」と判別することができます。
「/etc/services」ファイルが利用される例として、
netstatコマンドを実行してみると以下のように表示されます。
netstat -atu
 
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 home1:ssh 192.168.*.*:* ESTABLISHED
tcp 0 0 home1:smtp 192.168.*.*:* ESTABLISHED
「ssh」、「smtp」と表示されている部分があります。
これは本来は「ポート番号22番」および「25番」を意味します。
netstatコマンドが/etc/servicesを参照して、
ポート番号からサービスの名前に変換を行っています。
netstatコマンドは-nオプションをつけて実行することで名前解決を行わなくなります。
以下に記します。
netstat -atun
 
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.*.*:22 192.168.*.*:* ESTABLISHED
tcp 0 0 192.168.*.*:25 192.168.*.*:* ESTABLISHED
名前解決が行われなくなるので、
ポート番号も/etc/servicesを参照しないで、
ポート番号を表示しています。
「/etc/services」がポート番号とサービスの紐付けをしていることは、
「/etc/nsswitch.conf」の中に書かれています。
WordPress専用クラウド型レンタルサーバー『wpX Speed』
ムームードメイン
★月額110円〜/WordPress簡単インストール! ロリポップレンタルサーバー ★