expingは、PowerShellで書かれたネットワークスキャンツールで、ローカルネットワーク内のアクティブなデバイスを簡単に検出するためのスクリプトです。
- ローカルネットワーク内の全IPアドレス(1-254)に対してPingを実行
- 応答があったデバイスの情報を収集:
- IPアドレス
- ホスト名(可能な場合)
- MACアドレス
- リアルタイムでの進捗表示
- 検出結果の表形式での表示
- 検出結果のCSVファイルへの保存
- Windows 10以降
- PowerShell 3.0以降
- このリポジトリをクローンまたはダウンロードします
exping.ps1ファイルを任意の場所に配置します
- PowerShellを管理者として実行します
- スクリプトのあるディレクトリに移動します
cd スクリプトが保存されているパス - 実行ポリシーを変更します(初回実行時または制限されている環境の場合)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass - スクリプトを実行します
.\exping.ps1
スクリプトを作成・保存する際は、文字化けを防ぐために以下の点に注意してください:
-
スクリプトファイルはUTF-8エンコードで保存してください
- メモ帳を使用する場合:「名前を付けて保存」→「保存」ボタンの左にある「エンコード」で「UTF-8」を選択
- PowerShell ISEを使用する場合:「ファイル」→「名前を付けて保存」→「保存」ボタンを押す前に「エンコード」で「UTF-8」を選択
-
日本語を含むCSV出力を正しく表示するには、以下のいずれかの方法を使用してください:
- Excelで開く場合は、データタブ→「テキストまたはCSVから」を選択し、UTF-8エンコードを指定
- メモ帳などのテキストエディタでUTF-8対応のものを使用
PowerShellのセキュリティ機能により、デフォルトではスクリプトの実行が制限されています。
現在のPowerShellセッションのみ一時的に実行ポリシーを変更します:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypassこの方法は、セッションを閉じると元の設定に戻るため、セキュリティリスクが最小限になります。
以下のコマンドで現在のユーザーの実行ポリシーを永続的に変更できますが、セキュリティ上のリスクがあります:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned注意: 永続的な変更は、システムのセキュリティ設定に影響を与えるため、十分に理解した上で行ってください。
ネットワークスキャンを開始します: 192.168.1.0/24
-------------------------------------
デバイスを発見: 192.168.1.1 (ホスト名: router.local, MAC: 00-11-22-33-44-55)
デバイスを発見: 192.168.1.10 (ホスト名: pc-windows.local, MAC: AA-BB-CC-DD-EE-FF)
デバイスを発見: 192.168.1.15 (ホスト名: 不明, MAC: 11-22-33-44-55-66)
...
スキャン完了! 8 台のデバイスが見つかりました
-------------------------------------
IPアドレス ホスト名 MACアドレス
--------- -------- ----------
192.168.1.1 router.local 00-11-22-33-44-55
192.168.1.10 pc-windows.local AA-BB-CC-DD-EE-FF
...
結果を保存しました: .\NetworkScan-20250507-123456.csv
- スキャン速度を向上させるには、より多くの並列処理を実装することを検討してください
- 特定のポートのスキャンなど、追加機能を実装することも可能です
- 文字化けが発生する場合: ファイルがUTF-8で保存されているか確認してください
- 「スクリプトの実行が無効になっています」エラー: 上記の実行ポリシー変更コマンドを使用してください
- MACアドレスが「不明」と表示される: 管理者権限でPowerShellを実行しているか確認してください
- このスクリプトは学習・研究目的で作成されています
- 管理者権限がない場合、一部の機能(MACアドレスの取得など)が制限される場合があります
- 他者のネットワークに対して許可なく使用しないでください
MIT