- ベストアンサー
/etc/servicesの設定について
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> なぜ記述していないものも、動けてしまうのか教えてください。 まず、結論から言うと、ソケット通信を行う際に /etc/services にポート番号が 記述されていることは、必須ではありません。 プログラムの中に、直接ポート番号を記述することができます。 ただし、良く知られている番号以外は、ポート番号がかち合っちゃうことがある ので、ソケット通信を行うアプリケーションが利用するポート番号を指定する 共通の仕組みとして /etc/services ファイルがあるのです。 ご存知のように、このファイルには、サービスを表す名前とポート番号が対で記述 してあります。 アプリケーションの方では、ポート番号ではなく、サービス名の方をプログラムの 中に記述をし、getservbyname() 関数などでポート番号を取得するように作ります。 このやり方でも、ポートに相当する「サービス名」をプログラム中に記述するわけ ですから、そのサービス名が複数のアプリケーションでかち合ってしまう問題が 解消されているわけではありません。 ただの数値よりも、文字列の方が冗長度が高いので、かち合ってしまう問題が 起こり難いだろう、ということです。
関連するQ&A
- inetd.confの設定について
Solaris8を使用しておりますがinetd関連の設定ファイルとして/etc/inetd.confと/etc/inet/inetd.confがあります。双方の役割と違いについてお教え願えないでしょうか。よろしくお願いいたします。
- ベストアンサー
- その他(OS)
- inetd経由でhttpdを2つ起動する方法
/etc/servicesはinetdが参照します。 ではhttpdを2つinetd経由で起動する場合はエントリを二つ書くのでしょうか? その場合、どのように記述すればよいのでしょうか?
- ベストアンサー
- Linux系OS
- services.exe について教えてください
PCは FMV CE117A Windows-XP HE SP2、アンチウィルスソフトは「キングソフトアンチウィルス 2006」を使っております。 PCの調子が悪いので昨晩リカバリーしました。 一通りの設定を終えてネットに接続したところ、キングソフトアンチウィルスに同梱されているファイアーウォールが以下のような警告を発しました。 ---------------------- ネットワークアクセス警告 警告:services.exe プログラムはメールを送信しようとしています。 ネットワーク情報 ネットワークプロトコル:TCP リモートアドレス:207.69.200.17 リモートのポート:25 ファイルの情報 ファイル名:services.exe ファイルバージョン:0.0.0 製造日期:2006-06-24 14:15:13 ファイルパス:C:\WINDOWS\etc\services.exe --------------------- システム内を検索したところ、次のものが見つかりました。 --------------------- 検索結果 services C\WINDOWS\system32 106KB アプリケーション 2004/08/04 0:56 services C\WINDOWS\servicePackFiles\i386 106KB アプリケーション 2004/08/04 0:56 ------------------- この services.exe は、そのまま実行させておいてよろしいでしょうか? また、なぜメールを送信しようとするのでしょうか? お教えください。よろしくお願いいたします。
- ベストアンサー
- Windows XP
- ポートの開放
/etc/inetd.conf AAA stream tcp nowait nobody /usr/local/bin/BBB BBB -inetd /etc/services AAA 5000/tcp /etc/hosts.allow BBB : ALL と記述して、UNIXマシンを再起動しました。その後、同じネットワーク内の他のマシンを使ってポートスキャンでポート5000をたたいても、このポートは開放されません。 当然、サービスAAAを使おうとしても、 unable to connect to host: Connection refused というエラーが出てしまいます。 何か設定忘れ、あるいは記述忘れなどがあるのでしょうか?
- 締切済み
- Linux系OS
- VNCの設定について
サーバーマシン(UNIX)に、VNCサーバーを導入し、windowsからVNCviewerを実行させてサーバーマシンを動かそうとしています。 サーバーマシンの/etc/inetd.confに、 vnc-1024x768x8 stream tcp nowait nobody /usr/local/bin/Xvnc Xvnc -inetd -query localhost -once -geometry 1024x768 -depth 8 -cc 3 を追記し、/etc/servicesには、 vnc-1024x768x8 5952/tcp #XVNC を追記し、/etc/hosts.allowには、 Xvnc : ALL を追記し、リブートしました。 このようにすれば、vncserverを走らせることなく、クライアントwindowsPCからvncviewerを起動し、(サーバーマシンのIP:5952)と 入力すればサーバーマシンの画面がwindows画面に現れるはずです。しかし、 unable to connect to host: Connection refused (10061) というエラーが表示されます。おそらくサーバー側のポート5952が 開放されていないからだと思います。 この場合のポートを開放する設定ファイルみたいなものはどこに あるのでしょうか。ちなみに、サーバーはsolarisですが、 linuxの場合でも良いので教えてくれればうれしく思います。
- ベストアンサー
- その他([技術者向] コンピューター)
- 開いているポートを調べたいのですが・・
開いているポートで、何番ポートが開いているか、そのポートを使用しているサービスは何か。そのサービスは閉じていいのか。 調べる必要があります。 <前提> ・solaris10(用途別に4台) ・標準コマンドで調べたい。(コマンドのインストールは難しい) <試した行動> ・netstat -t <solarisでは使用できない> ・netstat -(いろいろ) <port番号が出ない> ・/etc/services <コメントアウトしているポートなし> <結果> ・setstatコマンドで表示される項目の意味がわかりません。 ・lissonしているport番号が表示されません。 このような状況で手詰まりしています。 解説サイトも見当たりません。 ご存知でしたら、回答をお願いいたします。
- ベストアンサー
- Solaris系OS
- /etc/vfstabに記述してもmountできない
OSはSolaris10です。 /etc/vfstabに記述してOS再起動してもmountができない状態です。 ファイルの書き方は問題ありません。(以前問題なかったの資料を参考にしました) mountコマンドではmountできます。 以前Solaris9で行った時は/etc/vfstabに記述すれば普通にOS再起動後にmountされていたのですが、何か他に変更するファイルなどがあるのでしょうか。 /etc/vfstabに記述した後OS再起動時にmountされない状態でformatコマンドを打ちvfstabに指定したディスクのデバイスパスを指定すると、そのvfstabに記述したが認識されない部分がエラーとなって出てきました。 助言頂けると幸いです。
- 締切済み
- Solaris系OS
- Redhadでのネットワーク設定ファイル
以前はsolarisを使用していたのですが、 Redhatでは以下の設定はなんというファイルで行うのでしょうか? (1)マシン名(solarisでの/etc/hostname.bge0) (2)ログイン画面に表示される名前(solarisでの/etc/nodename (3)IPアドレス(solarisの/etc/hosts) (4)ルータ(solarisでの/etc/defaultrouter) (5)ネットマスク(solarisの/etc/netmasks) (6)nfs許可(solarisでの/etc/dfs/dfstab)
- ベストアンサー
- Linux系OS
- Solaris10セキュリティ対策について
Solaris10環境で、以下を実施する方法を教えてください。 ※セキュリティ対策を講じるため、以下に"不要な"という表現をしています。 1. 開放されているポート番号の確認方法 2. 不要なポートの閉塞方法 3. 不要なサービスの停止方法 svcadmコマンドとinetdコマンドを使用する方法があると思いますが、使い分けがわかりません。 よろしくお願いします。
- ベストアンサー
- Solaris系OS
お礼
早速のご回答ありがとうございます。 /etc/servicesの使われ方がよくわかりました。 とてもわかりやすかったです。 ありがとうございました。