웹사이트 검색

Linux에서 열려 있는 모든 포트 목록을 찾는 방법


이 기사에서는 컴퓨터 네트워킹의 포트에 대해 간략하게 설명하고 Linux에서 열려 있는 모든 포트를 나열하는 방법에 대해 설명합니다.

컴퓨터 네트워킹, 특히 소프트웨어 측면에서 포트는 Linux 운영 체제에서 특정 애플리케이션이나 프로세스를 식별하기 위한 통신의 종점 역할을 하는 논리적 개체입니다. 이는 최종 시스템에서 하나의 애플리케이션을 다른 애플리케이션과 구별하는 16비트 숫자(0 ~ 65535)입니다.

가장 널리 사용되는 두 가지 인터넷 전송 프로토콜인 전송 제어 프로토콜(TCP)과 사용자 데이터그램 프로토콜(UDP) 기타 잘 알려지지 않은 프로토콜은 통신 세션에 포트 번호를 사용합니다(소스 및 대상 IP 주소와 함께 소스 및 대상 포트 번호).

또한 IP 주소, 포트, TCP/UDP 등의 프로토콜의 조합을 소켓이라고 하며, 모든 서비스에는 고유한 소켓이 있어야 합니다.

다음은 다양한 포트 카테고리입니다.

  1. 0-1023 – 시스템 포트라고도 하는 잘 알려진 포트입니다.
  2. 1024-49151 – 등록된 포트(사용자 포트라고도 함)
  3. 49152-65535 – 개인 포트라고도 하는 동적 포트입니다.

cat 명령을 사용하면 Linux의 /etc/services 파일에서 다양한 애플리케이션 및 포트/프로토콜 조합 목록을 볼 수 있습니다.

cat /etc/services 
OR
cat /etc/services | less
/etc/services:
$Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
Network services, Internet style
IANA services version: last updated 2009-11-10
#
Note that it is presently the policy of IANA to assign a single well-known
port number for both TCP and UDP; hence, most entries here have two entries
even if the protocol doesn't support UDP operations.
Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
are included, only the more common ones.
#
The latest IANA port assignments can be gotten from
      http://www.iana.org/assignments/port-numbers
The Well Known Ports are those from 0 through 1023.
The Registered Ports are those from 1024 through 49151
The Dynamic and/or Private Ports are those from 49152 through 65535
#
Each line describes one service, and is of the form:
#
service-name  port/protocol  [aliases ...]   [# comment]

tcpmux          1/tcp                           # TCP port service multiplexer
tcpmux          1/udp                           # TCP port service multiplexer
rje             5/tcp                           # Remote Job Entry
rje             5/udp                           # Remote Job Entry
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users
systat          11/udp          users
daytime         13/tcp
daytime         13/udp
qotd            17/tcp          quote
qotd            17/udp          quote
msp             18/tcp                          # message send protocol
msp             18/udp                          # message send protocol
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp-data        20/tcp
ftp-data        20/udp
21 is registered to ftp, but also used by fsp
ftp             21/tcp
ftp             21/udp          fsp fspd
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
telnet          23/tcp
telnet          23/udp

Linux에서 TCPUDP를 포함하여 열려 있는 모든 포트 또는 현재 실행 중인 포트를 나열하려면 네트워크 연결 및 통계를 모니터링하는 강력한 도구인 netstat를 사용합니다.

$ netstat -lntu

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

어디,

  1. -l – 청취 소켓만 인쇄합니다.
  2. -n – 포트 번호 표시
  3. -t – TCP 포트 목록을 활성화합니다.
  4. -u – UDP 포트 목록을 활성화합니다.

Linux 시스템에서 소켓을 검사하는 데 잘 알려진 유용한 유틸리티인 ss 명령을 사용할 수도 있습니다. 열려 있는 모든 TCP 및 UCP 포트를 나열하려면 아래 명령을 실행하세요.

$ ss -lntu

Netid State      Recv-Q Send-Q               Local Address:Port       Peer Address:Port 
udp   UNCONN     0      0                    *:68                     *:*     
tcp   LISTEN     0      128                  :::22                    :::*     
tcp   LISTEN     0      128                  *:22                     *:*     
tcp   LISTEN     0      50                   *:3306                   *:*     
tcp   LISTEN     0      128                  :::80                    ::*     
tcp   LISTEN     0      100                  :::25                    :::*     
tcp   LISTEN     0      100                  *:25  

자세한 사용법 정보를 보려면 위 명령의 매뉴얼 페이지를 읽어 보십시오.

요약하자면, 컴퓨터 네트워킹의 포트 개념을 이해하는 것은 시스템 및 네트워크 관리자에게 매우 중요합니다. 간단하고 정확하며 잘 설명된 예제가 포함된 이 netstat 가이드를 살펴볼 수도 있습니다.

마지막으로, Linux에서 열린 포트를 나열하는 다른 방법을 공유하거나 아래 응답 양식을 통해 질문하여 우리에게 연락하십시오.