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: 라우팅 테이블을 출력합니다