Hostwinds 블로그

에 대한 검색 결과:


Linux에서 열린 포트를 확인하는 5 가지 방법 나타난 그림

Linux에서 열린 포트를 확인하는 5 가지 방법

으로: Hostwinds Team  /  일월 14, 2025


포트는 Linux 시스템의 앱 및 프로그램이 데이터를 보내고받을 수있는 출입구와 같습니다.어떤 포트를 사용 중인지, 어떤 포트가 열려 있는지, 네트워크에서 무슨 일이 일어나고 있는지 알아 내면 올바른 장소로왔다.

이 안내서에서는 간단한 명령을 사용하여 Linux의 포트를 확인하는 여러 가지 방법을 살펴 보겠습니다.결국, 포트로 작업하고 시스템에서 무슨 일이 일어나고 있는지 아는 것이 더 편안 해집니다.

포트는 무엇입니까?

명령에 뛰어 들기 전에 잠시 시간을내어 포트가 무엇인지 이해합시다.

  • 포트는 컴퓨터에서 실행되는 특정 프로그램 또는 앱을 식별하는 숫자입니다.예를 들어:
    • 웹 서버 포트 일반적으로 사용됩니다 포트 80 (HTTP) 또는 포트 443 (HTTPS).
    • SSH를 통한 원격 로그인은 일반적으로 사용됩니다 포트 22.
  • 모든 포트에는 숫자가 있습니다 0 및 65535세 가지 주요 그룹에 속하는 것 :
    • 0–1023: HTTP 및 FTP와 같은 일반적인 프로토콜을 위해 예약되었습니다.
    • 1024–49151: 응용 프로그램의 경우 설치하십시오.
    • 49152–65535: 앱이 서비스에 연결할 때 사용되는 임시 포트.

그 길을 벗어나면 포트에서 무슨 일이 일어나고 있는지 확인하는 방법을 살펴 보겠습니다.

Linux에서 포트를 확인하는 방법

Linux에는 열린 포트 또는 청취 포트를 확인하는 데 도움이되는 여러 도구가 있습니다.아래에서 우리는 5 가지 일반적인 방법을 살펴보고 각 방법을 설명합니다.

1. Netstat 사용

NetStat 명령은 네트워크 연결 및 포트 사용에 대한 자세한보기를 제공합니다.

터미널을 열고 유형 :

netstat -tuln

각 옵션이 의미하는 바는 다음과 같습니다.

  • -티: TCP (전송 제어 프로토콜) 포트를 표시합니다.
  • -유: UDP (사용자 데이터 그램 프로토콜) 포트 표시.
  • -엘: 적극적으로 듣는 포트 만 표시하십시오.
  • -N: 번역 프로그램 이름 (예 : "SSH")을 포트 번호로 건너 뛰면 더 빠릅니다.

당신이 보는 것 :

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*

이것을 읽는 방법은 다음과 같습니다.

  • 프로토 : TCP인지 UDP인지를 보여줍니다.
  • 로컬 주소 : 기계의 IP와 사용중인 포트.
  • 외국 주소 : 다른 기계의 IP와 포트 (또는 모두가 열린 경우).
  • 상태: TCP의 경우 청취는 연결을 기다리고 있음을 의미합니다.

빠른 참고 : Netstat은 Net-Tools 패키지의 일부이며 최신 Linux 버전에 사전 설치되지 않을 수 있습니다.다음을 사용하여 설치하십시오.

sudo apt install net-tools  # On Debian/Ubuntu  
sudo yum install net-tools  # On RHEL/CentOS 

2. SS 사용

ss Netstat에 대한 새롭고 빠른 대안입니다.비슷한 정보를 제공하지만 현대 시스템에서 더 잘 작동합니다.

다음 명령을 실행하십시오.

ss -tuln

옵션은 Netstat와 동일하므로 바로 뛰어 올라갈 수 있어야합니다.

당신이 보는 것 :

Netid   State      Recv-Q Send-Q Local Address:Port           Peer Address:Port
tcp     LISTEN     0      128    0.0.0.0:22                  0.0.0.0:*         
udp     UNCONN     0      0      0.0.0.0:68                  0.0.0.0:*

이 출력은 Netstat와 유사하지만 ss 특히 많은 연결을 다루는 경우 더 빠른 경향이 있습니다.

3. LSOF 사용

lsof (열린 파일 목록)은 프로세스에서 어떤 파일 또는 네트워크 연결을 사용하는지 확인하기위한 편리한 도구입니다.

어떤 포트가 열려 있고 사용중인 포트를 확인하려면 실행하십시오.

sudo lsof -i -P -n
  • -나: 네트워크 관련 파일 용 필터.
  • -피: 서비스 이름 대신 원시 포트 번호가 표시됩니다.
  • -N: 속도를 위해 IP 주소를 호스트 이름으로 변환하는 건너 뜁니다.

당신이 보는 것 :

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1234 root   3u  IPv4  12345      0t0  TCP *:22 (LISTEN)
dhclient  5678 root   6u  IPv4  54321      0t0  UDP *:68
  • 명령: 포트를 사용하는 프로그램.
  • PID: 프로세스 ID.
  • 이름: 포트 및 프로토콜 (예 : 포트 22의 TCP).

유용한 이유 :

문제 해결을하고 특정 포트를 사용하는 프로세스를 찾아야하는 경우 lsof 당신의 도구입니다.

4. NMAP 사용

NMAP (네트워크 매퍼)는 네트워크를 스캔하고 어떤 포트가 열려 있는지 확인하는 데 이상적입니다.

모든 포트를 스캔하려면 실행하십시오.

sudo nmap -sT -p- localhost
  • -성: TCP Connect 스캔을 수행합니다.
  • -피-: 65,535 포트를 모두 스캔합니다.

당신이 보는 것 :

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
  • 포트: 포트 번호 및 프로토콜 (TCP 또는 UDP).
  • 상태: 포트가 열리거나 닫히거나 필터링되었는지 알려줍니다 (방화벽으로 차단).
  • 서비스: 포트를 사용한 서비스의 공통 이름.

NMAP가 유용한 이유 :

NMAP 시스템의 모든 열린 포트를 완전히 볼 수 있거나 다른 시스템을 스캔 해야하는 경우 좋습니다.

5. NC 사용 (NetCat)

netcat 특정 포트가 열려 있는지 확인하기위한 간단하지만 강력한 도구입니다.

포트 22가 열려 있는지 확인하려면 다음을 입력하십시오.

nc -zv localhost 22
  • -지: 데이터를 보내지 않고 열린 포트를 스캔하십시오.
  • -다섯: 자세한 출력을 보여줍니다.

당신이 보는 것 :

Connection to localhost 22 port [tcp/ssh] succeeded!

유용한 이유 :

특정 포트가 열려 있는지 신속하게 확인 해야하는 경우 NC 많은 소란없이 일을합니다.

결과를 이해합니다

포트를 확인하면 결과가 일반적으로 의미하는 바는 다음과 같습니다.

  • 청취/열기 포트 : 이 포트는 연결을 수락 할 준비가되었습니다.예를 들어, 웹 서버는 포트 80 또는 443에서 듣습니다.
  • 닫힌 포트 : 이 포트는 사용되지 않으므로 연결을 허용하지 않습니다.
  • 필터링 된 포트 : 이 포트는 방화벽이나 보안 규칙에 의해 차단되므로 보이지 않는 것처럼 보입니다.

일반적인 시나리오

포트를 확인할 때 다음 시나리오를 발견 할 수 있습니다.

  • 당신은 당신이 기대하지 않은 포트가 열린 것을 보게됩니다. 이것은 당신이 필요하지 않거나 인식 할 필요가없는 프로그램이 실행되고 있음을 의미 할 수 있습니다.더 조사하는 것이 좋습니다.
  • 필요한 포트가 닫힙니다. 프로그램이 실행되지 않았거나 방화벽이 차단 될 수 있습니다.

시스템 확보

포트 점검은 첫 번째 단계 일뿐입니다.일을 정리하는 몇 가지 방법은 다음과 같습니다.

불필요한 프로그램 중지 :
필요하지 않은 포트에서 프로그램이 실행중인 경우 다음을 끄십시오.

sudo systemctl stop <service_name>
sudo systemctl disable <service_name>

방화벽 사용 :
UFW (복잡하지 않은 방화벽)와 같은 도구를 사용하여 포트에 대한 액세스를 제한하십시오.

sudo ufw allow 22     # Allow SSH  
sudo ufw deny 80      # Block HTTP

정기적으로 포트를 모니터링합니다.
특히 서버를 실행중인 경우 열린 포트를 확인하는 습관이 있습니다.

마무리

Linux에서 포트를 확인하는 것이 복잡 할 필요는 없습니다.Netstat, SS, LSOF, NMAP 또는 NC를 사용하든 각 도구는 진행 상황에 대해 약간 다른 시야를 제공합니다.당신의 필요에 가장 적합한 것을 선택하고 탐험하는 것을 두려워하지 마십시오.연습을 많이할수록 더 쉽게 얻을 수 있습니다!

작성자 Hostwinds Team  /  일월 14, 2025