2009-05-27 13 views
8

私は小さなネットワーク上にコンピュータを持っているので、私のIPは192.168.2.100です。私のIPアドレスを取得する

私は実際のIPを取得しようとしています。私はno-ipクライアントをダウンロードするが、それはちょうどそのような単純な事のための多くの問題のように思える。

私はhttp://www.ip-adress.com/ページを取得し、それが私に与えたIPを取得したこのPHPスクリプトを作成しました。

もっと簡単な方法はありますか?どちらかC、WSHまたは何かを使用しています。または、PHPに簡単な方法がある場合は教えてください。

私がipを取得したら、私はftpサイトにアップロードして、仕事場からipを見ることができます。

+0

既に行っているような外部サービスのスクラップは、おそらく十分です。唯一の方法かもしれない。あなたのルーターやモデムはインターネットにあなたの実際のIPを知っているでしょう。私はあなたがそれとどのようにプログラム的にインターフェースするのか分かりません。 – Albert

+6

http://www.whatismyip.org/は簡単なページを提供します。 – Albert

+1

あなたのIPは何のために必要ですか?静的アドレスが必要な場合は、DynDNSなどを使用します。その後、必要に応じてサーバー(リモートコントロール、HTTP/FTP/SSH ...)をインストールできます。 – schnaader

答えて

12

いいえ、実際には簡単な方法はありません。あなたのコンピュータは本当にそれが背後にあるパブリックIPを知らない - それは公共のインターネットとの間に任意の数のNATの層がある可能性があります。それが知っているのは、192.168.2.100でメッセージを受信し、192.168.2.1のゲートウェイを介して送信メッセージを送信することだけです。パケットがゲートウェイにヒットした後に何が起こるかはわかりません。

2

トラフィックを処理するときにリモートサイトが最終的に見えるようにするには、実際にリモートサイトにアクセスするしかありません。多くの場合、コンピュータはIPがプロキシまたはNATサーバーによって変更されていることを認識していない可能性があります。

0

あなたがやっているやり方は、おそらくそれと同じくらい良いです。

パブリックFTPサイトがあるとします。そこにはWebサイトもありますか?あなたの他の選択肢は、あなたのローカルマシンがその公開サイトにPHPページをアクセスさせることです。そのPHPページはあなたのものであることを確認してから、$ _SERVER ['REMOTE_ADDR']を使って外部IPを記録することができます。

3

あなたが求めているものではありませんが、あなたが望むものにはまだ適用されます。私は自宅のコンピュータにGMail Notifierをセットアップし、アカウント活動ページにアクセスして、どのIPアドレスが自分のGoogleアカウントにアクセスしているかを確認します。安全でシンプルな作品。

+0

素敵なアイディア:)シンプルで簡単。 – AntonioCS

1

ルータの中には、UPnP、具体的にはIGD protocolを介して外部IPアドレスを知らせるものがあります。 UPnP対応ルータを所有している場合は、これを試すことができます。 IStaticPortMapping::get_ExternalIPAddressは有望ですね。

SNMP対応デバイスでもIPアドレスを知ることができます。要求するOIDはIP-MIB::ipAdEntAddrです。

0

残念ながら、あなたがサーバーしている可能性が最も高い、それは自分の外部アドレスがあるように思われる何に完全に気づかされます(それはいくつかのルータ/ゲートウェイを経由してさらに上流に設定されることがありますよう)

あなたはこれを見て持つことができますリンク

http://ip-address.domaintools.com/myip.xml

あなたが現在やっているものよりも解析が少し楽かもしれません。

0

別のマシンの観点からIPアドレスを解決する方法について考えることはできません。ここにいくつかの考えがあります:

  • ip-adressの読み込みを自動化します。comのページと
  • NATの背後にいる間、私はいつも私のパブリックIPを取得するためにcurl http://whatismyip.orgを使用DynDNS
2

を見て、それを解析します。

0

あなたのコンピュータには、ホップが次のホップ(通常はルータの内部IP)以外の間で行われるNATまたはルーティングに関する情報はありません。内部アドレスがどのパブリックアドレスに変換されるのかを単に知ることはできません。

したがって、どの言語でも呼び出すことのできる簡単な関数やメソッドはありません。

唯一の2つの方法は、他の人に尋ねることです。どうすればいいですか?:

  • ルーターの管理サイトで正しいページを取得して解析することでNATルータに問い合わせます(それ自体がパブリックIPに変換されるため)。おそらく最も信頼性が高く、公平です。
  • http://dynamic.zoneedit.com/checkip.htmlのような公共サービスを取得して解析することによって、外部ホストにどのように見えるかを問い合わせます。 VBスクリプトの例はhereです。
1

を取得するには、このページにアクセスすることができます

http://www.whatismyip.global/

ウェブサイトが保持しますあなたのIPの歴史私のためには非常に便利です!

関連する問題