トリッキーコードネット トップへ戻る   C/C++, Java, Perl, PHP, JavaScript, アルゴリズム, ショートコーディング, IOCCCコードの解説, 等々

サイト情報

トリッキーなコード

7行プログラミング

物凄いコード集

アルゴリズム

データ構造

C/C++な話題

コードサンプル

ツール/環境構築

開発ノウハウ 等

ネタ/ジョーク集

おススメ書籍/サイト

サイトTOP >> 開発ノウハウ 等 >> IPアドレスの偽装(詐称)とプロキシについて

IPアドレスの偽装(詐称)とプロキシサーバについて

インターネット通信の基盤とも言える「IPアドレス」、これは、現実世界の郵便配達でいう「住所」に相当します。
そして、サーバへ通信を行うと、大抵の場合は、アクセス元PCのIPアドレス、通信時刻、処理内容、etc・・・がサーバ内に記録されます。

その為、よく映画等では、
ハッカーがIPアドレスを偽装してサーバへ不正アクセスを行うシーンが出てきたりしますが、
あれは実際に可能なのでしょうか??


・・・結論から言ってしまいますと、不可能です。

(※ もし掲示板などで、「俺はIPアドレスを偽装して書き込みしてるんだぞ~~」と唸っている人がいたら、
   それは全くのデタラメの為、相手にしないようにしましょう^^;)



そもそも、Webサイト閲覧、メール等の通信は、全てTCPで動作しています。
(※ SkypeやYouTube等の、リアルタイム通話・動画視聴等はUDPです)


TCPでは、2台のコンピュータ間で通信を行う際、通信開始時に、

Client:「もしもし?? これから通信してもいいかな??」
Server:「オッケ~♪」
Client:「よっしゃ!ありがと~。」

という挨拶(これを3-way handshakeといいます)を行った後にデータを流すことが義務付けられている為、
IPアドレスを偽装してしまうと、このTCP通信開始時の挨拶さえも成立しなくなってしまいます。


TCP層よりももっと下位レイヤー(IP層)のプログラミングを行う事で、
通信元IPアドレスを任意に変更したパケットを送信する事は、技術的には可能
なのですが、そうすると、とてもじゃないですがまともな情報は取得できません。

(※ 逆に、最初から情報を取得する気はなく、サーバへ高負荷を与える事だけが目的の
   TCP-syn-flood攻撃やUDP-flood攻撃等では、IPアドレスの偽装は非常に有効です)

よって、IPアドレスの偽装は、事実上不可能なわけです。



さて、IPアドレスを完全に偽装する事は不可能なわけですが、
アクセス先のサーバへ、アクセス元PCのIPアドレスを知らせない方法はあります。
それが、プロキシ(Proxy)サーバを経由する方法です。

プロキシサーバを経由してアクセス

上図のとおり、通常ならばクライアントPC ⇒ Webサーバへと通信を行うところを、間にプロキシサーバを経由して通信を行わせます。
(※ 経由するプロキシサーバは複数台可です)

すると、最初に接続するプロキシサーバにのみ、クライアントPCのIPアドレスが記録され、
ウェブサーバにはクライアントPCのIPアドレスは記録されなくなります。
(∵ウェブサーバには、プロキシサーバからのリクエストしか来ない為です)


一昔前、アンダーグラウンドと呼ばれるサイトが流行っていたり、
一部の国からの2ちゃんねるアクセスが規制されていた事があった為、プロキシサーバを経由してのアクセスが人気でした。
(当時、プロキシサーバを経由してのアクセスを、「串をさす」なんて表現をしていました^^;)


ただし、プロキシサーバの種類によっては、
わざわざクライアントPCのIPアドレスを、リクエストヘッダに付けて通信を行うものもある為、
注意が必要になります。
(そういったプロキシサーバの事を、俗に「漏れ串」と言うんだそうです^^;)

プロキシサーバが漏れ串がどうかを判定するには、ブラウザにプロキシ経由の設定を行った後、
環境変数を表示するサイトへアクセスします。
(管理人も環境変数チェッカーを作成してみました。よろしければどうぞ♪)



ところで、「クライアントPCのIPアドレスを、接続先のサーバから隠す為」に使われがちなプロキシサーバの仕組みですが、
これは本来、

・インターネット回線が遅い環境にて、データのキャッシュに使われたり、
・ファイヤーウォールを兼ねて、セキュリティの強化 & 社員のネット利用に制限を設ける

為に開発された技術です。
まぁご参考までに・・・。



以下のページに、各ブラウザにプロキシ経由の設定を行う方法を説明します。 IE, Firefox, Chromeのプロキシ経由設定
         このエントリーをはてなブックマークに追加   


作業効率化・ライフハックのオススメ記事




コンピュータ・テクノロジーのオススメ記事





恋愛・人間関係のオススメ記事




※ 当サイトは、トップページからリンクで辿る事の出来るページに限り、リンクフリーです。
※ 当サイトの閲覧/利用によって生じた如何なる損害も、当サイト管理人は責任を負いません。
※ 当サイトの内容を転載される場合は、当サイトへのリンクをお願い致します。