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.