본문 바로가기
프로그래밍/리눅스

[리눅스] linux 에서 listen하고 있는 port 확인하는 4가지 방법

by 앗싸붕 2020. 11. 30.
728x90
반응형

리눅스에서 데몬 혹은 어플리케이션이 listen 하고 있는 port 를 확인하는 방법에 대해 알아보겠습니다.

(참고) port 의 상태는 open, filtered, closed, unfiltered 가 있습니다. 

 

1. Netstat

Netstat 는 Linux 네트워킹 시스템에 대한 정보를 확인하는데 사용되는 도구입니다. 아래와 같이 open되어있는 모든 port를 확인하는데 사용할 수 있습니다.

 

 -l 옵션 : netstat에 모든 수신 소켓을 표시한다.

 -t 옵션 : 모든 TCP 연결을 표시한다.

 -u 옵션 : 모든 UDP 연결을 표시한다.

 -p 옵션 : 포트에서 수신하는 어플리케이션/데몬의 이름을 표시한다.

 -n 옵션 : 서비스 이름 대신 port 번호를 표시한다.

 

sudo netstat -ltup

sudo netstat -ltup

2. SS

ss 명령은 open 된 소켓에 대한 정보를 표시하는 또 다른 유용한 명령입니다. 출력은 netstat 과 비슷합니다. 아래 명령은 TCP 및 UDP 연결에 대한 모든 수신 대기 포트를 숫자로 표시합니다.

 

sudo ss -lntu

sudo ss -lntu

3. nmap

nmap 은 아주 강력하고 인기있는 네트워크 탐색 도구이자 포트 스캐너입니다. 시스템에 nmap이 없을 경우 apt-get, yum, dnf 등을 이용하여 설치할 수 있습니다. nmap 은 port 스캔하는 시간이 수 초이상 걸립니다. 

 

sudo nmap -n -PN -sT -sU -p- localhost

sudo nmap -n -PN -sT -sU -p- localhost

 

4. lsof

open 포트를 확인하는 마지막 방법은 Linux에서 open file을 확인하는데 사용되는 lsof 명령입니다. Unix/Linux의 모든 것은 파일로 이루어져있기때문에 스트림이나 네트워크 파일도 lsof 로 확인할 수 있습니다.

-i옵션을 사용할 경우 모든 네트워크 파일을 볼 수 있습니다. 

 

sudo lsof -i

sudo lsof -i

특정 포트를 확인하고 싶을 경우에는 하기와 같이 사용합니다.

 

sudo lsof -i :5555

sudo lsof -i :5555

 

이렇게 리눅스 시스템에서 사용하고 있는 포트를 확인할 수 있는 네 가지 방법을 확인해봤습니다. 정보 공유나 질문은 댓글로 부탁드립니다. 

728x90
반응형

댓글