Netstat Commands Reference
Linux、macOS、Windows用のnetstatおよびssコマンドの完全なリファレンス(検索可能な例付き)です。
List all connections
netstat -ass -aList listening ports (TCP+UDP)
netstat -tulnss -tulnShow TCP connections
netstat -tnss -tnShow UDP connections
netstat -unss -unShow process PIDs
netstat -tulnpss -tulnp⚠ Linux/macOS may require root for PID visibility
Show routing table
netstat -rip routeShow network statistics
netstat -sss -sCount connections by state
netstat -an | awk '{print $6}' | sort | uniq -c | sort -rnss -tan | awk 'NR>1 {print $1}' | sort | uniq -cFind process using a port
netstat -tulnp | grep :8080ss -tulnp | grep :8080⚠ Replace 8080 with your port number
Show socket summary
netstat -iss -iこのツールについて
NetstatとssはLinux、macOS、Windowsシステムでアクティブなネットワーク接続、ルーティングテーブル、インターフェイス統計、ソケット情報を表示するコマンドラインユーティリティです。Netstatは数十年間の伝統的な選択肢でしたが、ss(ソケット統計)はLinuxシステムの最新の代替品です—より高速で、より読みやすく、詳細なソケット状態情報を表示します。これらのツールを理解することは、接続の問題を診断し、どのアプリケーションがネットワークリソースを使用しているかを特定し、ポートアクティビティを監視し、予期しない接続とリッスンするサービスを追跡するネットワーク管理者にとって不可欠です。
このリファレンスガイドは、最も有用なnetstatおよびssコマンドをタスク別に整理しています。どのポートがリッスンしているか確認する、アクティブな接続を表示する、ネットワークアクティビティに関連するプロセスIDを見つける、トラフィックをプロトコル別に分析する、異なる状態のすべてのソケットをリストアップする、ネットワークインターフェイス統計を監視する、といったタスクを含みます。各コマンドは目的と典型的な出力形式とともに説明されているため、数十のフラグを暗記することなく、必要なとおりの構文を簡単に見つけることができます。検索可能な形式により、コマンド名、プロトコルタイプ、またはユースケース別に素早くフィルタリングできます—ハングしたサービスのトラブルシューティング、セキュリティのためのオープンポートの監査、またはスイッチの帯域幅消費の調査のいずれであっても。
システム管理者、DevOpsエンジニア、セキュリティプロフェッショナルは、システムネットワーク動作を理解し、ポート競合を検出し、サービスが適切にリッスンしていることを確認し、許可されていないネットワークアクセスを特定するためにこれらのコマンドを毎日使用しています。これらのツールを初めて使用する場合でも、正しい構文の迅速なリマインダーが必要な場合でも、このリファレンスは、特定のネットワーク診断またはモニタリングタスク用に即座にコピーして適応させることができる実用的な例を提供することで時間を節約します。
よくある質問
コード実装
import subprocess
import platform
def run_netstat(args: list[str]) -> str:
"""Run netstat command and return output."""
try:
result = subprocess.run(["netstat"] + args, capture_output=True, text=True, timeout=10)
return result.stdout
except FileNotFoundError:
# Try ss on Linux if netstat not found
if platform.system() == "Linux":
result = subprocess.run(["ss"] + args, capture_output=True, text=True, timeout=10)
return result.stdout
return "netstat not found"
# Show all listening TCP ports
print("=== Listening TCP ports ===")
system = platform.system()
if system == "Linux":
print(run_netstat(["-tlnp"])) # or ss -tlnp
elif system == "Darwin": # macOS
print(run_netstat(["-an", "-p", "tcp"]))
elif system == "Windows":
print(run_netstat(["-ano", "-p", "TCP"]))
# Parse listening ports
def get_listening_ports() -> list[dict]:
"""Parse ss output on Linux to get listening ports."""
result = subprocess.run(["ss", "-tlnp"], capture_output=True, text=True)
ports = []
for line in result.stdout.splitlines()[1:]:
parts = line.split()
if len(parts) >= 4 and parts[0] == "LISTEN":
ports.append({"state": parts[0], "local": parts[3], "process": parts[6] if len(parts) > 6 else ""})
return ports
if system == "Linux":
for p in get_listening_ports():
print(p)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.