반응형
프로토콜 통계와 현재 TCP/IP 네트워크 연결을 표시
🎈사용 방법
netstat [option] [| find "텍스트"]
💡자주 사용할 것 같은 옵션
netstat -nao | find "LISTEN" // LISTEN 상태인 연결 표시
netstat -nao | find "[ip]:[port]" // 특정 ip에 특정 port 연결 상태 표시
🎈option
-a | 모든 연결 및 수신 대기 포트를 표시합니다. |
-b | 각 연결 또는 수신 대기 포트 생성과 관련된 실행 파일을 표시합니다. 잘 알려진 실행 파일이 여러 독립 구성 요소를 호스팅할 경우 연결 또는 수신 대기 포트 생성과 관련된구성 요소의 시퀀스가 표시됩니다. 이러한 경우에는 실행 파일 이름이 아래 [] 안에 표시되고 위에는 TCP/IP에 도달할 때까지 호출된 구성 요소가 표시됩니다. 이 옵션은 시간이 오래 걸릴 수 있으며 사용 권한이 없으면 실패합니다. |
-e | 이더넷 통계를 표시합니다. 이 옵션은 -s 옵션과 함께 사용할 수 있습니다. |
-f | 외부 주소의 FQDN(정규화된 도메인 이름)을 표시합니다. ※-n 옵션이랑 사용 x |
-n | 주소 및 포트 번호를 숫자 형식으로 표시합니다. |
-o | 각 연결의 소유자 프로세스 ID를 표시합니다. |
-p(proto) | proto로 지정한 프로토콜의 연결을 표시합니다. proto는TCP, UDP, TCPv6 또는 UDPv6 중 하나입니다. -s 옵션과 함께 사용하여 프로토콜별 통계를 표시할 경우 proto는 IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP 또는 UDPv6 중 하나입니다. |
-q | 모든 연결, 수신 대기 포트 및 바인딩된 비수신 대기 TCP 포트를 표시합니다. 바인딩된 비수신 대기 포트는 활성 연결과 연결되거나 연결되지 않을 수도 있습니다. |
-r | 라우팅 테이블을 표시합니다. |
-s | 프로토콜별 통계를 표시합니다. 기본적으로 IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP 및 UDPv6에 대한 통계를 표시합니다. -p 옵션을 사용하여 기본값의 일부 집합에 대한 통계만 지정할 수 있습니다. |
-t | 현재 연결 오프로드 상태를 표시합니다. |
-x | NetworkDirect 연결, 수신기 및 공유 끝점을 표시합니다. |
-y | 모든 연결에 대한 TCP 연결 템플릿을 표시합니다. 다른 옵션과 함께 사용할 수 없습니다. |
interval | 다음 화면으로 이동하기 전에 지정한 시간(초) 동안 선택한 통계를 다시 표시합니다. 통계 다시 표시를 중지하려면 <Ctrl+C>를 누르세요. 이 값을 생략하면 현재 구성 정보가 한 번만 출력됩니다. |
🎈netstat 상태 값
State
|
description
|
📌CLOSED
|
완전히 연결이 종료된 상태
|
CLOSING
|
흔하지 않으나 주로 확인 메시지가 전송 도중 유실된 상태
|
CLOSE_WAIT
|
TCP 연결이 상위 응용프로그램 레벨로부터 연결 종료를 기다리는 상태
|
📌ESTABLISHED
|
서버와 클라이언트 간에 세션 연결이 성립되어 통신이 이루어지고 있는 상태
(클라이언트가 서버의 SYN을 받아서 세션이 연결된 상태) |
FIN_WAIT1
|
클라이언트가 서버에게 연결을 끊고자 요청하는 상태(FIN을 보낸 상태)
|
FIN_WAIT2
|
서버가 클라이언트로부터 연결 종료 응답을 기다리는 상태
(서버가 클라이언트로부터 최초로 FIN을 받은 후, 클라이언트에게 ACK를 주었을 때 |
LAST_ACK
|
호스트가 원격지 호스트의 연결 종료 요구 승인을 기다리는 상태
(서버가 클라이언트에게 FIN을 보냈을 때의 상태) |
📌LISTEN
|
서버의 데몬이 떠 있어서 클라이언트의 접속 요청을 기다리고 있는 상태
|
📌SYN_SENT
|
클라이언트가 서버에게 연결을 요청한 상태
|
SYN_RECEIVED
|
서버가 클라이언트로부터 접속 요구(SYN)을 받아 클라이언트에게 응답(SYN/ACK)하였지만,
아직 클라이언트에게 확인 메시지(ACK)는 받지 못한 상태 |
TIME_WAIT
|
연결은 종결되었지만 당분간 소켓을 열어 놓은 상태, 약 1분 정도이며 시간이 지나면 사라짐
|
UNKNOWN
|
소켓의 상태를 알 수 없음
|
💡0.0.0.0과 ::의 의미
모든 local address를 받을 수 있다는 의미, any의 표기 법
- 0.0.0.0은 IPv4에서의 any의 의미
- ::은 IPv6에서의 any의 의미
여기서 상태값을 이해하기 위해서는 서버-클라이언트간 세션 연결/종료를 위한 절차 TCP 3 way - handshaking과 TCP 4 way - handshaking을 알아야 한다. 해당 내용은 아래 게시글로 분리한다.
https://smile-haha.tistory.com/44
[TCP] TCP 세션 연결/해제 과정(TCP 3/4-way handshaking)
🎈TCP 3-way handshaking TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정. TCP의 연
smile-haha.tistory.com
반응형
'개발 > network' 카테고리의 다른 글
[TCP] TCP 세션 연결/해제 과정(TCP 3/4-way handshaking) (0) | 2022.12.22 |
---|---|
[telnet] window 10 텔넷 이용하기 (0) | 2022.12.22 |
[telnet] 방화벽 port 해제 확인 (0) | 2022.12.21 |