💡netstat
network statistics로 다양한 네트워크 설정 사항이나 네트워크 인터페이스나 프로토콜 상에서의 통계 정보를 확인하는 데 사용된다.
네트워크 상의 문제점을 파악할 때 사용할 수 있다.
옵션
- -a(-all): 모든 소켓들에 대한 정보
- -r(--route): 라우팅 테이블 출력
- -n(--numeric): 주소를 호스트명(도메인) 아닌 숫자(ip)로 출력
- -l(--listening): 연결 가능한 상태의 대기중인 네트워크 정보
- -t(--tcp): TCP만 출력
- -u(--udp): UDP만 출력
- -p(--programs): PID와 사용중인 프로그램 이름 출력
- -i(--interfaces): 인터페이스 테이블 출력
- -s(--statistics): 네트워킹 통계 정보 출력
상태 정보
- CLOSED: 완전히 연결이 종료된 상태
- CLOSED_WAIT: 상위 응용프로그램 레벨로부터 연결 종료를 기다리는 상태
- CLOSING: 확인 메시지가 전송 도중 유실된 상태
- ESTABLISHED: 서버와 클라이언트 간에 세션 연결이 성립되어 통신이 이루어지고 있는 상태
- FIN_WAIT1: 클라이언트가 서버에서 연결을 끊고자 요청하는 상태(FIN을 보낸 상태)
- FIN_WAIT2: 서버가 클라이언트로부터 연결 종료 응답을 기다리는 상태(서버가 클라이언트에게 ACK를 보낸 상태)
- LAST_ACK: 호스트가 원격지 호스트의 연결 종료 요구 승인을 기다리는 상태(서버가 클라이언트에게 FIN을 보냈을 때의 상태)
- LISTEN: 클라이언트의 접속 요청을 기다리고 있는 상태(대기 포트 open 상태)
- SYN_SENT: 클라이언트가 서버에게 연결을 요청한 상태
- SYN_RECEIVED: 서버가 클라이언트로부터 SYN을 받아 응답한 후, 클라이언트의 ACK를 받지 못한 채 기다리고 있는 상태
- TIME_WAIT: 연결은 종료되었으나 당분간 소켓을 열어놓은 상태(약 1분)
- UNKNOWN: 소켓의 상태를 알 수 없음
💡사용
특정 프로토콜 관련 정보만 출력하기
# TCP 정보만 모두 확인하기
netstat -at
# UDP 정보만 모두 확인하기
netstat -au
- Proto: 사용하는 프로토콜
- Recv - Q: 받는 패킷의 Socket buffer size
- Send - Q: 보내는 패킷의 Socket buffer size
- Local Address: 내 주소(0.0.0.0: port number -> 해당 포트는 모든 ip로부터 수신 가능)
- Foreign Address: 목적지 주소
- State: 상태 정보
- (-p 옵션 적용 시)PID: PID와 사용중인 프로그램 이름
n 옵션을 붙이는 것과 안 붙이는 것의 차이?
netstat -at
netstat -nat
n 옵션을 추가하면, 도메인 이름이 IP 주소로 변경되고, 포트 번호의 표기도 실제 포트 번호 숫자로 변경된다.
즉, 모두 숫자 방식으로 표기하는 옵션이다.
열려있는 포트와 프로그램 이름 출력해보기
netstat -nap
특정 포트번호의 연결 상태와 프로그램 이름 출력해보기
# 프로그램 이름까지 출력
netstat -nap | grep [port number]
# 프로그램 이름 제외하고 출력
netstat -an | grep [port number]
LISTEN 상태인 포트 정보 출력하기
netstat -nap | grep LISTEN
LISTEN 상태인 TCP 포트와 프로그램
netstat -nltp
udp 옵션까지 추가하는 것도 가능
* 사용한 운영체제: Ubuntu 20.04
참고 자료
https://blog.naver.com/ncloud24/221388026417
netstat 명령어를 통한 네트워크 상태 확인 방법
netstat - 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구사용 방...
blog.naver.com
https://websecurity.tistory.com/103
리눅스(Linux) netstat 명령어 사용법, 네트워크 상태 확인하기
netstat네트워크 연결상태, 라우팅테이블, 인터페이스 상태등을 보여주는 명령어[사용법]#> netstat [옵션] [옵션]옵션 설명-a모든 네트워크 상태 출력 [-all]-c현재 실행 명령을 매 초마다 실행 [--continu
websecurity.tistory.com
https://www.devkuma.com/docs/linux/netstat/
Linux 명령어 | 네트워크 | netstat 네트워크 상태 확인
netstat 명령어 network statistics의 줄임말로 네트워크 인터페이스나 프로토콜 상에서의 통계를 보여주는 소프트웨어 혹은 도구이다. 대체로 네트워크의 상태 및 성능을 측정하고 네트워크 상의 문
www.devkuma.com
https://pearlluck.tistory.com/130
[Linux 명령어] netstat : 네트워크 상태확인
netstat (network statistics) 네트워크 연결 상태확인 명령어 옵션 -a all, 모든 소켓정보 -r 라우팅 정보 -n 호스트명 대신 ip주소로 출력 -i 모든 네트워크 인터페이스 정보 출력 -p 프로세스id(PID)와 프로
pearlluck.tistory.com
https://www.youtube.com/watch?v=Ebm_20-Byhg
'Linux' 카테고리의 다른 글
[Linux]apt와 apt-get의 차이점? (0) | 2024.05.13 |
---|---|
[리눅스 명령어 연습]사용자와 그룹 관리하기 (0) | 2024.02.01 |
[리눅스 명령어 연습] 파일 / 디렉토리 관련 명령어 연습 (0) | 2024.01.31 |