web-dev-qa-db-ja.com

IPアドレスを偽造できないのはなぜですか?

プロキシを使用してIPアドレスを変更できることは知っていますが、変更したデータを1台のコンピューターから送信して変更できないのはなぜですか?

更新:

迅速な返信をありがとう。しかし、HTTPのようなステートレスプロトコルを使用した場合、どうなるかは明確ではありません。私は低レベルのネットワーク通信に精通していませんが、PCがサーバーに接続してすぐに応答を受信した場合、理論的にはIPアドレスを偽造することが可能であるはずです。

40
Fluffy

偽の送信者IPでデータを送信することは完全に可能です。ただし、返信は偽のIPに送信され、決してあなたに届かないため、返信を受け取るのは大変です。さらに、ルーターがあなたから届かないと思われる「from」IPでデータを送信する場合、ルーターは単にそれを単にドロップし、時々あなたのTOSに違反していることをISPに知らせます。

編集:編集された投稿への応答。

接続指向プロトコル(TCP)の上に構築されたプロトコル(HTTPなど)には、有効なIPが必要です。偽のIPがpre延しているケースには、ほとんどの場合、TCPハンドシェイクでUDP、ICMP、または最初のSYNパケットを使用したサービス拒否攻撃が含まれます。

59
Erik

送信には任意のIPアドレスを使用できますが、返信は使用したIPアドレスに送信されるため、この方法で双方向通信を確立することはできません。

13
Simon Richter

(*それは古い質問であり、答えは大丈夫です。ただ一つ追加します)
IPスプーフィングと呼ばれるファイアウォールは、それを検出してブロックするために一生懸命働いており、ネットワークブリッジはそれによって混乱する可能性があります(しばらくの間)
http://en.wikipedia.org/wiki/IP_address_spoofing

4
ozma

送信元IPアドレスを変更してパケットを送信しようとすると、他の人に送信できますが、パケットをPCに返したい場合は、NATなどを使用する必要があります

ネットワーク上のルーターの背後にいる場合、本質的に変化して自分の身元を隠しています

例:you:192.168.1.4 insiderouter:192.168.1.1 external-ip:8.8.8.8 destination-ip:8.8.4.4

パケットの送信:from:192.168.1.4(you)to 8.8.4.4(dest)router transelates to:from:8.8.8.8(external-ip)to 8.8.4.4(dest)and your ip in your memory

パケットが宛先に到着するよりも。

これで、宛先は8.8.4.4(dest)から8.8.8.8(external-ip)にパケットを送り返します。ルーターは(メモリを使用して)8.8.4.4(dest)から192.168.1.4(you)に変換します。

そして今、パケットはあなたのPCに戻ります

あなたが見ることができるように、宛先はあなたのIPを知らないが、ルータのIPのみを知っている

これは、IPを隠す方法を提供する方法です。

3
Spidfire