전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스(네트워크 인터페이스 컨트롤러 또는 소프트웨어 정의 네트워크 인터페이스), 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 줄 도구이다. 네트워크의 문제를 찾아내고 성능 측정으로서 네트워크 상의 트래픽의 양을 결정하기 위해 사용된다. 최근에 배포된 linux 에서는 netstat 대신 ss (socket statistic) 을 사용하라고 권고하고 있다.
note) window 10 의 WSL 에 설치한 ubuntu 20.04.00 에서는 명령어가 동작하지 않았다.
netstat -a -n | grep LISTEN : windows 10
option
옵션 | 설명 |
-a | 현재다른PC와 연결(Established)되어 있거나 대기(Listening)중인 모든 포트 번호를 확인 (--all) |
-c | 현재상테의 명령을 초마다 실행 (--continuous) |
-e | 확장된 정보 표시 (--extend) |
-g | 멀티캐스트에 대한 group 별 정보 출력 (--group) |
-i | 인터페이스별 통계값 출력 (-interfaces) |
-L | 대기중인 네트워크 (-Listning) |
-n | 현재 다른PC와 연결되어 있는 주소,포트번호를 확인 (--numeric) |
-p | PID 와 사용중인 프로그램 출력 (--program) |
-r | 라우팅 테이블 확인 및 커넥션되어 있는 포트번호를 확인 (--route) |
-s | IP, ICMP, UDP프로토콜별의 통계 정보 (--statistic) |
용례1 : netstat -at
TCP 만 출력하기. (t 는 TCP 를 의미함, a 는 모든 port 번호)
- Proto : 프로토콜 종류. TCP / UDP / RAW
- Recv-Q : 해당 process가 현재 받는 바이트 표기
- Send-Q : 해당 process가 현재 보내는 바이트 표기
- Local Address : 출발지 주소 및 포트. 자신의 주소 및 포트
- Foreign Address : 목적지 주소 및 포트
- State : 포트의 상태 표기.
=> CLOSED
=> CLOSED_WAIT
=> CLOSING
=> ESTABLISHED : 연결 완료
=> FIN_WAIT1
=> FIN_WAIT2
=> LAST_ACK
=> LISTEN : 대기 포트. 포트 open
=> SYN_RECV
=> SYN_SENT
=> TIME_WAIT
=> UNKNOWN
Local Address column은 현재 열려있거나 혹은 리스닝하고있는 ip, port를 나타낸다. 만약 해당 ip가 0.0.0.0이라면 all interface를 받는 다는 뜻이며 모든 ip에 대해서 열려있다는 뜻이다. 반대로 127.0.0.1 or localhost로 되어있다면 loopback이라는 뜻으로 자기자신만 호출가능한 상태를 의미한다.
용례2 : netstat -au
UDP 만 출력하기. (u는 UDT를 의미함)
용례3 : netstat -antup
listening 소켓 정보 상세 보기
용례4 : netstat -nr
현재 시스템의 커널 라우팅 정보
occupied port 정보
sudo ss -lntu // 사용하는 port 정보를 나타낸다.
sudo netstat -lntp
netstat -tulpen // port usage 정보를 알수 있다.
'Ubuntu > linux Command' 카테고리의 다른 글
Linux System Command ( df ) - 파일 용량 확인 (0) | 2021.08.10 |
---|---|
Linux System Command (du) - 디렉토리 용량 확인 (0) | 2021.08.10 |
Linux System command (chown) - change owner (0) | 2021.08.09 |
Linux System Command (touch) (0) | 2021.08.09 |
Linux System Command (ifconfig) - interface configuration (0) | 2021.08.09 |