• ベストアンサー

IPアドレス

IPアドレスは偽ることが出来るのでしょうか。 もし出来るとして。私がインターネットに接続しているときに、私と同じIPで誰かがインターネットに接続した場合はどうなるのですか。 なにも、なく接続できてしまうのか、それともどちらかが使えないのか。。。どうでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.5

TCP/IPプロトコルスタックってわかりますか? プロトコルスタック上のアプリケーションはクライアントソフトウェアとサーバーソフトウェアです。 一般にサーバーをアプリケーションとは呼びませんが、プロトコルスタック上ではアプリケーションに分類されます。 つまり、Webブラウザ、Webサーバー、メールクライアント、メールサーバーなどがアプリケーションです。 ICP/IPにおける通信は「送信側IPアドレス」「送信側ポート番号」「受信側IPアドレス」「受信側ポート番号」の4つの情報が必要です。 この4つの情報はIPパケットと呼ばれる特殊なデータ(通信データそのもの)に含まれます。 たとえばpingコマンドでコンピュータの存在確認するとき、pingプログラム自信が認識している情報は受信側IPアドレス(pingの送り先)と受信側ポート番号(echo/ICMP=5番)だけです。 送信側IPアドレスと送信側ポート番号はアプリケーションプログラムであるpingプログラムが関与できない層(IP層)で確定し、IPパケットに設定されます。 pingを受信したコンピュータは受信したIPパケットから送信側IPアドレスを取得することが出来ます。 結果、pingコマンドに対する返信を送り返すことが出来ます。 アプリケーションが送信側(=自分)のIPアドレスを意識するタイプのクライアントアプリケーション(Webブラウザ、メールクライアントなど)であっても、IPパケットには送信側IPアドレスが設定されるため、クライアントアプリケーションでIPアドレスを偽装してもIPパケット上のIPアドレスと食い違うため、ばれてしまいます。 では、どうやってIOPアドレスを偽装するか? TCP/IPプロトコルスタック上のIP層で偽装を行えばよいのです。 そんなに難しくない理屈でIPアドレスの偽装は出来ますが、あまりに危険なため、ここでの説明は避けたいと思います。 たとえば100台のコンピュータを利用できる環境にある人が、悪意を持って全く関係ないA.B.C.Dというアドレスに偽装したpingコマンドをそれぞれのコンピュータから別個の10000台のコンピュータに送ったとします。 pingコマンドの送信先の各コンピュータはA.B.C.Dを送信元のコンピュータだと認識し、A.B.C.Dに対して変身を行います。 これで、A.B.C.Dのコンピュータは『悪意の無い』10000台のコンピュータから発信される10000×100=100万個の返信データを受け取ることになります。 悪意を持っている人のIPアドレスを隠蔽したまま攻撃を仕掛けることが可能になってしまいます。 (A.B.C.Dのコンピュータには悪意の無い10000台のコンピュータのIPアドレスしかわからない)

a-zi
質問者

お礼

詳しく有り難うございます。とにかくIP偽造が出来るんだと解りました。 >ここでの説明は避けたいと思います。 もちろんそうですね。こんな所に書いちゃ大変なことになってしまいます。 皆さんからの回答で解ったことは、 ・とにかくIPは偽れる者だと言うこと。 ・IPが競合すれば正常な動作しないこと。 つまり、私がずっつネットに繋いで在れば、私のIPを偽ろうとして人がいれば その人のマシンが動かないOR私もマシンも含めて動かなくなるって事で、良かったでしょうか?

その他の回答 (4)

  • nta
  • ベストアンサー率78% (1525/1942)
回答No.4

>なるほど、ウチはCATVなのでOSがエラーを発するのですね。 #2の者です。ちょっとお待ち頂きたいのですが、IPアドレス競合のエラーが発生するのは、CATVインターネット上に他のPCが同じアドレスがある場合だけではなく、自宅のPCにレジデントゲートウエイが設定された場合でも発生するようです。WindowsXP HomeEditonを利用している場合にはこの点も確認してみてください。問題ないようであればプロバイダにお問い合わせください。

a-zi
質問者

お礼

>自宅のPCにレジデントゲートウエイが設定された場合 レジデントゲートウエイなるものが何か解りませんが、私はWin98なので、問題はなさそうですね。 再び回答有り難うございます。

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.3

> IPアドレスは偽ることが出来るのでしょうか。 できます。 ただし、アプリケーションレベルではできません。 通信電文上のIPアドレスはIPパケットに含まれるデータに過ぎないのでパケット自体の書き換えを行えば完全にIPアドレスを騙ることができます。 IPアドレスの競合がどの範囲でおきるかによって違います。 最悪の場合は片方(あとで接続した側)はすべての通信ができなくなります。

a-zi
質問者

お礼

> ただし、アプリケーションレベルではできません。 > 通信電文上のIPアドレスはIPパケットに含まれるデータに過ぎないのでパケット自体の書き換えを行えば完全にIPアドレスを騙ることができます。 どういうことでしょうか?勉強不足でよくわかりません。 アプリケーションレベルとは? また、パケット自体の書き換えをって所ですが、そこを書き換えた場合。 接続先には、書き換えられたIPアドレスからの通信だと認識されてしまうのでしょうか? お教えいただければありがたいです、よろしくお願いいたします。

  • nta
  • ベストアンサー率78% (1525/1942)
回答No.2

>私と同じIPで誰かがインターネットに接続した場合はどうなるのですか。  IPアドレスが競合しますからネットワーク機器によって異なる、さまざまなトラブルが発生します。 (1)OSがエラーを検出し競合した旨の表示する場合。 (2)どちらも使えなくなる場合。 (3)あとから接続しようとする方が接続できないだけの場合。 一般家庭を想定するならば(3)でしょう。YahooBBやCATVならば(1)になる場合がある(あった)ようです。

a-zi
質問者

お礼

なるほど、ウチはCATVなのでOSがエラーを発するのですね。 ご回答有り難うございました。

noname#25358
noname#25358
回答No.1

 IPアドレスは、唯一絶対的な自分のパソコンの「インターネット全体の中の位置」を示すものです。  よって、IPアドレスを要しない通信を行っているとき以外、偽ることはできません。そしてインターネットでは、IPアドレス以外の方法を使って接続することはほとんど不可能です。  ただし、固定IPをプロバイダからもらっている人を除き、IPアドレスはインターネットに接続されるたびに毎回変わります。

a-zi
質問者

お礼

なるほど。要するにIPは住所みたいものですね。 ご回答有り難うございます。

関連するQ&A

専門家に質問してみよう