1.DNS応答プロトコルが標準化されている(フォーマットの互換性が保たれる)。
2.歴史的にDNSサービス(OpenDNS、Google Public DNSなど)は長く存続する傾向にあり、安定性、拡張性、一般的な評価が高い。
2.歴史的にDNSサービス(OpenDNS、Google Public DNSなど)は長く存続する傾向があり、安定性、拡張性、一般的な評価が高いです。
3. (ミクロな最適化を気にするギークのために)この方法は本質的に高速でなければなりません(それが数マイクロ秒であっても)。
ルーターの後ろにいない場合は、
ifconfig
で調べることができます。ルーターの後ろにいる場合は、ルーターがネットワークアドレス変換を行うため、あなたのコンピューターはパブリックIPアドレスを知ることができません。 curl
や
wget`を使って、どこかのウェブサイトにパブリックIPアドレスを聞いて、そこから必要な情報を引き出すことができます。外部IPを見つけるには、外部のWebベースのサービスを利用するか、システムベースの方法を利用することができます。より簡単なのは外部サービスを利用することですが、「ifconfig」ベースのソリューションは、「NAT」の後ろにいない場合に限り、あなたのシステムで動作します。
外部サービスを使って外部IPを見つける
最も簡単な方法は、コマンドラインのブラウザやダウンロードツールを使って外部サービスを利用することです。Ubuntuでは
wget
がデフォルトで利用可能なので、これを利用することができます。自分のIPを見つけるには、次のように使います。
Courtesy:
また、上記のコマンドに若干の変更を加えて、
wget
の代わりにlynx
(ブラウザ)やcurl
を使用して、外部IPを検索することもできます。curl`を使ってipを見つける。
より良いフォーマットの出力のためには
より速い(間違いなく最も速い)方法は、
dig
を使用し、OpenDNS
をリゾルバとして使用します。ここでの他の回答はすべてHTTPでリモートサーバーに接続します。その中には その中には、出力の解析が必要なものや、User-Agentヘッダに依存して に依存しているものがあります。また、これらは頻繁に変更されます。 頻繁に変更されています(ダウンしたり、名前を変えたり、広告を出したり、出力形式を変更したり 出力形式の変更など)。)
Copied from: https://unix.stackexchange.com/a/81699/14497
外部サービスに頼らない外部IPの検索
ターミナルに以下のように入力します。
上記のうち、`
を実際のインターフェイス名に置き換えてください(例:
eth0,
eth1,
pp0` など)。使用例:
ターミナルに次のように入力してください(これは、システム内のすべてのネットワークインターフェースの名前とIPアドレスを取得します)。
使用例:。
N.B: 出力結果は参考値であり、実際とは異なります。
Courtesy: https://www.if-not-true-then-false.com/2010/linux-get-ip-address/
[1]: https://hawknotes.blogspot.in/2010/06/finding-your-external-ip-address.html
アップデイト
LANG=c
がifconfig
ベースの使用法に追加され、ロケール設定にかかわらず、常に英語の出力が得られるようになりました。私が使っているのは、:
はい、ipを持つことができます。)