PowerShellで特定のポートをリッスンしているアプリケーションを確認する方法

この記事では、PowerShellを使って特定のポートをリッスンしているアプリケーションを確認する方法について解説します。この技術はセキュリティ診断やシステムの健全性チェック、ネットワークトラブルシューティングに役立ちます。記事は以下のように構成されています。

目次

PowerShellとは

PowerShellは、Microsoftが開発したスクリプト言語とシェル環境の一つです。主にWindows環境で使われ、システム管理作業を効率化することができます。

基本的なコマンド

PowerShellでは、`Get-Process`、`Get-Service`などの「Get-」で始まるコマンドが多く存在します。これらは情報を取得するためのコマンドです。

特定のポートをリッスンしているアプリケーションを確認する

以下のコードは、特定のポート(例:80番)をリッスンしているアプリケーションを確認するものです。

# 80番ポートをリッスンしているアプリケーションを確認
Get-NetTCPConnection -LocalPort 80

コードの説明

– `Get-NetTCPConnection`: 現在のTCP接続情報を取得するコマンド
– `-LocalPort 80`: ローカルポートが80番である接続情報をフィルターするオプション

補足

このコードはWindows 8以上またはWindows Server 2012以上で使用可能です。

応用例

以下は、このスクリプトの応用例です。

1. 複数のポートを一度に確認する

# 複数のポート(80番、443番)をリッスンしているアプリケーションを確認
$ports = 80,443
$ports | ForEach-Object { Get-NetTCPConnection -LocalPort $_ }

2. 結果をCSVファイルに出力する

# 結果をCSVファイルに出力
Get-NetTCPConnection -LocalPort 80 | Export-Csv -Path "C:\path\to\output.csv"

3. 特定のアプリケーションだけをフィルタリングする

# 特定のアプリケーション(例:chrome.exe)のリッスンしているポートを確認
Get-NetTCPConnection | Where-Object { $_.OwningProcess -eq (Get-Process -Name "chrome").Id }

4. リモートアドレスも確認する

# リモートアドレスも表示
Get-NetTCPConnection -LocalPort 80 | Select-Object LocalAddress, RemoteAddress

5. ポート範囲を指定して確認する

# 1000~2000番のポートをリッスンしているアプリケーションを確認
1000..2000 | ForEach-Object { Get-NetTCPConnection -LocalPort $_ }

まとめ

PowerShellは非常に強力なツールであり、特定のポートをリッスンしているアプリケーションを簡単に確認できます。上記の応用例を参考に、更に高度なネットワーク管理を行ってみてください。

コメント

コメントする

目次