Linux

【Linux】「/etc/services」ファイルとは?

2023年2月15日


 

「/etc/services」ファイルについておしえて下さい。

こんにちはユキトモです。

今回は「/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簡単インストール! ロリポップレンタルサーバー ★

ドメイン登録数 国内シェア№1 お名前.com

未経験から最短でエンジニア転職を目指す

【初心者でも安心】たった10分で出来るWordPressブログの始め方



-Linux
-, , , ,