본문 바로가기
CS

NESTAT 명령어 설명(리눅스 기준)

by 몰라몰라개복치 2021. 7. 28.

NESTAT

 

network statistics 의 약자로, 전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 도구.

 

 

 

 

 

 

결과값 설명

Proto: 사용한 프로토콜

State: 연결 상태

  • ESTABLISHED : connection 이 맺어진 상태
  • SYN-RECV : 네트워크로 부터 connection 요청을 수신한 상태
  • FIN-WAIT2, : connection이 closed 상태이고, 소켓이 remote end가 shutdown 되기를 기다리는 상태
  • CLOSED : 소켓을 사용하지 않음
  • LAST_ACK : acknowledgement를 기다리는 상태 remote end가 shutdown 되었고, 소켓이 closed 상태
  • CLOSING : 양쪽의 소켓이 shutdown 되었지만 아직 전송할 데이터가 남아있는 상태
  • UNKNOWN : 정의되지 않은 소켓 상태
  • LISTEN : 소켓이 새로운 connection을 기다리는 상태
  • CLOSE-WAIT : remote end가 shutdown 되었고, 소켓이 closed 상태가 되기를 기다리는 상태
  • TIME-WAIT : 연결종료 후에 한동안 유지하고 있는 상태
  • FIN-WAIT1 : 소켓이 closed 상태이고, connection이 shutdown 될 것이다.
  • SYN-SENT : connection 을 요청한 상태 

Recv-Q : 소켓이 수신한 데이터 중에서 아직 프로그램이 처리 못하고 있는 바이트수를 의미

Send-Q : 전송하였으나 remote host로 부터 아직 acknowledge를 받지 못하여 대기중인 바이트수를 의미

 * 이 값들이 계속해서 증가한다면 프로그램에 문제가 있거나 병목이 발생 하였다는 의미

 

 

 

옵션값 설명

옵션 설명
-a 모든 네트워크 상태 출력  [-all]
-c 현재 실행 명령을 매 초마다 실행 [-continuous]
-e  확장된 정보 출력 [-extend]
-g 멀티캐스트에 대한 그룹별 정보 출력 [-groups]
-i 인터페이스 통계값 출력 [-interface]
-l 대기중인 네트워크 [-listening]
-n 도메인 주소를 숫자로 출력 [-numeric]
-o 연결 대기 시간 출력 [-timers]
-p  PID(프로세스 ID)와 사용중인 프로그램명 출력 [-program]
-r 라우팅 테이블 출력 [-route]
-s 프로토콜 요약 정보 출력 [-statistics]
-t  TCP 프로토콜만 출력 [-tcp]
-u UDP 프로토콜만 출력 [-udp]
-v  버전 출력
-w  RAW 프로토콜만 출력 [-raw]
-A 프로토콜  프로토콜별로 출력 [-protocol]
-M 마스커레이딩 정보 출력 [-masquerade]

 

 

 

 

직접 사용해보자

 

1) 모든 네트워크 연결 확인하기

netstat -a

 

 

 

2) 프로토콜 별로 출력하기 (-A)

+ TCP만 확인하기

* 리눅스 운영체제는 /proc 파일시스템을 이용해서 유저에게 tcp정보를 제공한다. tcp 연결정보는 /proc/net/tcp 파일에 ASCII 형태로 저장되어 있다)

 

 

+UDP만 확인하기

 

 

 

 

3. 열려 있는 모든 포트 중에서 LISTEN 상태인 포트만 출력하기

netstat -nap | grep LISTEN

 

 

 

 

 

4. 라우팅 테이블을 빠르게 출력하기 위한 옵션값 

netstat -rn

 

 

 

 

 

 

5. tcp 프로토콜 중에서 대기상태인 pid를 빠르게 확인하기 위한 옵션값

 

netstat -lntp

 

 

 

 

 

6. 현재 열려 있는 포트를 사용 중인 프로세스 확인

netstat -p

 

 

 

 

7. 열려 있는 포트 번호, 그리고 그 포트를 사용하는 프로그램에 대한 정보를 상세히 점검

netstat -atp

 

 

 

 

 

이 옵션을 통해서 불필요하게 열려 있는 포트나 알려지지 않은 포트가 있다면 이를 확인하여 포트를 닫고 프로그램을 중지

 

 

 

참고

https://websecurity.tistory.com/103

 

리눅스(Linux) netstat 명령어 사용법, 네트워크 상태 확인하기

netstat 네트워크 연결상태, 라우팅테이블, 인터페이스 상태등을 보여주는 명령어 [사용법] #> netstat [옵션] [옵션] 옵션  설명 -a 모든 네트워크 상태 출력 [-all] -c 현재 실행 명령을 매 초마다 실행

websecurity.tistory.com

https://run-it.tistory.com/33

 

유용한 명령어 1탄 : NETSTAT

안녕하세요, 여러분 ;-D 찬바람이 불기시작하는 가을 어느날, 유용한 명령어 1탄! 시작하겠습니다. 너의 이름은!? NETSTAT !!   1. NETSTAT 이란? network statistics 의 약자로, 전송 제어 프로토콜, 라우팅

run-it.tistory.com

https://thebook.io/006718/part01/ch03/06/04/

 

리눅스 서버를 다루는 기술: netstat로 네트워크 정보 확인하기

 

thebook.io

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ryangjm&logNo=220006606991 

 

netstat 명령어

네트워크 connection 상태, 라우팅 테이블, 인터페이스 통계 정보 등을 출력한다. 1. OPTIONS o. -a...

blog.naver.com

 

'CS' 카테고리의 다른 글

패킷, 프레임, 세그먼트의 차이점은?  (0) 2021.07.28
리눅스 proc  (0) 2021.07.28
ARP 스푸핑, 공격 기법, 과정  (0) 2021.07.27
NAT 개념 공부  (0) 2021.07.27
보안기술 4주차  (0) 2021.07.20