• 締切済み

サービス番号(ポート)を取得する方法

サービス名とそのポート番号を自分で指定し、プログラム中からサービス名 を指定すると、そのポート番号が返ってくるようなメソッドはないのでしょうか。 例えば、Unixで言えば、/etc/servicesに使われているポート番号が一覧で入っていますが、"telnet"という引数を渡すと、"23"が返ってくるようなメソッドです。 C言語ではそのような関数がライブラリにあったと思うのですが、Javaにはないのでしょうか。

  • yasu1
  • お礼率20% (2/10)
  • Java
  • 回答数1
  • ありがとう数2

みんなの回答

回答No.1

getservbyname に相当する機能だと思いますが、Java にはそれと同様の機能を 提供するようなクラスやメソッドはなかったと思います。

参考URL:
http://forum.sun.com/thread.jsp?forum=8&thread=1573

関連するQ&A

  • ポートの開閉の方法

    /etc/inetd.confおよび/etc/services を設定しています。この2つでポートの開閉ができるそうですが、うまく開閉できません。マシンはsolarisですが、linuxユーザーの方の回答も歓迎です。 ローカルマシンから対象のマシンに対してポートスキャンする方法で確認しています。 inetd.confとservicesに、サービスとポート番号を記述/削除してリブートするだけではだめなのでしょうか?

  • LANではポート番号さえ分かればIPはいらない?

    ただいま高校生で、先生にプログラミングコンテストに出るように言われてこまっています。何せ言語はJava指定でして・・・ 私はCしかやったことがないので無理だと思いました。しかし、よくよく読んでみたら別にJavaじゃなくてもいいと言うことが分かりました。 http://www.zenjouken.com/pro/kadai/connect.htm で、こういう説明なんですが、これだけではIPが分かりませんorz ここに書いてあるソケットの番号って、ポート番号ですよね? そこで、ふと思いました。 LANではポート番号さえ分かればプライベートIPアドレスの情報はなくても通信できるのでしょうか? 文章が下手で分かりづらく、すみません・・・ 回答をお待ちしていますm(_ _)m

  • javaのメソッドの引数で、クラスの配列を指定する

    javaのメソッドの引数で、クラスの配列を指定する事は可能なのでしょうか? 受け取るメソッドでは引数の所に何と書けば良いのでしょうか? 教えてください!

    • ベストアンサー
    • Java
  • Javaで

    C言語ではUNIX上のコマンドを呼ぶには System("呼びたいコマンド");とすればコマンドがプログラムから呼べたと思います。Javaで同じようにUNIX上のコマンドを呼ぶ関数(メソッドっていうのかな?)はなんですか?

  • サービスポート監視の仕方について

    Web等のサービスの監視というと場合telnet IPアドレス ポート番号 で結果を見ればよいのでしょうか? 市販の監視ツールなどは何をおこなっているのでしょうか?

  • UNIX CからのJAVA起動について。

    いつもお世話になっております。 OS:UNIX、 言語:C言語で、JAVAで作成したクラスを引数を渡して起動したいのですが、やり方がわかりません。 実現可能なのかもよくわかりません。 UNIX開発は今回が初めてで困っております。 参考ソースや参考URLがありましたら、教えてください。 よろしくお願いいたします。

  • telnetについて。

    telnetについて、いまいちよく分かりません。 例えば、下記のページを見るとあるメールサーバにリモートログインするには、 telnet [サーバのドメイン名] 110 等のように、すればいいとあります(実際に、出来ました)。 ただ、分からないのがtelnetは23番ポートと決まっているのですよね?さらに、なぜ別のポート番号を指定できるのでしょうか?これは、どういう動きをしているのでしょう? よろしくお願いします。 http://www.atmarkit.co.jp/fwin2k/win2ktips/216telnetsrv/telnetsrv.html

  • サーバからクライアントにポート番号を指定する方法

    java初心者です。 現在javaを使ってサーバとクライアントのsocketプログラムを作っています。 動作としてはサーバ側がクライアントに対して接続するポートを指定し、以後クライアントがサーバに対して通信を行う際には指定されたポート番号を使って通信を行うような動作をさせたいのですがうまくいきません。 そのため、みなさんの知恵を拝借したいのですが、アドバイス等頂けないでしょうか。 また、javaでは実現不可能だとするのでしたら、その理由も詳しく教えていただけると幸いです。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • ポートの開放

    /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 というエラーが出てしまいます。 何か設定忘れ、あるいは記述忘れなどがあるのでしょうか?

  • telnet 初心者です。

    telnetの参考書を買いました。 Windows2000 で、ファイル名を指定して実行に”telnet”と、打ち込みました。 Microsoft Telnet > と表示されます。 Microsoft Telnet > open 192.168.0.1 と、打っても接続できません。どうしてでしょうか? ルータのIPアドレスが192.168.0.1であることは間違いありません。 ポート番号:23 接続失敗しました。 と、表示されます。 ルーター側でtelnetを受け入れる設定が必要なのでしょうか? 何か間違っていますか?