メインコンテンツへスキップ
パケットインジェクションとは?Kali Linux での WiFi アダプター互換性テスト方法
  1. ブログ/

パケットインジェクションとは?Kali Linux での WiFi アダプター互換性テスト方法

目次

パケットインジェクション——正式には 802.11 フレームインジェクション——とは、無線アダプターが任意の 802.11 フレームを無線メディア上に送信できる機能です。このフレームはアダプター自身のネットワークスタックが生成したものでなくても構いません。通常の動作では、無線ドライバーは OS が正当に生成したフレームのみを構築・送信します——アソシエーションリクエスト、接続済みネットワークのデータフレームなど。パケットインジェクションはこれらの制約をバイパスし、aireplay-ng のようなツールが任意のコンテンツ、送信元アドレス、宛先アドレスを持つあらゆるフレームタイプ——管理・制御・データ——を作成・送信できるようにします。

パケットインジェクションとは?
#

TL;DR: パケットインジェクションはアダプターが任意の802.11フレームを送信する能力で、ハードウェアではなくドライバーに制限されます。RTL8812AU、MT7612U、MT7921AUNチップセットのALFAアダプターとaircrack-ngドライバーの組み合わせで完全サポートします。
この機能はいくつかのクラスの無線セキュリティアセスメントに不可欠です:

  • WPA/WPA2 ハンドシェイクキャプチャの高速化——デオーセンティケーションフレームを送信してクライアントに再認証を強制し、オフラインで解析できる新鮮な 4 ウェイハンドシェイクを生成する。
  • WPA ハンドシェイクの検証——キャプチャしたハンドシェイクファイルが完全でオフラインクラッキングに使用できるか確認する。
  • リプレイ攻撃——キャプチャした ARP パケットを再生して WEP クラッキング用の IV(初期化ベクター)トラフィックを生成する(レガシーテスト環境)。
  • Evil Twin / 不正 AP 構築——ビーコンとプローブレスポンスフレームをインジェクションしてアクセスポイントをシミュレートする。
  • DoS テスト——許可されたテスト条件下で、デオーセンティケーションフラッドに対するネットワークの応答を評価する。

法的注意事項: 所有していない、または明示的な書面による許可を得ていないネットワークやデバイスへのパケットインジェクションは、ほとんどの国・地域で違法です。本記事で説明するすべての技術は、許可されたペネトレーションテスト、自身の機器でのセキュリティ調査、および学術的研究のみを目的としています。


なぜほとんどのアダプターはパケットインジェクションができないのか
#

制限は主にハードウェアではなくドライバーにあります。一般向けアダプターの標準的な無線ドライバーは、802.11 規格の通常の動作モデルに準拠するように書かれています。ドライバーは送信フレームを検証し、アソシエーション状態を強制し、想定されるフローに従わないフレームを拒否します。

パケットインジェクションをサポートするには、ドライバーはこれらのチェックをバイパスする生のフレーム送信パスを公開する必要があります。カーネルの mac80211 サブシステムは IEEE80211_HW_SUPPORTS_RAW_TX フラグを通じてこの機能を提供しますが、ドライバーが明示的に有効化した場合に限られます。一般向けアダプター向けのほとんどのベンダー提供ドライバーはこれを有効にしていません——必要とする一般的な用途がなく、有効化すると悪用のリスクが生じるためです。

さらに、一部のチップセットは MAC 層を内部で処理するプロプライエタリファームウェアを使用しており、ドライバーが望んでも任意のフレームをインジェクションすることが不可能です。これはエンタープライズや家庭用ノート PC 向けに設計された Broadcom や Intel のチップで一般的です。


パケットインジェクション対応チップセット
#

以下のチップセットは Kali Linux での確立されたパケットインジェクションサポートを持ち、ALFA Network アダプターに採用されています:

Realtek RTL8812AU
#

2024〜2026 年時点でペネトレーションテスト向けとして最も人気のチップセット。デュアルバンド(2.4/5 GHz)、802.11ac 対応で、aircrack-ng GitHub リポジトリで管理されているコミュニティドライバーでサポートされています。モニターモードとインジェクションはどちらも安定して動作します。

MediaTek MT7612U
#

よくメンテナンスされたカーネル内蔵ドライバー(mt76)を持つデュアルバンド 802.11ac チップセット。モニターモードとインジェクションはアップストリームカーネルでサポートされており、最新の Kali Linux ではアウトオブツリードライバーのインストールが不要です。

MediaTek MT7921AUN(Wi-Fi 6E)
#

このリストで最も新しいチップセットで、AWUS036AXML に採用されています。802.11ax による 2.4/5/6 GHz トライバンドをサポート。mt7921u ドライバーはカーネル 5.18 以降が必要。モニターモードとインジェクションサポートは確認済みですが、ドライバーは新しく、古いディストリビューションではエッジケースが存在する可能性があります。


aireplay-ng でパケットインジェクションをテストする
#

実際のテストで使用する前に、特定のアダプターとドライバーの組み合わせが正しく動作しているか必ず確認してください。インジェクションサポートはカーネルバージョンとドライバーのリビジョンによって異なります。

前提条件
#

アダプターが既にモニターモードになっている必要があります。なっていない場合は先に有効化します:

sudo airmon-ng check kill
sudo airmon-ng start wlan0

モニターインターフェースが存在するか確認します:

iwconfig
# Mode:Monitor が表示されていることを確認

インジェクションテストを実行する
#

sudo aireplay-ng --test wlan0mon

成功時の出力
#

09:15:34  Trying broadcast probe requests...
09:15:34  Injection is working!
09:15:36  Found 3 APs

09:15:36  Trying directed probe requests...
09:15:36   AA:BB:CC:DD:EE:01 - channel: 6 - 'HomeNetwork'
09:15:37  Ping (min/avg/max): 1.153ms/5.464ms/12.214ms Power: -62
09:15:37  29/30: 96%

09:15:37   AA:BB:CC:DD:EE:02 - channel: 11 - 'OfficeWiFi'
09:15:38  Ping (min/avg/max): 2.101ms/6.322ms/14.881ms Power: -71
09:15:38  28/30: 93%

インジェクションが正常に動作している場合、「Injection is working!」 と表示され、その後に周辺アクセスポイントへの成功率が表示されます。80% 以上の値は概ね信頼できます。50% を下回る場合は干渉、距離の問題、またはドライバーの問題が考えられます。

失敗時の出力
#

09:15:34  Trying broadcast probe requests...
09:15:36  No Answer...
09:15:36  Injection is working! (RTL)
09:15:36  Trying directed probe requests...
09:15:37   AA:BB:CC:DD:EE:01 - channel: 6 - 'HomeNetwork'
09:15:39  Failed!

または、より完全な失敗の場合:

09:15:34  Trying broadcast probe requests...
09:15:46  No Answer...
09:15:46  Injection is NOT working!

「Injection is NOT working!」は決定的な失敗です。アダプターがインジェクションをサポートしていないか、ドライバーが正しくインストールされていません。


パケットインジェクション対応 ALFA アダプター
#

すべての主要な ALFA Network アダプターモデルは、Kali Linux で正しいドライバーを使用することでパケットインジェクションをサポートします:

モデルチップセットバンドインジェクションサポート
AWUS036ACHRTL8812AU2.4 / 5 GHz✅ 完全対応
AWUS036AXMLMT7921AUN2.4 / 5 / 6 GHz✅ 完全対応(カーネル 5.18+)
AWUS036ACMMT7612U2.4 / 5 GHz✅ 完全対応

よくあるインジェクションテストの失敗と対処法
#

モニターモード開始直後に「Injection is NOT working!」が表示される
#

最も一般的な原因は NetworkManager または wpa_supplicant がバックグラウンドで実行し続けていることです。停止して再試行します:

sudo airmon-ng check kill
sudo airmon-ng stop wlan0mon
sudo airmon-ng start wlan0
sudo aireplay-ng --test wlan0mon

成功率が低い(50% 未満)
#

  • 距離: 近くのアクセスポイントに近づいて再テストする。
  • チャンネルの不一致: モニターインターフェースをテストしている AP と同じチャンネルに固定する:sudo iwconfig wlan0mon channel 6
  • ドライバーの問題: アウトオブツリードライバーを再インストールする。RTL8812AU の場合:https://github.com/aircrack-ng/rtl8812au からクローンして sudo make dkms_install を実行。

カーネルモジュールがロードされない
#

sudo modprobe -r rtl8812au
sudo modprobe rtl8812au
dmesg | tail -20

エラーメッセージを確認します。不足しているファームウェアファイルが一般的な問題です——firmware-linux-nonfree またはチップセット固有のファームウェアパッケージをインストールしてください。

接続後にアダプターが表示されない
#

lsusb
dmesg | tail -30

lsusb にデバイスが表示されても ip link に無線インターフェースが現れない場合、ドライバーのバインドに失敗しています。通常、ドライバーがインストールされていないか、カーネルモジュールのロードに失敗したことを意味します。


使用例:許可されたテストへのインジェクションの適用
#

WPA2 ハンドシェイクキャプチャ
#

プロフェッショナルなペネトレーションテストで最も一般的なインジェクションの使用法です。airodump-ng でターゲット AP のチャンネルでキャプチャを開始し、aireplay-ng でデオーセンティケーションフレームを送信してクライアントを強制的に再接続させます:

# ターミナル 1:キャプチャ
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w handshake wlan0mon

# ターミナル 2:デオーセンティケーション(特定のクライアントに 5 フレーム送信)
sudo aireplay-ng --deauth 5 -a AA:BB:CC:DD:EE:FF -c 11:22:33:44:55:66 wlan0mon

ターミナル 1 に戻り、airodump-ng の右上隅に WPA handshake: AA:BB:CC:DD:EE:FF のメッセージが表示されるのを待ちます。

デオーセンティケーションテスト(DoS アセスメント)
#

セキュリティアセスメント担当者は、デオーセンティケーションフラッドを送信して無線の堅牢性をテストし、クライアントが安全に再アソシエートするか、そして AP が攻撃をログに記録または軽減するかを評価します。必ず署名済みの作業範囲定義書の下で実施します。



常見問題

WiFiパケットインジェクションとは何ですか?

パケットインジェクションはアダプターが任意の802.11フレームを無線媒体に直接送信する能力で、aireplay-ngなどのツールが管理フレーム、制御フレーム、データフレームを構築して送信できるようにします。

ほとんどのアダプターがパケットインジェクションできないのはなぜですか?

制限はハードウェアではなくドライバーにあります。コンシューマードライバーは標準操作モデルで出力フレームを検証し、インジェクションにはドライバーがmac80211の生TXパスを明示的に有効にする必要があります。

アダプターがパケットインジェクションをサポートしているかどうテストしますか?

まずモニターモードを有効化し、aireplay-ng --test wlan0monを実行します。Injection is working!と出力されればサポートを確認でき、成功率80%以上で信頼できます。

パケットインジェクションをサポートするALFAアダプターは?

AWUS036ACH(RTL8812AU)、AWUS036AXML(MT7921AUN)、AWUS036ACM(MT7612U)の3機種が完全サポートし、正しいドライバーと組み合わせればKali Linuxで動作します。

パケットインジェクションテストの成功率が50%未満の場合の改善方法は?

目標APに近づく、モニターインターフェースを同じチャネルにロックする、TX Power設定を確認する、ドライバーがディストリビューション内蔵版ではなくaircrack-ng版であることを確認してください。

責任ある使用について
#

パケットインジェクションは強力な機能です。許可されたペネトレーションテストにおける正当な応用——ハンドシェイクのキャプチャ、無線セキュリティコントロールの検証、クライアント動作のテスト——は確立されています。その悪用は有害であり、違法です。

テストの前に必ず確認してください:

  • ネットワーク所有者からの書面による許可
  • 無線テストを含む明確な作業範囲定義書
  • 無線セキュリティテストに関する地域の法律の把握

本記事で説明するツール(aireplay-ng、airodump-ng、aircrack-ng)は、許可されたセキュリティテストのために Kali Linux に収録されています。それに従って使用してください。


パケットインジェクションのサポートが確認された無線アダプターをお探しなら、台湾の ALFA Network 正規代理店 Yopitek の ALFA Network 製品ラインナップをご覧ください。


参考文献
#

  1. aircrack-ng公式ウェブサイトとドキュメント
  2. aireplay-ng使用説明
  3. Kali Linux公式ドキュメント
  4. Linux mac80211サブシステムドキュメント
  5. IEEE 802.11標準リソース