0

私のアプリでは、パケットを取り戻し、rawソケットで別のコンピューターに返信パケットを書き込むよりも、rawソケットでパケットを別のコンピューターに送信しました。私のアプリは、Ubuntuで実行されるC++アプリケーションであり、nfqueueで動作します。

computer1とcomputer2の両方で送信されたパケットをテストして、期待どおりかどうかを確認したいと思います。プログラムをチェックする自動化テストを作成する必要があります。この自動化テストでは、送信されたパケットのethロードをリッスンし、期待どおりかどうか(ip、ports、payload)を確認する必要があります。

これを行うための簡単な方法(ツール(単純なAPIを使用)、コード)を探しています。 ethを聞く(自動化する)簡単な方法が必要です。 テストで送信者をチェックすることをお勧めしますが、eth(rawソケット経由で送信)をリッスンするAPIを見つけるのは難しいかもしれないので、受信者のコンピューターをチェックする推奨APIも適しています。テストアプリケーションは、c ++、java、pythonで記述できます。

4

3 に答える 3

0

受信側のコンピュータで tcpdump を実行し、すべてのパケットをファイルに保存します。Python で tcpdump を分析し、テストで期待どおりにパケットが送信されることを確認します。

于 2012-08-04T15:47:13.170 に答える
0

ランダムなパケットの大きなリストを自動生成し、リストを両方のコンピューターに渡して送信を開始し、受信したらリストと照合します。コンピュータ 1 は送信してから、コンピュータ 2 からの応答を待ちます。コンピュータ 2 はパケットをチェックし、成功または失敗のパケットを送信します。いずれかのコンピューターで結果をログに記録すると (問題ではありません)、ログ ファイルから統計を生成できます。必要に応じて、この方法を双方向で使用して両方の接続をテストします。Pythonでは非常に単純でなければなりません。

または、夢中になってハミング コードを使用します: http://en.wikipedia.org/wiki/Hamming_code (wiki) http://lionel.textmalaysia.com/hamming-code-in-python.html (説明といくつかのコード)

于 2012-08-01T15:55:14.513 に答える
0

パケットが正しく送信されたかどうかを確認する唯一の方法は、受信側で完全性を確認することです。

于 2012-08-01T15:55:41.157 に答える