netstat (Network Statistics)
netstat은 네트워크 연결 상태, 라우팅 테이블, 인터페이스 통계 등의 정보를 보여주는 명령어입니다. 특히 현재 내 컴퓨터에서 어떤 포트가 활성화(Listen)되어 있고, 외부와 어떤 연결(Established)이 맺어져 있는지 확인할 때 가장 많이 사용됩니다.
1. 기본 사용법
netstat [옵션]
2. 자주 사용하는 옵션 (암기 팁: -antp)
실무에서는 보통 이 옵션들을 조합해서 사용합니다.
| 옵션 | 의미 | 설명 |
|---|---|---|
-a |
all | 연결된 모든 소켓(Listen 포함)을 출력합니다. |
-n |
numeric | 호스트 이름 대신 숫자(IP 주소)로 표시합니다. (속도가 빠름) |
-t |
tcp | TCP 프로토콜 연결만 보여줍니다. |
-u |
udp | UDP 프로토콜 연결만 보여줍니다. |
-p |
program | 해당 연결을 사용 중인 프로세스 ID(PID)와 프로그램 이름을 보여줍니다. (root 권한 필요) |
-l |
listening | 대기 중인(Listen) 포트만 보여줍니다. |
3. 실무 활용 예시
① 현재 열려 있는 모든 포트와 프로그램 확인 (가장 많이 씀)
sudo netstat -antp
② 특정 포트(예: 80번)가 사용 중인지 확인하기
netstat -an | grep :80
③ 라우팅 테이블(경로 정보) 확인하기
netstat -r
④ 네트워크 인터페이스 통계 확인
패킷 전송 오류 등을 파악할 때 유용합니다.
netstat -i
4. [팁] netstat의 상태(State) 읽는 법
- LISTEN: 연결 요청을 기다리는 중 (포트가 열려 있음)
- ESTABLISHED: 연결이 완료되어 데이터를 주고받는 중
- TIME_WAIT: 연결은 종료되었으나 당분간 소켓을 유지하는 상태