IP アドレスを取得する
-
06-09-2019 - |
質問
私は小規模なネットワーク上にコンピューターを持っているので、私の IP は 192.168.2.100 です。
本当のIPアドレスを取得しようとしています。no-ip クライアントをダウンロードしましたが、これほど単純なことに対して非常に面倒なようです。
このPHPスクリプトを作成しました。 http://www.ip-アドレス.com/ ページにアクセスして、与えられた IP を取得しました。
もっと簡単な方法はありますか?C、WSH、または何かを使用します。あるいはphpでもっと簡単な方法があれば教えてください。
IP を取得したら、それを自分の FTP サイトにアップロードして、職場から IP を確認できるようにします。
解決
いいえ、本当に簡単な方法がありません。お使いのコンピュータには、実際にそれが背後のパブリックIPを知らない - それと公共のインターネット間のNATの任意の数の層ができました。それは知っているすべては、それが192.168.2.100でメッセージを受信することである、と192.168.2.1のゲートウェイを介して送信メッセージを送信します。これは、パケットがゲートウェイにヒットした後に何が起こるかわかりません。
他のヒント
車輪の再発明注意してください、ちょうどそのための標準プロトコル、(既存の実装と)STUN に、。 パブリックIPの検出も参照してくださいプログラムでします。
ない非常に何を尋ねたが、まだあなたが望むものに適用されます。私はセットアップ私の自宅のコンピュータ上のGmailチェッカーとIPアドレスが私のGoogle ACOUNTにアクセスしているかを確認するために、アカウントアクティビティのページにアクセスしてください。セキュア、シンプルで作品ます。
あなたは、リモートサイトがあなたのトラフィックを処理するとき、その後の唯一の方法は、実際にリモート・サイトにアクセスすることであると思われる最終的なIPを取得したい場合。多くの状況では、コンピュータはIPがプロキシまたはNATサーバーによって変化しつつあることを認識できない場合があります。
私はいつもNATの背後にいる間、私のパブリックIPを取得するためにcurl http://whatismyip.org
を使用します。
あなたはまた、あなたのIPを取得するには、このページにアクセスすることができます。
一部のルータは、 IGDプロトコル、より具体的にするUPnPを経由して、あなたに彼らの外部IPアドレスを伝える、またはすることができますA>。あなたは、UPnP対応ルータを所有してしまった場合、あなたはこれを試すことができます。 IStaticPortMapping :: get_ExternalIPAddress の有望ですね。
SNMP対応デバイスは、あまりにも、あなたにそのIPアドレスを伝えることができます。求めるためのOIDさ IP-MIB :: ipAdEntAddrするます。
、私はこのウェブサイトを好まます:
http://www.whatismyip.global/する
のウェブサイトは、あなたのIPアドレスの履歴を保持します。私にとっては非常に便利です!
あなたがそれをやっている方法は、おそらく任意のと同じくらい良いです。
あなたが公共のFTPサイトを持っていると言う - あなたはまた、そこにウェブサイトを持っているのですか?あなたの他のオプションは、ローカルマシンは、その公共面するサイト上のPHPページにアクセスすることです。そのPHPページでは、それはあなたです確認し、あなたの外部IPを記録するための$ _SERVER [「REMOTE_ADDR」]を使用することができます。
残念ながら、あなたは、サーバーが最も可能性が高い(それはいくつかのルータ/ゲートウェイを経由してさらに上流に設定されることがありますように)、それは自分の外部アドレスがあるように思われる何に完全に気づかされますね。
あなたは、このリンクを見ている可能性があります。
http://ip-address.domaintools.com/myip.xmlする
それはあなたが現在やっているものよりも解析が少し楽かもしれません。
別のマシンの観点から IP アドレスを解決する方法がわかりません。ここにいくつかの考えがあります:
- の読み込みを自動化します。 ページ ip-adress.com て解析する
- 見る DynDNS
コンピュータには、次のホップ (通常はルーターの内部 IP) を除いて、コンピュータとインターネットの間で行われる NAT やルーティングに関する情報がありません。単純に、どのホップで内部アドレスがどのパブリック アドレスに変換されるかがわかりません。
したがって、どの言語でも呼び出すことができる単純な関数やメソッドはありません。
唯一の方法は他の人に尋ねることです。どうやって?:
- ルーターの管理サイトの適切なページを取得して解析することで、NAT ルーターに問い合わせます (ルーター自体がパブリック IP への変換を行うため)。おそらく最も信頼でき、公平です。
- 次のようなパブリック サービスを取得して解析することにより、外部ホストにあなたをどのように認識しているかを尋ねます。 http://dynamic.zoneedit.com/checkip.html. 。VB スクリプトの例は次のとおりです。 ここ.