【自分のIPアドレス】を確認したい

PHP

「ネット上の自分のIPアドレスを知りたい」
FTPのアクセス制限などで、必要な情報になります。

アクセス元IPアドレスを逆引きすると、アクセス元(自分の)ホスト名を確認できます。多くの場合、これは契約プロバイダのドメイン名になります。

以下が、サーバー側から見えるアクセス元の情報です。


アクセス元IP : 34.204.172.188
アクセス元ホスト名 : ec2-34-204-172-188.compute-1.amazonaws.com

アクセス元IPアドレスを確認

コード

<?php
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo <<<EOM
アクセス元IP : ${_SERVER["REMOTE_ADDR"]}
<br>
アクセス元ホスト名 : $host
EOM;

このPHPは「ショートコード」で呼び出しています。

IPアドレスとは?

ローカルIPアドレス

ローカルIPアドレスの確認方法です。
コマンドラインから
mac>ifconfig
win>ipconfig
として確認できます。通常は「192.168.???.???」(???は0-255)が割り当てられています。ローカルIPアドレスといいます。

家庭内、社内などのローカルエリアに属するPCには、それぞれ個別のローカルIPアドレスを持っています。通常はDHCPで自動的に決定されます。

グローバルIPアドレス

ゲートウエイ(ルータ)からプロバイダを経由して、インターネットに船出するときグローバルIPアドレスが割り当てられます。先ほど確認した「ネット上の自分のIPアドレス」です。

サーバーにアクセスしてWEBサイトを閲覧するとき、サーバー側からはアクセス元IPアドレスとして、このグローバルIPアドレスが認識されています。

サーバー側IPアドレス

コマンドプロンプトから

>nslookup yahoo.co.jp
>ping yahoo.co.jp

などとすると、DNSでドメイン名が正引きされて「サーバー側IPアドレス」を確認できます。

このサイト(https://lufa-tawasi.com/)の情報は、こちらで確認できます。

「正引き」/「逆引き」

ホスト名(ドメイン名)からIPアドレスを取得することを「正引き」といいます。
>nslookup yahoo.co.jp
正引き:yahoo.co.jp→183.79.135.206

IPアドレスから、ホスト名を解決することを逆引きと呼びます。
>nslookup 183.79.135.206
逆引き:183.79.135.206→yahoo.co.jp

「DNS」名前解決

数字の羅列(183.79.135.206)は、人には識別できないのでホスト名(yahoo.co.jp)を利用してサイトにアクセスします。

この時、ブラウザはネームサーバー(DNS/BIND)で名前解決(IPアドレスを取得)します。

【IPv4】IPアドレス数は有限

255x255x255x255=4,228,250,625‬

  • IPv4:地球上に約42億個(2の32乗個)の有限なIPアドレスです。
      (その枯渇が警鐘されて久しいです。)
  • IPv6:(Internet Protocol Version 6)2の128乗個のIPアドレスを持てます。

コメント

タイトルとURLをコピーしました