これにより、パブリック IP が返されます
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
DSL/ケーブルモデム/などのルーティング可能なIPを意味します。ルーターは?
そのデバイスにクエリを実行するか、外部サーバーに接続時に表示される IP を問い合わせる必要があります。これを行う最も簡単な方法は、Google で「what is my ip」を検索することです。計算検索と同様に、最初の検索結果に表示されます。コマンドラインから実行したい場合は、情報をエコーアウトするスクリプトの出力を確認する必要があります。ダイナミック DNS サービス dyndns.org には、使用できるサービスがあります - このコマンドを試してください
wget http://checkip.dyndns.org -O -
のようなものが得られるはずです
HTTP request sent, awaiting response... 200 OK
Length: 105 [text/html]
Saving to: ‘STDOUT’
- 0%[ ] 0 --.-KB/s <html><head><title>Current IP Check</title></head><body>Current IP Address: 192.168.1.199</body></html>
- 100%[===================>] 105 --.-KB/s in 0s
2017-09-20 14:16:00 (15.4 MB/s) - written to stdout [105/105]
私の IP を一般的なルーティング不可能なものに変更し、太字にしました。
IPだけが必要な場合は、そこから解析する必要があります-迅速で汚いですが、私にとってはうまくいきます.もっと安全な方法があると 100% 確信しています...
wget http://checkip.dyndns.org -O - | grep IP | cut -f 2- -d : | cut -f 1 -d \<
192.168.1.199
代替手段 (解析を避ける):
IPv4 を取得するには
curl -4 icanhazip.com
IPv6 を取得するには
curl -6 icanhazip.com