1. ホーム
  2. javascript

[解決済み] JavaScriptでユーザーのローカルLANのIPアドレスを取得できるか?

2022-05-18 10:50:48

質問

この質問に対する最初の反応は、「いいえ」、「できません」、「必要ありません」、「何か間違っています」であることを知っています。私がしようとしているのは、ユーザーのLANのIPアドレスを取得し、それをWebページに表示することです。なぜか?なぜなら、私が取り組んでいるページは、訪問者であるあなたに関するできるだけ多くの情報を表示するためのものだからです。 https://www.whatsmyip.org/more-info-about-you/

つまり、情報提供のためにユーザーにIPを表示する以外、実際には何もしていないのです。私は以前、小さな Java アプレットを使用して、これを実行しました。これはかなりうまくいきました。しかし、最近のブラウザは、最もマイナーな Java アプレットを実行するために、同意と信頼を何度も押させるので、まったく実行しないほうがよいと思っています。

そのため、しばらくの間、私はこの機能を削除していましたが、可能であれば戻して欲しいと思っています。これは、コンピューター コンサルタントである私が実際に時々使用するものでした。ネットワークがどの IP 範囲で実行されているかを確認するには、システム環境設定、ネットワーク、およびアクティブなインターフェイスに行くよりも、この Web サイトに行く方が速いのです。

そこで、javascript だけでそれを行う方法はないものかと考えています。おそらく、javascript がブラウザに地球上の地理的な場所を尋ねるのと同じように、アクセスできる新しいオブジェクトがあるはずです。クライアント・ネットワーキング情報にも似たようなものがあるかもしれません。そうでなければ、何か他の方法があるのでしょうか?私が思いつくのは、Javaアプレットか、フラッシュオブジェクトです。どちらもやりたくはないのですが。

どのように解決するのですか?

結論から言うと、HTML5 の最近の WebRTC 拡張機能では、javascript でローカル クライアントの IP アドレスを照会できます。コンセプトの証明はここで入手できます。 http://net.ipcalf.com

この機能はどうやら によって設計されています。 であり、バグではありません。しかし、その論争の的となる性質を考えると、私はこの動作に依存することには慎重であるべきだと思います。とはいえ、意図した目的 (ブラウザが何をリークしているかをユーザーに明らかにする) には完璧かつ適切に対処していると思います。