728x90
netstat
▶ 네트워크 연결 상태, 라우팅 테이블, 인터페이스 상태 등을 보여주는 명령어
▶ 다음과 같이 "Active Internet connections"(인터넷 연결상태) 부분과 "Active UNIX domain sockets"(도메인 소켓 연결 상태)으로 나뉘어져서 표시된다.

명칭 | 설명 |
Proto(Protocol) | 프로토콜 종류 |
Recv-Q | 받는 큐 (받는 패킷의 socket buffer size) |
Send-Q | 보내는 큐 (보내는 패킷의 socket buffer size) |
Local Address | 내부주소 (ip주소 : 포트번호) 현재 열려있거나 LISTEN 중인 IP와 PORT 0.0.0.0 이라면, 모든 IP를 다 받을 수 있게 다 열어두었다는 뜻 127.0.0.01 이라면, loopback이여서 자기자신만 받을 수 있다는 뜻 |
Foreign Address | 외부주소 |
State | 상태정보(LISTEN, ESTABLISHED, TIME_WAIT, CLOSED) |
PID | 프로세스ID / 프로그램이름 (P옵션 적용) |
Active Internet connections 항목
프로토콜, 수신큐와 송신큐 그리고 각각의 IP, Port 정보 표시(TCP의 경우 State 정보도 표시)
Active UNIX domain sockets 항목의 TCP state
LISTEN | 서버의 데몬이 떠서 접속 요청을 기다리는 상태 |
SYS-SENT | 로컬의 클라이언트 어플리케이션이 원격호스트에 연결을 요청한 상태 |
SYN_RECEIVED | 서버가 원격 클라이언트로부터 접속 요구를 받아 클라이언트에게 응답을 하였지만 아직 클라이언트에게 확인 메시지는 받지 않은 상태 |
ESTABLISHED | 3 Way-Handshaking이 완료된 후 서로 연결된 상태 |
FIN-WAIT1,2 CLOSE-WAIT |
서버에서 연결을 종료하기 위해 클라이언트에게 종결을 요청하고 회신을 받아 종료하는 과정의 상태 |
CLOSING | 흔하지 않지만 주로 확인 메시지가 전송도중 분실된 상태 |
TIME-WAIT | 연결은 종료되었지만 분실되었을지 모를 느린 세그먼트를 위해 당분간 소켓을 열어두고 있는 상태 |
CLOSED | 완전히 종료 |
Active UNIX domain sockets 항목
▶ 프로토콜이 unix로 표시되며, RefCnt로 해당 소켓을 프로세스가 참조한 횟수를 표시
▶ Flags는 일반적으로 ACC상태로 표시되는데 ACC는 소켓이 연결이 되어 있지 않는 상태를 나타내며, 소켓이 연결이 되어 있는 경우 공백으로 표시된다.
▶ Type은 보통 “DGRAM(Datagram)”과 “STREAM”으로 표시된다.
▶ State와 I-node, 소켓 파일의 절대 경로를 표시해 준다.
Active UNIX domain sockets 항목의 도메인 소켓 연결 상태
FREE | 소켓이 할당되지 않았음 |
LISTENING | 소켓이 연결 요청을 기다리는 중 |
CONNECTING | 소켓 연결이 활성화되어 짐 |
CONNECTED | 소켓이 연결되어 있음 |
DISCONNECTING | 소켓 연결이 종료됨 |
공백 | 소켓이 어떠한 프로세스와도 연결되어 있지 않음 |
UNKNOWN | 이 상태는 발생하지 않는다. |
옵션
-a | 모든 네트워크 상태 출력 |
-c | 현재 실행 명령을 매 초마다 실행 |
-e | 확장된 정보 출력 |
-g | 멀티캐스트에 대한 그룹별 정보 출력 |
-i | 인터페이스별 통계값 출력 |
-l | LINTEN 상태인 서비스 포트 출력 |
-n | 도메인 주소를 숫자로 출력 |
-o | 연결 대기 시간 출력 |
-p | 해당 포트를 사용하는 프로그램명과 프로세스ID(PID) 출력 |
-r | 라우팅 테이블 출력 |
-s | 프로토콜별(IP |
-t | TCP 프로토콜만 출력 |
-u | UDP 프로토콜만 출력 |
-v | 버전 출력 |
-w | RAW 프로토콜만 출력 |
-a | 프로토콜별로 출력 |
-M | 마스커레이딩 정보 출력 |
netstat -na | 현재 시스템의 모든 네트워크 연결 목록 표시 |
netstat -nap | LISTEN 상태인 포트만 출력(열려있는 모든 포트 출력) |
netstat -anp | grep 1.1.1.1 | IP로 검색 |
netstat -anp | grep 8080 | port로 검색 |
netstat -nat | TCP 프로토콜의 네트워크 연결상태 확인 |
netstat -nau | UDP 프로토콜의 네트워크 연결상태 확인 |
netstat -rn | 라우팅 정보 연결상태 확인 |
netstat -i | 네트워크 인터페이스 정보 출력 |
netstat -s | 프로토콜별 네트워크 정보 출력 |
netstat -lnp | LISTEN 포트 확인 |
netstat -np | 연결된 포트 확인 |
netstat -tnlp | grep -v 127.0.0.1 | sed 's/:::/0 /g' | sed 's/[:\/]/ /g' | awk '{print $5"\t"$10}' | sort -ug
각각의 포트 번호에 연결된 프로세스 정보만 확인
참고
https://websecurity.tistory.com/103
https://velog.io/@rbdus96/%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%AA%85%EB%A0%B9%EC%96%B4-netstat
728x90
'OS > Linux' 카테고리의 다른 글
[Linux] awk 명령어 (0) | 2024.10.18 |
---|---|
[Linux] sed 명령어 (0) | 2024.10.16 |
[Linux] more 명령어 (0) | 2024.10.11 |
[Linux] ps 명령어 (0) | 2024.10.09 |
[Linux] 현재 쉘(shell) 확인 방법 (0) | 2024.10.07 |