http://whatismyip.comルックアップに似ています。明らかにそこにコンピューターを照会する必要があります。誰かがそれを行う賢い方法を持っているかどうか疑問に思っていますか?
http://whatismyip.comルックアップに似ています。明らかにそこにコンピューターを照会する必要があります。誰かがそれを行う賢い方法を持っているかどうか疑問に思っていますか?
回答:
dig + short myip.opendns.com
これは、DNSサーバーとしてOpenDNSを使用している場合にのみ機能します。
そうでない場合は、次のいずれかが機能するはずです。
dig + short myip.opendns.com @ 208.67.222.222 dig + short myip.opendns.com @ 208.67.220.220 dig + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
@resolver1.opendns.com
(読みやすくするため)
STUNは適切なソリューションです。
%stun -v stun.ekiga.net ... MappedAddress = 88.189.152.187:18009
「リンクスhttp://whatismyip.com」
ifconfigコマンドを使用して、すべてのインターフェースとそれらに関連付けられたIPアドレスをリストできます。
したがって、インターネットインターフェイスがppp0であることがわかっている場合は、次を実行できます。
$ ifconfig ppp0 ppp0リンクencap:Point-to-Pointプロトコル inet addr:XXXX.X PtP:YYYYマスク:255.255.255.255 UPA POINTOPOINT RUNNING NOARP MULTICAST MTU:1444 Metric:1 RXパケット:198986エラー:0ドロップ:0オーバーラン:0フレーム:0 TXパケット:122929エラー:0ドロップ:0オーバーラン:0キャリア:0 collisions:0 txqueuelen:3 RXバイト:134195571(127.9 MiB)TXバイト:17101701(16.3 MiB)
XXXXがIPアドレスになります。YYYYはネクストホップのIPアドレスです。
次に、grep / awk / sed / cut / perl / whateverを使用してifconfigの出力を後処理して、IPのみを抽出できます。
iprouteツールをインストールしている場合は、ipコマンドを使用することもできます。例えば
$ ip addr list ppp0 21842:ppp0:mtu 1444 qdisc htb state UNKNOWN qlen 3 リンク/ ppp inet XXXXピアYYYY / 32スコープグローバルppp0
それはおそらく読みやすく、確かに解析しやすいでしょう:
$ ip addr list ppp0 | awk '/ inet / {print $ 2}' XXXX