「tcpreplay」を使用してスイッチにパケットを送信すると、パケットの順序が正しくないことがわかりました。たとえば、 を使用するtcpreplay -i eth1 test.pcap
と、次のようになります。
のようなパケットを送信しますが**[1,2,3,4,5,……]**
、スイッチは を受信しまし**[1,3,4,2,5,……]**
た。
この問題はおなじみですか?どのように解決しましたか?
「tcpreplay」を使用してスイッチにパケットを送信すると、パケットの順序が正しくないことがわかりました。たとえば、 を使用するtcpreplay -i eth1 test.pcap
と、次のようになります。
のようなパケットを送信しますが**[1,2,3,4,5,……]**
、スイッチは を受信しまし**[1,3,4,2,5,……]**
た。
この問題はおなじみですか?どのように解決しましたか?
スイッチが別のパケット順序を受信したと言う場合、どのように判断していますか? これを確認する有効な方法のように思われるスイッチポートでスニッフィングしている場合は、そうですが、SPANポートを使用している場合は、そうです、スイッチは私の経験ではフレームを並べ替えることができるので、そうではありません驚いた。
tcpreplay ボックスで tcpdump を実行すると、送信されるパケットはどの順序で表示されますか? また、その間に別のスイッチがありますか?多くのスイッチが、フレームを並べ替えることができる「ストア アンド フォワード」アプローチを使用しているためです (これが、SPAN ポートが並べ替えられる傾向がある理由でもあります)。
最後に、tcpreplay は pcap ファイルを順番に処理するため、常にカーネル/NIC ドライバー/NIC に順番にパケットを送信します。コンピューターが実際にフレームを間違った順序で送信している場合、それはカーネル、NIC ドライバー、または NIC ハードウェア/ファームウェアのいずれかで発生しています。