これは私の前の質問へのフォローアップです: ARP 応答パケットは Ubuntu の ARP キャッシュを更新しません。私の問題は、送信元MACとして任意のMACアドレスを使用していたことにあることが判明しました(つまり、ネットワーク上に存在しないもの、aa:bb:cc:dd:ee:ffなど)。ソース MAC が NIC の MAC と一致する限り、問題なく ARP 応答を送信してキャッシュをポイズニングできます。手動で NIC に任意の MAC アドレスを設定し、それを ARP パケットのソース MAC として使用して ARP 応答を送信しようとしましたが、これも機能しました。
誰かがこれの内部の仕組みを知っているかどうか疑問に思っています。送信元 MAC が一致しないパケットが送信されないようにする何らかのチェックがありましたか? イーサネット フレームの送信元 MAC と ARP パケットの送信元 MAC の間のチェックでしたか? 私が実行している実験のために、この制限を回避する方法はありますか?
日