「ネット上の自分のIPアドレスを知りたい」
FTPのアクセス制限などで、必要な情報になります。
アクセス元IPアドレスを逆引きすると、アクセス元(自分の)ホスト名を確認できます。多くの場合、これは契約プロバイダのドメイン名になります。
以下が、サーバー側から見えるアクセス元の情報です。
アクセス元ホスト名 : 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アドレスを持てます。
コメント