0

Windows で C++ を使用して、再送信された Wifi パケットの数 (およびバイト単位のサイズ) を取得する必要があります。必要な情報は非常に低レベルで、Wifi フレームのフレーム コントロールにカプセル化されています。

  • 必要な情報を Windows/WinApi から直接取得するためのインターフェイスはありますか?

必要な情報を取得するために 2 回試行しましたが、質問もあります。

  1. ネイティブ WiFi API:フィールドを持つ構造体WLAN_PHY_FRAME_STATISTICSWLAN_STATISTICSの配列を含む構造体が呼び出されます。ullRetryCount

    • なぜWLAN_PHY_FRAME_STATISTICS配列なのですか?要素は何を表していますか?
    • ullRetryCount必要な情報はありますか? ここで値を取得しますが、それが正しいかどうかはわかりません...
  2. IP Helper API : 構造体MIB_IF_ROW2には field がありOutDiscards、値を取得できません。接続が良好で、フレームが破棄されていない可能性がありますか?

前もって感謝します!

4

1 に答える 1

0

専門のドライバーを持っていない限り、おそらくこの情報は得られません。または、スニファを設定し、このデバイスからのすべての通信をキャプチャして、再送信を見つけます。

WLAN_STATISTICS は、複数の PHY を持つデバイスで複数のインスタンスを持つことができるため、配列です。PHY ごとに 1 つの WLAN_PHY_FRAME_STATISTICS テーブル。

IP レベルでの破棄は、通常、「サービス品質」シェーピングが原因で発生します。これは、wifi phy よりもはるかに高いレイヤーです。

于 2016-02-19T02:49:00.450 に答える