OS/Windows

[Windows] TCP/UDP 상태확인

요체크다 2022. 10. 18. 16:44
반응형

 Windows 서버 운영 시 TCP Socket 고갈로 인해 서비스에 문제가 발생하는 경우가 발생할 수 있습니다.
이 경우 어떤 프로세스(PID)에서 TCP 세션을 많이 연결되어 있는지 확인하는 것이 중요한데, 이 경우 netstat 명령어를 통해 확인이 가능합니다.

우선 netstat 명령어란?
 - 내 컴퓨터 또는 서버의 네트워크 상태를 확인할 수 있는 명령어로서 어떤 Port가 열려 있고 해당 Port는 어떤 PID에 의해 오픈 되었는지 등의 정보 확인이 가능합니다.

[ netstat 에서 자주 사용하는 옵션 ]

-a : 모든 연결 및 수신 대기 포트를 표시합니다.

-n : 주소 및 포트 번호를 숫자 형식으로 표시합니다.

-o : 각 연결의 소유자 프로세스 ID를 표시합니다.

-p : proto로 지정한 프로토콜의 연결을 표시합니다. proto는 TCP, UDP, TCPv6 또는 UDPv6 중 하나입니다.

1) TCP/UDP 리스트 확인
 #netstat -an

 

2) TCP 리스트 확인
#netstat -anp tcp

3) TCP 리스트에 PID정보 함께 조회
#netstat -anpo tcp

< netstat -anpo tcp 결과 화면 >

4) 특정 Port로 접속한 IP 확인
#netstat -ano | find "443"

5) netstat 상태 값

- LISTEN                연결 요구를 기다리는 상태, 포트가 열려 있는 상태.

- ESTABLISHED    서로 연결되어 있는 상태

- SVN_SENT          클라이언트가 서버에 SYN 패킷을 보내고 연결을 요청한 상태.

- SVN_RECV         서버가 클라이언트의 SYN 패킷으로 요청을 받은 후 응답으로 SYN/ACK 패킷을 보내고 클라이언트에게 ACK를 받기 위해 기다리는 상태.

- TIME_WAIT         TCP 상태의 가장 마지막 단계로서, 이미 기존 연결이 종료되었거나 다음 연결을 위해 기다리는 상태.

- CLOSE_WAIT     원격의 연결 요청을 받고 연결이 종료되길 기다리는 상태.

- FIN_WAIT1         클라이언트가 서버에게 연결을 끊고자 요청하는 상태.

- FIN_WAIT2         서버가 클라이언트로부터 연결 종료 응답을 기다리는 상태.

- LAST_ACK         연결이 종료되었고 승인을 기다리는 상태.

- CLOSED            완전히 연결이 종료된 상태.

 

반응형

'OS > Windows' 카테고리의 다른 글

[Windows] 메모리 관리 맛보기  (0) 2023.11.03
[Windows] 윈도우 단축키 모음  (0) 2021.02.04