[CentOS] netstat 사용 포트 확인DevOps/Linux2023. 1. 3. 16:29
Table of Contents
반응형
리눅스 환경에서 netstat 명령어를 사용하여 네트워크 정보를 확인하는 방법에 대해 알아보겠습니다.
netstat 란
netstat는 전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 줄 도구이다.
위키백과
netstat는 네트워크 관련한 정보를 보는 유틸리티로 오래전부터 Unix 계열의 운영체제에서 사용되어 왔으며 현재 LISTEN 중인 포트, 모든 내외부/연결 정보 등을 확인할 수 있습니다.
자주 사용하는 netstat 옵션
- -a : 모든 소켓보기, 이 옵션이 없으면 상태가 ESTABLISHED 인 것만 나옵니다. --all 옵션과 동일합니다.
- -n : 도메인 주소를 읽어들이지 않고 숫자로 출력합니다.
- -p : PID(프로세스 ID) 와 사용 중인 프로그램명이 출력됩니다.
netstat 옵션
- -c : 현재 실행 명령을 매 초마다 실행
- -l : listen 하고 있는 포트만 보여줌
- -i : 내트워크 트래픽정보 모니터링
- -t : tcp 로 연결된 내용 출력
- -u : udp 로 연결된 내용 출력
- -r : 라우팅 테이블을 출력
- -s : 프로토콜별 통계 정보
netstat State
- LISTEN : 서버에 프로세스가 실행되어 있으며 클라이언트의 접속 요청을 기다리는 상태
- ESTABLISED : 서버와 클라이언트간에 세션 연결이 성립되어 통신이 이루어지는 상태
- CLOSE_WAIT : TCP 연결이 상위 레벨로부터 연결 종료를 기다리는 상태
- TIME_WAIT : 연결은 종료 되었지만 특정시간 동안 소켓을 열어놓은 상태
- CLOSE : 연결이 종료된 상태
모든 소켓 확인
$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:wap-wsp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:vrace 0.0.0.0:* LISTEN
tcp 0 0 localhost.locald:domain 0.0.0.0:* LISTEN
...
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 41808 @000f7
unix 2 [ ACC ] STREAM LISTENING 46336 @/tmp/.ICE-unix/2446
unix 2 [ ACC ] STREAM LISTENING 40451 /var/run/docker/metrics.sock
unix 2 [ ACC ] STREAM LISTENING 42868 @/tmp/dbus-i51dyYJlx0
...
TCP 포트 목록
특정 문자열이 포함된 포트를 확인할 수 있습니다. 아래 예시는 0 0.0.0.0
또는 0 :::
문자열이 포함된 TCP 포트 목록을 출력하는 명령어입니다.
$ netstat -nlpt | egrep "0 (0.0.0.0|:::)"
or
$ netstat -anp | grep ^tcp | egrep "0 (0.0.0.0|:::)"
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 951/sshd
tcp 0 0 :::22 :::* LISTEN 951/sshd
tcp6 0 0 :::8080 :::* LISTEN 6959/java
tcp6 0 0 :::8009 :::* LISTEN 6959/java
tcp6 0 0 :::3306 :::* LISTEN 2025/mariadbd
...
포트 & 프로세스 목록
LISTEN 중인 포트 및 프로세스명만 확인하려면 다음과 같은 명령을 사용합니다.
$ netstat -anp | grep "LISTEN " | grep -v 127.0.0.1 | sed 's/:::/0 /g' | sed 's/[:\/]/ /g' | awk '{print $5"\t"$10}' | sort -ug
22 sshd
8009 java
8080 java
3306 mysqld
...
반응형
'DevOps > Linux' 카테고리의 다른 글
[리눅스] mount --bind 사용 방법 (0) | 2023.01.05 |
---|---|
[리눅스] 네트워크 설정 (0) | 2023.01.04 |
[CentOS] PM2 서비스 등록 (0) | 2022.12.30 |
[CentOS] Node.js 및 NPM 설치 (0) | 2022.12.22 |
[CentOS] 사용자 계정 관리 (0) | 2022.12.17 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!