• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:自分のIPアドレスの取得方法)

自分のIPアドレスの取得方法 - Ubuntu 11.04でのruby1.8.7の使用

このQ&Aのポイント
  • Ubuntu 11.04でruby1.8.7を使用している場合、自分のIPアドレスを取得する方法を探しています。
  • ifconfig -aではeth0のinet addrとして192.168.153.129が表示されていますが、これを取得したいです。
  • /etc/hostsの変更なしに自分のIPアドレスを取得する方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • shiren2
  • ベストアンサー率47% (139/295)
回答No.1

Rubyは全くの初心者ですけど、やっつけ仕事でいいならこれでどうですか。 #!/usr/bin/ruby `ifconfig eth0` =~ /inet ([\d\.]+)/; printf("%s\n", $1)

lakings
質問者

お礼

なるほど。 外部コマンドの出力を利用するのですね。 試したところうまくいきそうです。 ありがとうございます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

そもそもIPアドレスは、ネットワークインタフェースに紐づくものなので、何をもって「自分のIPアドレス」とするかを明確化したほうがよいと思います。 一覧を取得するなら、回答No.1さんが書かれているように、ifconfigの出力を整形するのが一番手っ取り早いかと。 あるいは外部と通信するためのIPアドレスを指定したいということなら、デフォルトゲートウェイにつながるインタフェースを判別し、そのIPアドレスを取得するとか。

lakings
質問者

お礼

回答ありがとうございます。 自分が外部PCからアクセスされる際に使用するIPアドレスを取得したかったのです。 ifconfigの整形でうまくいきそうです。 rubyのSocketのAPIで何かいい手があるのではないかと思っていましたが、このようなIPアドレスを取得するというのは簡単そうで意外と難しいのですね。

関連するQ&A