BERやネットワーク上の遅延などをエミュレートできるソフトウェアがいくつかあります。ソフトウェアのBERモジュールをテストして、実際に正しく機能することを確認する方法が必要です。私の解決策は、typeフィールドが未使用のtypeに設定された生のイーサネットフレームを送信するプログラムを作成することです。イーサネットフレームの内部には、ランダムなビットがあります。送信されるフレームごとに、フレームをpcap
ファイルに記録する必要があります。ネットワークリンクの反対側には、受信したすべてのパケットを独自のpcap
ログに書き込むだけの受信アプリケーションがあります。テストの実行が完了すると、2つのpcapログが比較されてBERが取得されます。
私はPythonモジュールを使用してScapy
おり、これまでのところ、必要なことはすべて実行しています。ランダムデータを含む生のイーサネットフレームを送信して、Wiresharkで確認できます。wrpcap()
ただし、上書きする代わりに、メソッドをpcapファイルに追加する方法がわかりません。にパケットのリストを書き込むことができることはわかっていますwrpcap
が、このアプリケーションは無期限に実行できる必要があり、ハードドライブに送信されたすべてのパケットの書き込みをアプリケーションが終了するまで待つ必要はありません。 。それはメモリに保存するのに多くのことになるので、何かが起こった場合、私は最初からテストを最初からやり直す必要があります。
私の質問は、ファイルを上書きする代わりに、pcap
を使用してファイルに追加するにはどうすればよいですか?それも可能ですか?そうでない場合、どのモジュールが必要なことを実行できますか? scapy
pcap
の機能を備えたものを探しているときScapy
に遭遇しましたdpkt
が、そのためのドキュメントはあまり見つかりませんでした。dpkt
私が求めていることを実行できますか?もしそうなら、どこでそれに関するいくつかの良いドキュメントを入手できますか?