웹사이트 검색

포트에서 수신 대기하는 Linux 프로세스를 찾는 3가지 방법


포트는 통신의 끝점을 나타내며 운영 체제의 특정 프로세스 또는 서비스와 연결되는 논리적 엔터티입니다. 이전 기사에서는 Linux에서 열려 있는 모든 포트 목록을 찾는 방법과 Netcat 명령을 사용하여 원격 포트에 연결할 수 있는지 확인하는 방법을 설명했습니다.

이 짧은 가이드에서는 Linux의 특정 포트에서 수신 대기하는 프로세스/서비스를 찾는 다양한 방법을 보여줍니다.

1. netstat 명령 사용

netstat(네트워크 통계) 명령은 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등에 관한 정보를 표시하는 데 사용됩니다. Linux를 포함한 모든 Unix 계열 운영 체제와 Windows OS에서 사용할 수 있습니다.

기본적으로 설치되어 있지 않은 경우 다음 명령을 사용하여 설치하십시오.

sudo apt-get install net-tools    [On Debian/Ubuntu & Mint] 
sudo dnf install net-tools        [On CentOS/RHEL/Fedora and Rocky Linux/AlmaLinux]
pacman -S netstat-nat             [On Arch Linux]
emerge sys-apps/net-tools         [On Gentoo]
sudo dnf install net-tools        [On Fedora]
sudo zypper install net-tools     [On openSUSE]

설치한 후에는 grep 명령과 함께 사용하여 다음과 같이 Linux의 특정 포트에서 수신 대기하는 프로세스나 서비스를 찾을 수 있습니다(포트 지정).

netstat -ltnp | grep -w ':80' 

위 명령에서는 플래그입니다.

  • l – netstat에 청취 소켓만 표시하도록 지시합니다.
  • t – TCP 연결을 표시하도록 지시합니다.
  • n – 숫자 주소를 표시하도록 지시합니다.
  • p – 프로세스 ID와 프로세스 이름 표시를 활성화합니다.
  • grep -w – 정확한 문자열(:80) 일치를 표시합니다.

참고: netstat 명령은 더 이상 사용되지 않으며 Linux에서는 최신 ss 명령으로 대체되었습니다.

2. lsof 명령 사용

lsof 명령(열린 파일 나열)은 Linux 시스템에서 열려 있는 모든 파일을 나열하는 데 사용됩니다.

시스템에 설치하려면 아래 명령을 입력하십시오.

sudo apt-get install lsof     [On Debian, Ubuntu and Mint]
sudo yum install lsof         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/lsof  [On Gentoo Linux]
sudo pacman -S lsof           [On Arch Linux]
sudo zypper install lsof      [On OpenSUSE]    

특정 포트에서 수신 대기 중인 프로세스/서비스를 찾으려면 다음을 입력하십시오(포트 지정).

lsof -i :80

3. 퓨저 명령 사용

Fuser 명령은 Linux에서 지정된 파일 또는 파일 시스템을 사용하는 프로세스의 PID를 표시합니다.

다음과 같이 설치할 수 있습니다.

sudo apt-get install psmisc     [On Debian, Ubuntu and Mint]
sudo yum install psmisc         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/psmisc  [On Gentoo Linux]
sudo pacman -S psmisc           [On Arch Linux]
sudo zypper install psmisc      [On OpenSUSE]    

아래 명령을 실행하여 특정 포트에서 수신 대기 중인 프로세스/서비스를 찾을 수 있습니다(포트 지정).

fuser 80/tcp

그런 다음 ps 명령과 함께 PID 번호를 사용하여 프로세스 이름을 찾습니다.

ps -p 2053 -o comm=
ps -p 2381 -o comm=

Linux의 프로세스에 대한 유용한 가이드를 확인할 수도 있습니다.

그게 다야! Linux의 특정 포트에서 수신 대기 중인 프로세스/서비스를 찾는 다른 방법을 알고 계십니까? 아래 의견 양식을 통해 알려주십시오.