netstat 명령어 설명은 어디서 확인할 수 있나요?
💡 요약 정리
- netstat는 시스템의 네트워크 상태를 확인하는 핵심 명령어입니다.
netstat -na옵션을 사용하면 모든 네트워크 연결 정보를 상세히 표시합니다.- TCP 상태, 도메인 소켓 연결 상태 등 다양한 정보를 분석할 수 있습니다.
- 자주 사용하는 옵션을 조합하면 유용한 통계와 상태 정보를 얻을 수 있습니다.
1. netstat 명령어란?
netstat 명령은 네트워크 연결 상태, 라우팅 테이블, 인터페이스 상태 등을 보여주는 명령어입니다.
"Active Internet connections"(인터넷 연결상태)와 "Active UNIX domain sockets"(도메인 소켓 연결 상태)로 나뉘어 표시됩니다.
netstat -na 옵션을 입력하면 현재 시스템의 모든 네트워크 연결 목록을 표시합니다.
[root@localhost data]# netstat -na
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 284 10.10.11.11:22 10.10.100.208:6165 ESTABLISHED
udp 0 0 0.0.0.0:68 0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 243887 /tmp/ssh-aezye10623/agent.10623
unix 5 [ ] DGRAM 4356 /dev/log
unix 2 [ ACC ] STREAM LISTENING 288193 /tmp/mysql.sock
unix 2 [ ] DGRAM 1267 @/org/kernel/udev/udevd
unix 2 [ ] DGRAM 243879
unix 2 [ ] DGRAM 4815
unix 2 [ ] DGRAM 4364
[root@localhost data]#
2. 주요 옵션
-n: 호스트명 및 포트명을 조회하지 않고 IP, Port 번호 그대로 표시합니다.-a: 모든 네트워크 상태를 표시합니다.-t: TCP 프로토콜만 표시합니다.-u: UDP 프로토콜만 표시합니다.-p: 해당 포트를 사용하는 프로그램 및 프로세스 ID(PID)를 표시합니다.-r: 라우팅 테이블을 출력합니다.-s: 프로토콜별(IP, ICMP, TCP, UDP 등) 통계를 표시합니다.-c: 1초 단위로 정보를 연속 출력합니다.
3. Active Internet connections 항목
- 프로토콜, 수신 큐(Recv-Q), 송신 큐(Send-Q), IP 및 포트 정보를 제공합니다.
- TCP 프로토콜은 상태(State) 정보를 추가로 표시합니다.
4. Active Internet connections 항목의 TCP 상태(State)
LISTEN: 서버 데몬이 접속 요청을 기다리는 상태SYS-SENT: 클라이언트가 원격 호스트에 연결 요청한 상태SYN_RECEIVED: 서버가 클라이언트 요청을 받아 응답했으나 확인 메시지를 받지 않은 상태ESTABLISHED: 3 Way Handshaking 완료 후 양방향 연결된 상태FIN-WAIT1,CLOSE-WAIT,FIN-WAIT2: 연결 종료 요청 및 절차가 진행 중인 상태CLOSING: 드물며 확인 메시지가 손실된 상태TIME-WAIT: 연결 종료 후 패킷 지연 가능성 대비 소켓을 유지 중인 상태CLOSED: 연결이 완전히 종료된 상태
5. Active UNIX domain sockets 항목
- 프로토콜은
unix로 표시되며,RefCnt는 해당 소켓을 참조한 프로세스 횟수입니다. Flags: 소켓 상태, 일반적으로[ ACC ]는 연결되지 않은 상태이며, 연결된 경우 공백으로 표시됩니다.Type:DGRAM(Datagram)또는STREAM으로 표시됩니다.State, I-node 번호, 소켓 파일의 절대 경로가 함께 표시됩니다.
6. UNIX 도메인 소켓 연결 상태(State)
FREE: 소켓이 할당되지 않은 상태LISTENING: 연결 요청을 대기 중CONNECTING: 소켓 연결이 개시됨CONNECTED: 소켓이 연결된 상태DISCONNECTING: 소켓 연결 종료 중- (공백): 어떠한 프로세스와도 연결되어 있지 않음
UNKNOWN: 이 상태는 출력되지 않음
7. 유용한 netstat 사용 예
netstat -na --ip: tcp/udp 세션 목록을 표시합니다.netstat -na | grep ESTABLISHED | wc -l: 활성 세션 수를 확인합니다.netstat -nap | grep :80 | grep ESTABLISHED | wc -l: 80번 포트의 동시 접속자 수 확인netstat -nltp: LISTEN 중인 포트 목록 표시netstat -r: 라우팅 테이블을 출력합니다