ArpCut
ARP スプーフィングに基づく LAN 切断ツール(Root 必須)。
LAN 内のデバイスに偽造 ARP 応答を継続的に送信してネットワーク接続を切断し、デバイス識別、メモ、ホワイトリスト、操作記録を提供します。
プロジェクトホーム
機能概要
- LAN デバイススキャン(root スキャン、5 秒ごとに自動更新、IP / MAC / 本機 / ゲートウェイを自動識別)。
- 単一デバイスの「切断 / 復元」スイッチ、および「すべて切断」/「すべて復元」の一括操作。
- IEEE 全量 OUI ベンダー識別(54330 件、オフライン内蔵)とランダム MAC(プライバシー保護)識別。
- デバイスメモ、ホワイトリスト、検索、IP / メモ / 切断済み / 未切断による並べ替え。
- 切断と復元の操作記録、永続化攻撃はオプション。
- カラフルな流光背景、リキッドグラス風フローティングボトムバー、miuix / InstallerX Revived スタイルのインターフェース。
主な機能
デバイススキャン
- root で LAN デバイスをスキャンし、IP / MAC を表示。
- 本機とゲートウェイを自動識別して注記し、本機は常に最上部に固定。
- 5 秒ごとに自動更新し、全体を通して静かに、ちらつきなく動作。
- Wi-Fi 未接続時は空状態のヒントを表示。
切断制御
- 単一デバイススイッチ:対象デバイスに偽造 ARP 応答を継続送信し、1 秒間隔で GARP をブロードキャストして汚染。
- 「すべて切断」:本機とホワイトリスト以外のすべてのデバイスをワンタップで切断。
- 「すべて復元」:攻撃ループを終了し、ネイバーテーブルを復元して再解決をトリガー。
- 自己切断対応:本機のネイバーテーブルを汚染し、本機もネットワークから切り離す。
デバイス詳細と識別
- カードの空白領域をタップすると詳細を展開:ベンダー / デバイスタイプ / 遅延 / ホワイトリスト / 最近の記録。
- OUI データは IEEE 公式の MA-L / MA-M / MA-S 全量ライブラリに由来し、オフラインで照会。
- ランダム MAC(プライバシー保護)を自動識別して注記。
メモとホワイトリスト
- IP をタップすると編集ダイアログが表示され、メモは青いタグとして常時表示。
- メモのあるデバイスは並べ替えで先頭に表示;ダイアログ内でホワイトリストを切り替え可能で、「すべて切断」時はホワイトリストのデバイスをスキップ。
記録
- 切断 / 復元の操作を自動記録(≤500 件)。
- ゴミ箱アイコンでワンタップ消去、二次確認ダイアログ付き。
設定
- 永続化攻撃:デフォルトはオフ——バックグラウンドをクリアすると攻撃を自動終了してネットワークを復元;オンにするとアプリ終了後も攻撃プロセスに影響しない。
- デバイス詳細を常に展開。
インターフェース
- About ページは全画面 AGSL カラフル流光背景、ステータスバー / ナビゲーションバーは透明で全出血。
- リキッドグラス風フローティングボトムバー、ページ間の切り替えは直接ジャンプ。
- miuix コンポーネントと InstallerX Revived のデザイン言語(ダイアログ / 押下フィードバック / 空状態のレイアウト)。
- 「オーロラ切断」アプリアイコンと透明カラーロゴ。
前提条件
- Android 7.0 / API 24 以上。
- Root 権限(KernelSU / Magisk / SuperSU など)。
- 対象の LAN Wi-Fi に接続していること。
インストール方法
- Releases から最新の APK をダウンロードしてインストール。
- 初回起動時に Root 権限を付与。
- LAN の Wi-Fi に接続すると、アプリが自動的にデバイスのスキャンを開始。
- デバイスのスイッチを切り替えると、そのネットワークを切断 / 復元。
使用説明
- ネットワーク切断は ARP スプーフィングに基づいています。自身が所有するか、許可されたネットワークでのみ使用してください。
- 「すべて切断」はデフォルトで本機とホワイトリストのデバイスをスキップします。
- バックグラウンドをクリアした後も切断を継続するには、設定で「永続化攻撃」を有効にしてください。
- ネットワーク異常時は「すべて復元」をタップするか、ネットワーク機器とスマートフォンを再起動してください。
- リストは 5 秒ごとに自動更新されるため、手動で更新する必要はありません。
適用シーン
- ローカルネットワーク内の特定のデバイスのネットワークアクセスを素早く制限したい。
- ローカルネットワークのデバイスを一括で切断し、いつでもワンタップで復元したい。
- ローカルネットワークのデバイスのメーカーと種類を識別し、メモ管理を行いたい。
- ネットワークセキュリティ技術の研究、教育デモ、および自身のネットワークのテスト。
ソースコードからのビルド
プロジェクトは Kotlin、Jetpack Compose、Android Gradle Plugin、および Gradle Wrapper を使用しています。
- JDK 17。
- compileSdk 37、minSdk 24、targetSdk 37。
よく使うコマンド:
./gradlew assembleRelease
ビルド成果物は app/build/outputs/ にあります。CI:push 後に GitHub Actions が自動でパッケージを生成します(release は固定の署名キーストアを使用するため、署名は安定しています)。
実装の要点
- native/arpcut.c:AF_PACKET 生ソケットで偽の ARP 応答を送信。イーサネット送信元アドレスには本機の実 MAC を使用し(Wi-Fi ドライバは送信元 MAC が本機でないフレームを破棄する)、ARP ペイロード内には偽 MAC(
02:00:00:00:00:01)を使って攻撃元を識別する。
- ブロードキャスト形式の GARP 汚染 + 1 秒間隔の送信により、異なるブランド間の互換性を向上。
- 自己切断は本機のネイバーテーブルを循環上書き(
ip neigh replace)で行い、偽フレームは本機のプロトコルスタックに入らない。
heal モードでは本物の ARP 応答を送信してマッピングを復元する。全復元の前に攻撃ループを終了し、ネイバーテーブルを復元して再解決をトリガーする。
ヘルプの取得
免責事項
- 本ツールは ARP スプーフィングに基づいて実装されており、自身が所有するか、または許可を得たネットワークでのテストおよび学習用途にのみ使用してください。
- 他者のネットワークやデバイスに対して無断で行うネットワーク切断や妨害行為は、関連する法令に違反する可能性があります。
- 本ツールの使用によって生じたいかなる結果および法的責任は使用者自身が負うものとし、開発者は一切責任を負いません。
- 詳細はアプリ内の「About → 免責事項」をご覧ください。
オープンソースライセンスと謝辞
License
See LICENSE.