macmap 0.1.0

MacアドレスとIPアドレスのリストを表示するコマンド
# macmap

ローカルネットワーク上のデバイスをスキャンし、IPアドレスとMACアドレスのマッピングを取得するRust製コマンドラインツールです。

## 機能

- ローカルネットワーク上のすべてのアクティブデバイスを自動検出
- IPアドレスとMACアドレスのマッピング表示
- ARPリクエストを使用した高速スキャン
- Rayonによる並列処理で効率的なスキャン
- すべての有効なネットワークインターフェースをサポート(loopback以外)

## 必要な権限

このツールは生のネットワークパケットを送受信するため、管理者権限が必要です。

## インストール

```bash
cargo install --git https://github.com/JarodBruce/macmap.git
```

## 使用方法

```bash
# 管理者権限で実行
sudo ./target/release/macmap
```

### 出力例

```
Scanning network... Please wait.
Scan complete. Found 5 devices:
192.168.1.1: aa:bb:cc:dd:ee:ff
192.168.1.10: 11:22:33:44:55:66
192.168.1.15: 77:88:99:aa:bb:cc
192.168.1.20: dd:ee:ff:00:11:22
192.168.1.25: 33:44:55:66:77:88
```

## 技術仕様

- **言語**: Rust
- **主要ライブラリ**:
  - `pnet`: ネットワークパケット操作
  - `local_ip_address`: ローカルIPアドレス取得
  - `rayon`: 並列処理
  - `get_if_addrs`: ネットワークインターフェース情報取得

## 仕組み

1. ローカルIPアドレスとネットワーク情報を取得
2. ネットワークアドレスとブロードキャストアドレスから対象IPレンジを計算
3. 有効なネットワークインターフェース(loopback以外)を検出
4. 各IPアドレスに対してARPリクエストを並列送信
5. ARPレスポンスからMACアドレスを取得
6. 結果をIPアドレス順にソートして表示

## ライセンス

MIT License

## 注意事項

- このツールは教育目的で作成されています
- 自分が管理するネットワークでのみ使用してください
- 不正なネットワークスキャンは法律で禁止されている場合があります