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


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

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

1. netstat 명령 사용

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

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

$ sudo yum install net-tools	#RHEL/CentOS 
$ sudo apt install net-tools	#Debian/Ubuntu
$ sudo dnf install net-tools	#Fedora 22+

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

$ netstat -ltnp | grep -w ':80' 

위의 명령에서 플래그.

  • l – tells netstat to only show listening sockets.
  • t – tells it to display tcp connections.
  • n – instructs it show numerical addresses.
  • p – enables showing of the process ID and the process name.
  • grep -w – shows matching of exact string (:80).

2. lsof 명령 사용

lsof 명령 (LiSt Open Files)은 Linux 시스템에서 열려있는 모든 파일을 나열하는 데 사용됩니다. 시스템에 설치하려면 아래 명령을 입력하십시오.

$ sudo yum install lsof	        #RHEL/CentOS 
$ sudo apt install lsof		#Debian/Ubuntu
$ sudo dnf install lsof		#Fedora 22+

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

$ lsof -i :80

3. 퓨저 명령 사용

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

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

$ sudo yum install psmisc	#RHEL/CentOS 
$ sudo apt install psmisc	#Debian/Ubuntu
$ sudo dnf install psmisc	#Fedora 22+

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

$ fuser 80/tcp

그런 다음 ps 명령으로 PID 번호를 사용하여 프로세스 이름을 찾으십시오.

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

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

  1. All You Need To Know About Processes in Linux [Comprehensive Guide]
  2. Limit CPU Usage of a Process in Linux with CPULimit Tool
  3. How to Find and Kill Running Processes in Linux
  4. Find Top Running Processes by Highest Memory and CPU Usage in Linux

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