したがって、私は Rubyライブラリと呼ばれるPacketF を使用してTCP/IPプロトコルを調べているだけで、各パケットで次のすべてを設定できるように思えます
他にもたくさんあります.
これが私の質問です:
ネットワークをスニッフィングし、他人のIPアドレスを取得し、それを装ってパケットを送信し、インターネットの非難を回避することを妨げているもの私が使用している資格情報の所有者に対するすべての不正行為(私が悪意を持って行動していると想定)
一般的な低レベルの攻撃者(つまり、家にいる人)は、TCP接続のIPアドレスを効率的に偽装することはできません。なぜなら、応答を受信しないためです。IPは宛先アドレスに基づいてパケットをルーティングすることに注意してください。したがって、偽の送信元アドレスを持つパケットを送信した場合でも、宛先に到達する可能性があります。一部のルーターは、「不可能な」送信元アドレスを持つパケットを見て、友人が休日から戻ってきたのと同じように気分を害する場合があります。日焼けがひどくて、彼がイギリスにいると彼が言っているなら、あなたは彼を本当に信じていませんが、たぶん、パケットが行き、宛先に到達するでしょう。
ただし、すべてのanswerは、実際のアドレスではなく、疑わしい送信元アドレスに送信されます。攻撃者は応答を見ることができないため、盲目的に動作する必要があります。 スリーウェイハンドシェイク のため、これはTCPにとって困難です。接続を確立するには、クライアントがサーバーにシーケンス番号を含む「ACK」パケットをサーバーに送り返す必要があります。サーバーが「SYN + ACK」で送り返しました。そのシーケンス番号は、32ビット整数としてランダムに選択されます。最近のオペレーティングシステムは、かなり強力な(予測できない)乱数ジェネレーターを使用するようになりました( RFC 1948 を参照)。これは、私たちのなりすまし攻撃者が約40億回に1度しかチャンスがないことを意味します。
つまり、TCP接続が実際に確立されている場合、サーバーは、サーバーが送信したパケットを、疑わしいクライアントIPに送信することを話している人が誰でも見ることができるというかなり強力な保証を持っています。したがって、TCP接続のIPアドレスを偽造することは、申し立てられたIPアドレスの所有者に非常に近い(同じサブネットワーク/ WiFiアクセスポイント上にある)場合、または制御できる場合にのみ可能です。サーバーと申し立てられたIPアドレスの間の経路にあるルーターの場合、後者のケースは、あなたが地下室のスクリプトの子供だけでなく、かなり深刻な攻撃者であることを意味します。
MACアドレス は完全にローカルです。ローカルサブネットワークを超えて、それらは関係なく送信されません。リモートサーバーには表示されません。 MACアドレスの変更は、MACフィルタリングを採用しているローカルスイッチとアクセスポイントをだますためにのみ役立ちます。