■ Linux 서버의 서비스 중인(Listening) 서비스(Port) 확인 방법 2가지(netstat, ss)
▶ 내 서버에서 LISTEN 되고 있는 서비스와 해당 포트를 확인하고자 할 때 netstat 또는 ss로 확인이 가능합니다.
1. 개요
1) netstat
: Netstat prints information about the Linux networking subsystem
: netstat는 리눅스 서버의 네트워크 상태를 확인 할때 주로 사용합니다. 라우팅 테이블, 네트워크 접속상태 등을 확인 할 수 있습니다.
2) ss (Socket Statistics)
: ss is used to dump socket statistics.
: ss는 소켓 상태를 확인 할 수 있는 도구로 netstat와 비스한 정보를 제공하고 있습니다.
2. 서버에서 Listening 되고 있는 서비스와 프로세스 확인
2-1. netstat
root@raonyn:~# netstat -nltp 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:5432 0.0.0.0:* LISTEN 1072/postgres tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 991/sshd: /usr/sbin tcp 0 0 127.0.0.1:42231 0.0.0.0:* LISTEN 1429/node tcp6 0 0 :::5432 :::* LISTEN 1072/postgres tcp6 0 0 :::22 :::* LISTEN 991/sshd: /usr/sbin |
1) 서버에서 Listening 하고 있는 서비스의 포트, PID, Program name 등을 확인 할 수 있습니다.
2) 주요 옵션 설명
* -n : --numeric, Do not try to resolve service names. Show exact bandwidth values, instead of human-readable.
=> 도메인 질의를 하지 않고 IP로 표기해 줍니다.
* -l : --listening, Display only listening sockets (these are omitted by default).
=> Listening 되고 있는 소켓을 보여 줍니다.
* -t : --tcp, Display TCP sockets.
=> TCP 포트를 사용하는 프로세스를 보여 줍니다. (UDP를 확인할 때는 -u 옵션 사용)
* -p : --processes, Show process using socket.
=> 프로세스 및 PID를 보여 줍니다.
2-2. ss
root@raonyn:~# ss -nltp State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=991,fd=3)) LISTEN 0 511 127.0.0.1:42231 0.0.0.0:* users:(("node",pid=1429,fd=18)) LISTEN 0 244 0.0.0.0:5432 0.0.0.0:* users:(("postgres",pid=1072,fd=6)) LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=991,fd=4)) LISTEN 0 244 [::]:5432 [::]:* users:(("postgres",pid=1072,fd=7)) |
1) 결과는 netstat와 비슷합니다.
2) 최근 리눅스 배포판은 netstat 대체 도구로 ss 사용을 권장하고 있습니다.
3) ss에서 지원하지 않는 netstat -r은 ip route(or route -n), netstat -i는 ip -s link로, netstat -g는 ip maddr명령으로 대체하여 사용하라고 하나 솔직히 불편한 점이 있습니다.
3. 추가 옵션
: ss 유틸이나 netstat는 이외도 다양한 옵션을 사용 할 수 있으며 리눅스 운영에서는 필수 도구로 사용법을 익혀 두는 것이 바람직합니다. System Manager's Manual(man 명령)에서 확인하고 사용해보세요.
'Operating System > Linux & Unix' 카테고리의 다른 글
[AIX] 계정잠김 해제 (0) | 2022.10.06 |
---|---|
[AIX] 패스워드 정책 (0) | 2022.10.06 |
[LINUX] Ubuntu 버전별 고정 IP(Static)설정 방법(CLI) (0) | 2022.10.06 |
tcpdump (0) | 2010.11.30 |
fuser 사용하여 프로세스 ID 및 실행 프로그램 보기 (0) | 2010.11.30 |
댓글