728x90
netstat 명령어
netstat 명령어는 네트워크 통계 정보를 확인하거나 현재의 네트워크 연결 상태를 조회하기 위해 사용되는 명령어입니다. 이를 통해 로컬 시스템에서 수신 중인 및 송신 중인 네트워크 연결, 라우팅 테이블, 인터페이스 상태 등의 정보를 확인할 수 있습니다.
netstat 상태(State)
state | description |
ESTABLISHED | 소켓에 연결이 설정되어 있습니다. |
SYN_SENT | 소켓이 연결을 적극적으로 설정하려고 시도하고 있습니다. |
SYN_RECV | 네트워크에서 연결 요청이 수신되었습니다. |
FIN_WAIT1 | 소켓이 닫히고 연결이 종료됩니다. |
FIN_WAIT2 | 연결이 닫히고 소켓이 원격 끝에서 종료되기를 기다리고 있습니다. |
TIME_WAIT | 소켓은 네트워크에 남아 있는 패킷을 처리하기 위해 닫은 후 대기 중입니다. |
CLOSE | 소켓이 사용 중이 아닙니다. |
CLOSE_WAIT | 원격 끝이 종료되어 소켓이 닫히기를 기다리고 있습니다. |
LAST_ACK | 원격 끝이 종료되고 소켓이 닫혔습니다. 승인을 기다리는 중입니다. |
LISTEN | 소켓이 들어오는 연결을 수신 대기 중입니다. 이러한 소켓은 --listening(-l) 또는 --all(-a) 옵션을 지정하지 않는 한 출력에 포함되지 않습니다. |
CLOSING | 두 소켓이 모두 종료되었지만 여전히 모든 데이터가 전송되지 않았습니다. |
UNKNOWN | 소켓의 상태를 알 수 없습니다. |
TCP endpoints state transmission
728x90
tcp flags
state | description |
SYN (synchronize) | 연결을 시작하는 데 사용되는 패킷입니다. |
ACK (acknowledgment) | 데이터 패킷이 수신되었는지 확인하는 데 사용되는 패킷으로, 시작 요청 및 요청을 삭제하는 데에도 사용됩니다. |
RST (reset) | 연결이 중단되었거나 서비스가 요청을 수락하지 않고 있음을 나타냅니다. |
FIN (finish) | 연결이 끊어지고 있음을 나타냅니다. 발신자와 수신자 모두 FIN 패킷을 전송하여 연결을 정상적으로 종료합니다. |
PSH (push) | 들어오는 데이터를 버퍼링하지 않고 애플리케이션에 직접 전달해야 함을 나타냅니다. |
URG (urgent) | 패킷이 전송하는 데이터가 TCP 스택에서 즉시 처리되어야 함을 나타냅니다. |
performance diagram
netstat 명령어의 기본 구문
netstat [옵션]
자주 사용되는 옵션
- -a 또는 --all: 모든 연결 및 소켓을 보여줍니다.
- -t 또는 --tcp: TCP 연결 정보만 표시합니다.
- -u 또는 --udp: UDP 연결 정보만 표시합니다.
- -n 또는 --numeric: IP 주소 및 포트 번호를 숫자로 표시하며, 호스트명으로 변환하지 않습니다.
- -p 또는 --program: 프로세스 이름과 함께 소켓 및 연결 정보를 표시합니다. (권한이 필요할 수 있음)
- -r 또는 --route: 라우팅 테이블을 표시합니다.
- 모든 연결 및 소켓 정보를 숫자로 표시하고 프로세스 정보와 함께 표시
netstat -anp
참고URL
- Transmission Control Protocol (TCP): The advanced stuff
728x90
'리눅스' 카테고리의 다른 글
Mac Time Machine 백업 시간 줄이기 (0) | 2022.02.17 |
---|---|
CentOS 7에 Apache2의 확장 모듈인 Evasive를 설치하는 방법 (0) | 2022.02.05 |
tee 명령어 (0) | 2022.02.05 |
[linux] How To Install GoAccess on CentOS 8 (0) | 2022.02.04 |
GoAccess를 설치하고 로그를 분석하는 방법 (0) | 2022.02.04 |