netstat 란 network statistics 의 약자로 네트워크 상태를 모니터링하도록 도와주는 명령어입니다.
전송제어 프로토콜, 라우팅 테이블, 네트워크 인터페이스 통계 등을 확인할 수 있습니다.
※ 리눅스와 윈도우 모두 사용할 수 있지만 옵션값이 차이가 있습니다.
netstat 사용 방법
netstat [옵션]
옵션 - 윈도우
-a: 모든 연결 및 수신 대기 포트를 표시합니다. // (주로 많이 사용)
-n: "IP주소:포트" 형태로 표시합니다. // (주로 많이 사용)
-o: PID를 표시합니다. // (주로 많이 사용)
-r : 라우팅 테이블을 표시합니다.
-e : 인터페이스 통계를 표시합니다. (랜카드에서 송수신한 패킷의 용량 및 종류)
-s : 프로토콜별 통계를 표시합니다.
ex) netstat 명령어로 mysql이 사용 중인 PID를 찾아봅니다.
※ 포트를 제대로 알고 있다면 find / findstr 명령어를 이용하여 검색가능
ex) 특정 포트에 연결된 ip 주소 찾아봅니다. (443 포트로 연결된 ip 확인)
* 왼쪽이 로컬주소 오른쪽이 외부주소
※ tasklist /FI "PID eq [PID]"을 이용하여 찾은 프로세스를 종료할 수 있습니다.
옵션 - 리눅스
-a: 모든 연결 및 수신 대기 포트를 표시합니다. // (주로 많이 사용)
-n: "IP주소:포트" 형태로 표시합니다. // (주로 많이 사용)
-p: PID와 프로그램명을 표시합니다. // (주로 많이 사용)
-l : Listening 상태를 표시합니다. // (주로 많이 사용)
-r : 라우팅 테이블을 표시합니다.
-e : 인터페이스 통계를 표시합니다. (랜카드에서 송수신한 패킷의 용량 및 종류)
-s : 프로토콜별 통계를 표시합니다.
-t : TCP 프로토콜을 표시합니다. // (주로 많이 사용)
-u : UDP 프로토콜을 표시합니다.
ex) netstat 명령어로 mysql이 사용 중인 PID를 찾아봅니다.
※ 포트를 제대로 알고 있다면 grep 명령어를 이용하여 검색가능
※ kill -9 [PID]을 이용하여 찾은 프로세스를 종료할 수 있습니다.
netstat으로 확인 가능한 상태 값 설명
상태 | 설명 |
LISTEN | 서비스 연결 대기중 상태 |
ESTABLISHED | 서버와 클라이언트가 서로 연결된 상태 |
SYN_SENT | 클라이언트가 서버에 SYN 패킷 전송 후 연결 요청 상태 |
SYN_RECV | 서버가 클라이언트의 SYN 패킷 수신 후 클라이언트에게 ACK 패킷 오기 전 대기 상태 |
FIN_WAIT1 | 클라이언트가 서버에 연결을 끊고자 FIN을 보낸 상태 |
FIN_WAIT2 | 서버가 클라이언트의 FIN을 받고 ACK를 보낸 상태 |
CLOSE_WAIT | 원격 연결 요청을 받은 상태로 연결 종료를 기다리는 상태 |
LAST_ACK | 연결이 종료되고 승인을 기다리는 상태 |
CLOSED | 연결 종료 상태 |
'OS > Network' 카테고리의 다른 글
Network - SSL 인증서 포맷 이해하기 (2) | 2024.11.09 |
---|---|
Network - OpenSSL 및 Keytool로 SSL 인증서 변환하기 (6) | 2024.11.08 |
Network - ARP(Address Resolution Protocol) 명령어란? (0) | 2024.05.03 |
Network - 가상네트워크 (Host-only / NAT / Bridged) (2) | 2023.12.08 |
네트워크 경로 추적 명령어 tracert (traceroute) 이란? (0) | 2023.03.13 |