ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
「このポートで何が動いているのか」「サービスがちゃんと待ち受けているか」を調べる作業は、サーバ運用やトラブルシュートで日常的に発生します。ポートの確認には大きく 2 つの視点があります。1 つはホスト内部から見る「どのプロセスがどのポートで listen しているか」、もう 1 つは外部から見る「そのポートに接続できるか (開いているか)」です。前者には ss・netstat・lsof 開いているポート番号の確認、後者には nmap や telnet/nc を使います。前提となる概念は ポート番号 を参照してください。
仕組み
TCP ソケットには状態 (state) があり、サーバとして接続を待っている状態が LISTEN です。確立済みの通信は ESTABLISHED、切断処理中は TIME_WAIT などになります。「待ち受けポートを知りたい」場合は LISTEN だけを抽出すればよく、各ツールの「LISTEN 限定」オプションを使います。
- ss: iproute2 提供の現行標準。カーネルの sock_diag API を直接叩くので高速。
-t(TCP)-u(UDP)-l(LISTEN)-n(名前解決なし)-p(プロセス) を組み合わせる。 - netstat: 旧来の net-tools 系。新しいディストリビューションでは未インストールのことがある。オプション体系は ss とほぼ同じ。
- lsof: 「開いているファイル」を列挙するツール。ソケットもファイルなので
-iでネットワーク接続を逆引きできる。
実用例
# 【Linux】LISTEN 中の TCP/UDP をプロセス付きで (現行の定番)
sudo ss -tulnp
# TCP の LISTEN だけ
ss -tlnp
# 特定ポート(80)を使っているプロセスを逆引き
sudo lsof -i :80
sudo ss -tlnp 'sport = :80'
# 旧式 netstat での同等確認
sudo netstat -tlnp
# 【Windows】PID 付きで全ポート一覧 (PowerShell/cmd)
netstat -ano
# 特定ポート(3000)を使っている行だけ
netstat -ano | findstr :3000
# 出た PID からプロセス名を特定
tasklist /FI "PID eq 1234"
# PowerShell ネイティブで listen 中の TCP を見る
Get-NetTCPConnection -State Listen | Select-Object LocalPort,OwningProcess
Address already in use や EADDRINUSE でサーバが起動できないときは、上記でそのポートを掴んでいるプロセスを特定し、停止するか別ポートに変更します。
主な用途
- サービス稼働確認: 期待したポートで listen できているかを確認する。
- ポート競合の解決: 起動失敗時に「誰がそのポートを使っているか」を突き止める。
- 不要ポートの棚卸し: 開けっ放しの不要サービスを見つけてセキュリティを高める。
- 外形監視: nmap で外部視点の開放状況を確認し、ファイアウォール設定を検証する。
ツールの比較
| ツール | 視点 | 特徴 | 代表コマンド |
|---|---|---|---|
| ss | ホスト内部 | 高速・現行標準・フィルタ豊富 | ss -tlnp |
| netstat | ホスト内部 | 旧式・互換性高いが要インストール | netstat -tlnp |
| lsof | ホスト内部 | プロセス↔ソケットの逆引きに強い | lsof -i :80 |
| netstat -ano | ホスト内部 (Windows) | PID 付き、tasklist と併用 | netstat -ano |
| nmap | 外部 (ネットワーク越し) | 開放状況・サービス推定 (許可対象のみ) | nmap -p- host |
注意点
- プロセス表示には権限が必要: 他ユーザのプロセス名/PID を見るには
sudoが要る。付けないと PID 欄が空になる。 - -n を付けないと遅い: 名前解決で待たされることがあるため、調査時はほぼ常に
-nを付ける。 - TCP と UDP を両方見る: UDP サービス (DNS など) を見落とさないよう
-uも付ける。 - listen のバインドアドレス:
0.0.0.0:80は全インターフェース、127.0.0.1:80はループバックのみ。外部から繋がらない原因はここが多い。 - 外形確認 (nmap) の権限: 自分の管理外ホストへのスキャンは不正アクセスになりうる。許可された対象に限る。
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- ウェルノウンポート一覧
- ポートフォワーディング
- ポートの確認方法
- nmapによるポートスキャン
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?