Scrambler)は、SNMPエージェントシミュレータ/ネットワークシミュレータ上で、SNMPリクエストやSNMPレスポンスPDUをカスタマイズするために使用します。PDUを処理する前に、リクエストに含まれるVarBindリストを確認することができます。SNMPレスポンスPDUもカスタマイズすることができます。SNMPマネージャが無効なパケットを受信したときの動作をテストするために無効なレスポンスを送信することができます。要件によりカスタマイズできるレベルは様々です。Scrambler)を使用した共通テストシナリオPDUスクランブラー機能により、以下のような共通のテストシナリオを定義できます。PDUのカスタマイズPDUスクランブラーは、エラーレスポンスを送信するためにリクエスト/レスポンスPDUをカスタマイズできます。PDUをカスタマイズします。SNMPオペレーション実行前にリクエストを確認SNMPリクエストPDUをカスタマイズできます。エージェントがSNMPオペレーションを実行する前に複数のVarBindが含まれているかどうかを確認することができます。要件によりカスタマイズできるレベルは様々です。processRequestPDU()メソッドは、リクエストPDUをカスタマイズするために使用します。ネットワーク上でSNMPレスポンスパケットが紛失してしまったことをシミュレーションすることも可能です。シミュレータは、リクエストを処理しません。リクエストPDUが無効であった場合、updateErrStatAndTerminate()メソッドによりエラーステータスとエラーインデックスを更新できます。この場合、シミュレータは、MIB値を更新しないでレスポンスPDUとして受信したPDUを返送します。受信リクエストのPDUを廃棄SNMPマネージャに対してエラーレスポンスを送信する場合、適切なエラーステータスとエラーインデックスを設定したレスポンスPDUに変更します。全体の遅延SNMPリクエストに対するレスポンスの遅延を設定するために、Thread.sleep()メソッドをPDUスクランブラーに定義されているprocessResponsePDU()メソッド内で呼び出す必要があります。SNMPマネージャからリクエストが送信され、レスポンスが指定された時間で遅延します。指定範囲のデバイスに対する遅延を発生させるには、snmpPdu.getIPAddress()メソッドにて受信PDUの送信元アドレスを取得します。このIPアドレスが指定された範囲のものであれば、Thread.sleep()メソッドを呼び出します。