본문 바로가기

netstat 명령어 정리

@도움이되는북마크2025. 12. 7. 11:35

# netstat 명령어 정리

## 기본 설명
`netstat` (Network Statistics)는 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 보여주는 네트워크 진단 도구입니다.

## 주요 옵션

### 1. 기본 옵션
```bash
# 모든 활성 연결 표시
netstat -a

# TCP 연결만 표시
netstat -at

# UDP 연결만 표시
netstat -au

# 리스닝 포트만 표시
netstat -l

# TCP 리스닝 포트만 표시
netstat -lt

# UDP 리스닝 포트만 표시
netstat -lu
```

### 2. 상세 정보 옵션
```bash
# PID/프로그램 이름 포함 (관리자 권한 필요)
netstat -p
netstat -ap

# 숫자 형식으로 표시 (호스트/포트를 이름으로 변환 안함)
netstat -n

# 주소/포트를 숫자로 + PID 포함
netstat -pn

# 지속적으로 상태 업데이트 (실시간 모니터링)
netstat -c

# 네트워크 인터페이스 통계
netstat -i

# 상세 인터페이스 정보
netstat -ie
```

### 3. 프로토콜별 통계
```bash
# 모든 프로토콜 통계
netstat -s

# TCP 통계만
netstat -st

# UDP 통계만
netstat -su
```

### 4. 라우팅 테이블
```bash
# 커널 라우팅 테이블
netstat -r

# 숫자 형식으로 라우팅 테이블
netstat -rn
```

## 자주 사용하는 조합

```bash
# 모든 활성 TCP 연결 + PID + 숫자 형식
sudo netstat -tunap

# LISTEN 상태의 포트만 확인
sudo netstat -tunlp

# 특정 포트 사용 확인 (예: 80번 포트)
netstat -an | grep :80

# ESTABLISHED 연결만 확인
netstat -an | grep ESTABLISHED
```

## 출력 해석
- **Proto**: 프로토콜 (TCP/UDP)
- **Local Address**: 로컬 주소와 포트
- **Foreign Address**: 원격 주소와 포트
- **State**: 연결 상태
  - LISTEN: 연결 요청 대기 중
  - ESTABLISHED: 연결 수립됨
  - TIME_WAIT/CLOSE_WAIT: 연결 종료 중
  - SYN_SENT: 연결 요청 보냄

## 시스템별 차이
- **Linux**: `netstat` (일부 시스템에서는 `ss` 권장)
- **Windows**: `netstat` (옵션 약간 다름)
- **macOS**: `netstat` (Linux와 유사)

## modern 대체 명령어
최신 Linux 시스템에서는 `ss`(socket statistics) 명령어를 권장합니다:
```bash
# 모든 소켓 보기
ss -a

# TCP 소켓만
ss -t

# UDP 소켓만
ss -u
```

이 명령어들은 네트워크 문제 진단, 포트 사용 확인, 연결 모니터링 등에 유용합니다.

도움이되는북마크
@도움이되는북마크 :: FReeWARe.kR

지나가다 스치면 도움이... 그래서 언제나 온라인...

공감하셨다면 구독도 환영합니다! 🤗

목차