Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
sonar — localhost ポートで待受中のサービスを調査・管理するための CLI ツール | Kitploit
ツール/GitHubGitHub/raskrebs/sonar
汎用ユーティリティネットワークマッピングポートスキャンスクリプトと自動化情報収集DevSecOps
GitHubraskrebs/sonar

sonar

localhost ポートで待受中のサービスを調査・管理するための CLI ツール

リポジトリを見る
1.1k333ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
root@kitploit:~
███████╗ ██████╗ ███╗   ██╗ █████╗ ██████╗
██╔════╝██╔═══██╗████╗  ██║██╔══██╗██╔══██╗
███████╗██║   ██║██╔██╗ ██║███████║██████╔╝
╚════██║██║   ██║██║╚██╗██║██╔══██║██╔══██╗
███████║╚██████╔╝██║ ╚████║██║  ██║██║  ██║
╚══════╝ ╚═════╝ ╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝  ╚═╝

あなたのマシンで何が動いているのかを把握しましょう。

ポートが既に使用されているたびに lsof -iTCP -sTCP:LISTEN | grep ... を実行し、さらに1分かけてそれがDockerコンテナなのか、別のワークツリーから残ったdevサーバーなのかを調べるのにうんざりしました。そこでsonarを作りました。

localhostでリッスンしているすべてのものを表示し、Dockerコンテナ名、Composeプロジェクト、リソース使用量、クリック可能なURLも表示します。プロセスの強制終了、ログの追跡、コンテナへのシェル接続など、すべてポート番号で行えます。

root@kitploit:~
$ sonar list
PORT   PROCESS                      CONTAINER                    IMAGE             CPORT   URL
1780   proxy (traefik:3.0)          my-app-proxy-1               traefik:3.0       80      http://localhost:1780
3000   next-server (v16.1.6)                                                               http://localhost:3000
5432   db (postgres:17)             my-app-db-1                  postgres:17       5432    http://localhost:5432
6873   frontend (frontend:latest)   my-app-frontend-1            frontend:latest   5173    http://localhost:6873
9700   backend (backend:latest)     my-app-backend-1             backend:latest    8000    http://localhost:9700

5 ports (4 docker, 1 user)

インストール

Homebrew (macOS / Linux)

root@kitploit:~
brew install raskrebs/sonar/sonar

macOSでは、これによりメニューバーアプリ sonar-tray もインストールされます。

インストールスクリプト

root@kitploit:~
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | bash

最新のバイナリを ~/.local/bin にダウンロードし、必要に応じてPATHに追加します。ターミナルを再起動するか、source ~/.zshrc を実行してください。

Windows (PowerShell) の場合:

root@kitploit:~
irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex

カスタムインストール先:

root@kitploit:~
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_INSTALL_DIR=/usr/local/bin bash

特定のバージョンをインストール:

root@kitploit:~
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_VERSION=vX.Y.Z bash
root@kitploit:~
$env:SONAR_VERSION="vX.Y.Z"; irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex

Go を使用

root@kitploit:~
go install github.com/raskrebs/sonar@latest

注意: go install はCLIのみインストールします。メニューバートレイアプリ(sonar tray)はネイティブのSwiftバイナリであり、別途ビルドする必要があります — 以下の トレイアプリ を参照してください。

シェル補完(タブでポート番号を補完):

root@kitploit:~
sonar completion zsh > "${fpath[1]}/_sonar"   # zsh
sonar completion bash > /etc/bash_completion.d/sonar  # bash
sonar completion fish | source                 # fish

使い方

ポート一覧

root@kitploit:~
sonar list                     # すべてのポートを表示
sonar list --stats             # CPU、メモリ、状態、稼働時間を含める
sonar list --filter docker     # Dockerポートのみ
sonar list --sort name         # プロセス名でソート
sonar list --json              # JSON出力
sonar list -a                  # デスクトップアプリを含める
sonar list -c port,cpu,mem,uptime,state  # カスタム列
sonar list --health            # HTTPヘルスチェックを実行
sonar list --host user@server  # SSHでリモートマシンをスキャン

デフォルトでは、sonarはTCPポートをリッスンしているが開発には関係のないデスクトップアプリやシステムサービス(Figma、Discord、Spotify、ControlCenter、AirPlay、その他のmacOS .app バンドルや /System/Library/ デーモンなど)を非表示にします。-a を指定するとそれらも含められます。

利用可能な列: port, process, pid, type, url, cpu, mem, threads, uptime, state, connections, health, latency, container, image, containerport, , , , ,

ポートの詳細確認

root@kitploit:~
sonar info 3000

ポートに関するすべての情報(完全なコマンド、ユーザー、バインドアドレス、CPU/メモリ/スレッド、稼働時間、ヘルスチェック結果、該当する場合はDocker詳細)を表示します。

プロセスを強制終了

root@kitploit:~
sonar kill 3000                            # SIGTERM
sonar kill 3000 -f                         # SIGKILL
sonar kill-all --filter docker             # すべてのDockerコンテナを停止
sonar kill-all --project my-app            # Composeプロジェクトを停止
sonar kill-all --filter user -y            # 確認をスキップ

Dockerコンテナはシグナルを送信する代わりに docker stop で停止されます。

ログを表示

root@kitploit:~
sonar logs 3000

Dockerコンテナの場合は docker logs -f を実行します。ネイティブプロセスの場合は lsof でログファイルを特定し、tailします。macOSでは log stream、Linuxでは /proc/<pid>/fd にフォールバックします。

サービスにアタッチ

root@kitploit:~
sonar attach 3000                          # Dockerコンテナにシェル接続、またはTCP接続
sonar attach 3000 --shell bash             # 特定のシェル

変更の監視

root@kitploit:~
sonar watch                                # 2秒ごとにポーリング、差分を表示
sonar watch --stats                        # ライブリソース統計(docker stats のように)
sonar watch -i 500ms                       # より高速なポーリング
sonar watch --notify                       # ポートのアップ/ダウン時にデスクトップ通知
sonar watch --host user@server             # リモートマシンを監視

依存関係グラフ

root@kitploit:~
sonar graph                                # どのサービスが相互に通信しているかを表示
sonar graph --json                         # 構造化出力
sonar graph --dot                          # Graphviz DOT形式

リッスンポート間の確立された接続(例: バックエンドがpostgresに接続している)を表示します。

プロファイル

プロジェクトの予想ポートセットを保存し、すべてが起動しているか確認したり、停止したりできます:

root@kitploit:~
sonar profile create my-app                # 現在のポートをスナップショット
sonar profile list                         # 保存されたプロファイル一覧
sonar profile show my-app                  # プロファイル詳細を表示
sonar up my-app                            # 予想ポートが実行中か確認
sonar down my-app                          # プロファイル内の全ポートを停止

ポート待機

root@kitploit:~
sonar wait 5432                        # ポートが接続を受け付けるまでブロック
sonar wait 5432 3000 6379              # 複数ポートを待機
sonar wait 5432 --timeout 30s         # 30秒でタイムアウト
sonar wait 5432 --http                # TCPオープンだけでなくHTTP 200を待機
sonar wait 5432 --http=/health        # 特定のエンドポイントをチェック
sonar wait 5432 -i 500ms              # カスタムポーリング間隔
sonar wait 5432 -q                    # 出力なし、終了コードのみ(スクリプト用)

docker compose up -d やバックグラウンドサービスのスクリプト化に便利です。--http フラグはTCPソケットだけでなく、実際のHTTP 200-399応答を待機するため、準備が整う前に接続を受け入れるサービスもキャッチします。--http=/health で特定のエンドポイントをチェックします。終了コード: 0(準備完了)、1(タイムアウト)、2(中断)。

root@kitploit:~
docker compose up -d
sonar wait 5432 3000 --timeout 60s && npm run migrate && npm run test

ポートマッピング

root@kitploit:~
sonar map 6873 3002

ポート6873のサービスをポート3002でも利用可能にするプロキシです。

空きポートを探す

root@kitploit:~
sonar next                                 # 3000から最初の空きポート
sonar next 8000                            # 8000から最初の空きポート
sonar next 3000-3100                       # 範囲内の最初の空きポート
sonar next -n 3                            # 連続する3つの空きポート
sonar next --json                          # JSON出力

その他

root@kitploit:~
sonar open 3000                            # ブラウザで開く
sonar tray                                 # ライブ統計付きメニューバーアプリ(macOS)
sonar --no-color                           # 色を無効にする(NO_COLOR環境変数も認識)

--stats フラグはプロセスごと、コンテナごとのリソース使用量を取得します。Dockerコンテナの場合は、Docker Engine APIを使用して正確なコンテナごとのメトリクスを取得します。--stats なしの場合、sonarは即座に結果を返します。

設定

sonar はオプションのデフォルト設定を ~/.config/sonar/config.yaml から読み取ります。このファイルは必須ではありません — なければビルトインのデフォルトが適用されます。コマンドラインフラグは常に設定ファイルよりも優先されます。

スターターファイルを作成:

root@kitploit:~
sonar config init       # コメント付きテンプレートを書き込み
sonar config path       # ファイルの場所を表示
sonar config edit       # $EDITORで開く

設定例:

root@kitploit:~
list:
  columns: [port, process, container, image, containerport, url]
  sort: port            # port | pid | name | type
  filter: ""            # docker | user | system | "" (すべて)
  all: false            # デフォルトでデスクトップアプリを含める
color: true             # falseに設定して色付き出力を無効化
services:               # カスタム/不明なポートにラベル付け
  9000: php-fpm
  5050: my-dashboard

無効な値は警告とともに無視され、sonarはデフォルトで続行します。

トレイアプリ

メニューバートレイアプリ(macOSのみ)は、メニューバーにライブポート統計を表示するネイティブSwiftバイナリです。インストールスクリプトまたはGitHubリリースでsonarをインストールした場合、トレイバイナリ(sonar-tray)は自動的に含まれます。

go install でインストールした場合は、手動でビルドします:

root@kitploit:~
swiftc -O -o sonar-tray tray/SonarTray.swift -target arm64-apple-macos13

その後、sonar-tray を $PATH 上のどこかに移動し、以下を実行:

root@kitploit:~
sonar tray

サポート対象プラットフォーム

  • macOS (lsof を使用)
  • Linux (ss を使用)
  • Windows (netstat を使用)

コントリビューター

sonarに貢献してくださった皆さんに感謝します!

ツールをダウンロード
compose
project
user
bind
ip