web-dev-qa-db-ja.com

マシンの外向きのIPアドレスを表示するコマンドラインの方法はありますか?

マシンの外向きのIPアドレスを表示するコマンドラインの方法はありますか?

3
zim

Whatismyip.comなどを呼び出して、興味深い部分を返すスクリプトをまとめることができます(ただし、そのようなWebサイトではそうすることを好まない場合があります)。あなたのコンピュータは知らないので、一般的に、あなたは他の誰か(他のコンピュータ)にあなたのIPが何であるかを尋ねなければならないでしょう。ルーターに問い合わせることもできますが、解析はおそらく難しくなります。

ルーターがNAT *を使用しているため、コンピューターは外部IPアドレスを認識していません。コンピュータを離れるパケットはfrom:[内部IP]を持っていますが、ルーターはそれをfrom:[ルーターの外部IP]にマングルし、インターネットに送信します。次に、ルーターは、返されたパケットのto:フィールドをアンマングル(またはリマングル)して、コンピューターに転送します。**

以下からほぼクリーンな出力を得ることができます。

wget -q -O - checkip.dyndns.org

*ネットワークアドレス変換。

**これは、NATがどのように機能するかについての手振りの説明にすぎません。

7
Greg

checkip.dyndns.org のように、世界中のさまざまなWebサイトから入手できます。 IPアドレスを教えてくれるサイトができたら、curlを使用してページをフェッチし、awkを使用してページを解析するのはそれほど難しくありません。

curl http://checkip.dyndns.org/ 2> /dev/null | Ruby -pe '$_=$_.scan(/\d+\.\d+\.\d+\.\d+/)'
4
Ken Bloom

ifconfig.me には、いくつかの優れたcmd行オプションがあります。

これはあなたのIPを返します

curl ifconfig.me/ip

これは大量の情報を返します

curl ifconfig.me/all
2
MJ.