리눅스 리스닝(LISTENING) 포트 확인하는 방법

리눅스에서 열려 있는 포트를 확인하는 명령어로 netstat와 ss를 사용할 수 있습니다. 두 명령어 모두 사용 방법과 옵션은 비슷합니다.

네트워크에서 포트(port)란?

포트는 통신의 끝점입니다. 운영 체제에서 실행되는 프로세스 또는 서비스에 접근할 수 있는 연결고리입니다. 하나의 포트에는 하나의 서비스만 수신을 대기할 수 있습니다. 리눅스에서 특정 서비스와 함께 등록된 포트는 /etc/services에 저장됩니다.

리눅스 리스닝 포트 확인 방법

1. netstat

netstat은 리눅스 네트워킹 하위 시스템에 대한 정보를 인쇄합니다. 보통 아래와 같은 옵션과 함께 사용합니다.

netstat -ntlp
  • n : DNS를 사용하지 않습니다. 호스트를 확인하는 대신 숫자 주소를 표시합니다.
  • t : TCP 포트를 표시합니다.
  • u : UDP 포트를 표시합니다.
  • l : LISTENING 소켓/포트만 표시합니다.
  • p : PID를 표시합니다.

 

[예시]

[root@localhost bin]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      628/rpcbind
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1133/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1126/cupsd
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      1146/postmaster
tcp6       0      0 :::111                  :::*                    LISTEN      628/rpcbind
tcp6       0      0 :::22                   :::*                    LISTEN      1133/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      1126/cupsd
tcp6       0      0 :::5432                 :::*                    LISTEN      1146/postmaster

 

특정 포트 상태만 확인하고 싶을 땐 파이프라인과 grep을 함께 사용합니다.

[예시]

[root@localhost ~]# netstat -ntlp | grep ':22'
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1133/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      1133/sshd

2. ss

ss 명령어는 소켓 통계를 덤프 하는 데 사용됩니다. netstat와 비슷한 정보를 출력합니다. 사용 옵션은 netstat와 동일합니다.

ss -ntlp

 

[예시]

[root@localhost bin]# ss -ntlp
State      Recv-Q Send-Q                                  Local Address:Port                                                 Peer Address:Port
LISTEN     0      128                                                 *:111                                                             *:*                   users:(("rpcbind",pid=628,fd=8))
LISTEN     0      128                                                 *:22                                                              *:*                   users:(("sshd",pid=1133,fd=3))
LISTEN     0      128                                         127.0.0.1:631                                                             *:*                   users:(("cupsd",pid=1126,fd=11))
LISTEN     0      128                                                 *:5432                                                            *:*                   users:(("postmaster",pid=1146,fd=3))
LISTEN     0      128                                              [::]:111                                                          [::]:*                   users:(("rpcbind",pid=628,fd=11))
LISTEN     0      128                                              [::]:22                                                           [::]:*                   users:(("sshd",pid=1133,fd=4))
LISTEN     0      128                                             [::1]:631                                                          [::]:*                   users:(("cupsd",pid=1126,fd=10))
LISTEN     0      128                                              [::]:5432                                                         [::]:*                   users:(("postmaster",pid=1146,fd=4))

 

특정 포트 상태를 확인하고 싶으면 마찬가지로 파이프라인과 grep을 사용합니다.

[예시]

[root@localhost bin]# ss -ntlp | grep :22
LISTEN     0      128          *:22                       *:*                   users:(("sshd",pid=1133,fd=3))
LISTEN     0      128       [::]:22                    [::]:*                   users:(("sshd",pid=1133,fd=4))

 

표시된 프로세스에 대한 설명이 필요할 때

netstat 또는 ss로 포트에서 수신을 대기하고 있는 프로세스를 찾았는데, 해당 프로세스가 뭔지 잘 모르겠으면 whatis 명령어를 사용해 확인할 수 있습니다.

whatis 프로세스명

 

[예시]

[root@localhost ~]# whatis mysqld
mysqld (8)           - the MySQL server
[root@localhost ~]# whatis sshd
sshd (8)             - OpenSSH SSH daemon
반응형

댓글

Designed by JB FACTORY