웹사이트 검색

Linux에서 어떤 포트가 수신 대기하는지 확인하는 4가지 방법


포트의 상태는 열림, 필터링됨, 닫힘 또는 필터링되지 않음입니다. 대상 시스템의 애플리케이션이 해당 포트의 연결/패킷을 수신하는 경우 포트가 열려 있다고 합니다.

이 기사에서는 열린 포트를 확인하는 네 가지 방법을 설명하고 Linux의 어떤 포트에서 어떤 애플리케이션이 수신 대기하는지 찾는 방법도 보여줍니다.

1. Netstat 명령 사용

Netstat는 Linux 네트워킹 하위 시스템에 대한 정보를 쿼리하는 데 널리 사용되는 도구입니다. 이를 사용하여 다음과 같이 열려 있는 모든 포트를 인쇄할 수 있습니다.

sudo netstat -ltup 

-l 플래그는 netstat에 모든 청취 소켓을 인쇄하도록 지시하고, -t는 모든 TCP 연결을 표시하고, -u는 모든 UDP 연결을 표시하고 -p는 포트에서 수신 대기하는 응용 프로그램/프로그램 이름의 인쇄를 활성화합니다.

서비스 이름 대신 숫자 값을 인쇄하려면 -n 플래그를 추가하세요.

sudo netstat -lntup

예를 들어, grep 명령을 사용하여 특정 포트에서 수신 대기 중인 애플리케이션을 확인할 수도 있습니다.

sudo netstat -lntup | grep "nginx"

또는 표시된 대로 포트를 지정하고 바인딩된 애플리케이션을 찾을 수 있습니다.

sudo netstat -lntup | grep ":80"

2. ss 명령 사용

ss 명령은 소켓에 대한 정보를 표시하는 또 다른 유용한 도구입니다. 출력은 netstat의 출력과 유사합니다. 다음 명령은 TCPUDP 연결에 대한 모든 수신 포트를 숫자 값으로 표시합니다.

sudo ss -lntu

3. Nmap 명령 사용

Nmap은 강력하고 인기 있는 네트워크 탐색 도구이자 포트 스캐너입니다. 시스템에 nmap을 설치하려면 표시된 대로 기본 패키지 관리자를 사용하십시오.

sudo apt install nmap  [On Debian/Ubuntu]
sudo yum install nmap  [On CentOS/RHEL]
sudo dnf install nmap  [On Fedora 22+]

Linux 시스템에서 열려 있거나 수신 중인 모든 포트를 검색하려면 다음 명령을 실행합니다(완료하는 데 시간이 오래 걸립니다).

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

4. lsof 명령 사용

열린 포트를 쿼리하기 위해 다룰 마지막 도구는 Linux에서 열린 파일을 나열하는 데 사용되는 lsof 명령입니다. Unix/Linux에서는 모든 것이 파일이므로 열린 파일은 스트림 또는 네트워크 파일일 수 있습니다.

모든 인터넷 및 네트워크 파일을 나열하려면 -i 옵션을 사용하십시오. 이 명령에는 서비스 이름과 숫자 포트가 혼합되어 표시됩니다.

sudo lsof -i

특정 포트에서 수신 대기 중인 애플리케이션을 찾으려면 이 양식에서 lsof를 실행하세요.

sudo lsof -i :80

그게 다야! 이 기사에서는 Linux에서 열린 포트를 확인하는 네 가지 방법을 설명했습니다. 또한 어떤 프로세스가 특정 포트에 바인딩되어 있는지 확인하는 방법도 보여주었습니다. 아래 피드백 양식을 통해 의견을 공유하거나 질문을 할 수 있습니다.