ss 명령어는 리눅스 시스템의 소켓 상태를 조회할 수 있는 유틸리티로 netstat와 비슷한 역할을 수행합니다. 최근 리눅스 배포판은 netstat보다는 새로운 명령어인 ss 사용을 권장하고 있습니다.
Non listening socket 표시
ss는 옵션없이 사용하면 listening socket을 제외한 현재 연결되어 있는 모든 소켓(TCP/UDP/Unix)을 표시합니다.
$ ss
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
u_str ESTAB 0 0 * 193735 * 193736
u_str ESTAB 0 0 * 42943 * 46230
u_str ESTAB 0 0 * 44633 * 41614
u_str ESTAB 0 0 * 333960 * 333959
u_str ESTAB 0 0 * 325020 * 325019
u_str ESTAB 0 0 /run/systemd/journal/stdout 53958 * 63512
u_str ESTAB 0 0 * 51395 * 50980
u_str ESTAB 0 0 /run/dbus/system_bus_socket 55383 * 54302
u_str ESTAB 0 0 * 46300 * 49280
모든 소켓 표시
$ ss -a
TCP와 UDP 연결에 대한 모든 수신 포트를 숫자로 표시
$ sudo ss -lntu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:42745 0.0.0.0:*
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:*
udp UNCONN 0 0 224.0.0.251:5353 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:*
udp UNCONN 0 0 [::]:36940 [::]:*
udp UNCONN 0 0 [::]:5353 [::]:*
tcp LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
tcp LISTEN 0 244 127.0.0.1:5432 0.0.0.0:*
tcp LISTEN 0 244 127.0.0.1:5433 0.0.0.0:*
tcp LISTEN 0 100 0.0.0.0:1883 0.0.0.0:*
tcp LISTEN 0 511 127.0.0.1:34665 0.0.0.0:*
tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
tcp LISTEN 0 5 [::1]:631 [::]:*
tcp LISTEN 0 100 [::]:1883 [::]:*
tcp LISTEN 0 2 *:3389 *:*
tcp LISTEN 0 70 *:33060 *:*
tcp LISTEN 0 151 *:3306 *:*
tcp LISTEN 0 511 *:80 *:*
tcp LISTEN 0 2 [::1]:3350 [::]:*
소켓(Socket) 유형 지정
-f FAMILY 옵션으로 조회할 소켓 유형을 지정할 수 있으며 FAMILY에는 unix, inet, inet6, link, netlink, vsock를 지정해 주면 됩니다.
$ ss -f unix -f inet
TCP socket 표시
$ ss -t
UDP 유형의 소켓만 표시하려면 -u 옵션을 사용하며, -w는 RAW socket을 -x는 Unix socket을 표시합니다.
특정 포트에 연결된 소켓 정보 표시
- listening socket을 찾는 -l 옵션과 소켓 유형을 합치면 로컬에서 특정 포트를 리스닝하는 소켓을 확인할 수 있습니다.
- 아래 명령어는 TCP 80포트를 리스닝하는 소켓을 표시합니다.
$ ss -lt src :80
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 511 *:http *:*
소켓 유형 뒤에 src: PRTNUM 옵션을 주면 로컬 서버의 특정 포트에 연결한 외부 IP 정보를 알 수 있습니다.
아래 명령어는 https에 연결된 리모트외부 IP 목록을 표시합니다.
$ ss -t src : 433
dst 옵션을 사용하면 목적지 포트에 연결한 소켓 정보를 찾을 수 있습니다.
$ ss -t dst :443 // https에 연결한 외부 443 포트에 연결한 소켓 정보
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ESTAB 0 0 192.168.6.161:54108 101.79.137.169:https
ESTAB 0 0 192.168.6.161:42186 211.218.127.40:https
ESTAB 0 0 192.168.6.161:53202 220.73.213.3:https
ESTAB 0 0 192.168.6.161:37064 223.130.200.104:https
ESTAB 0 0 192.168.6.161:60834 54.167.137.182:https
ESTAB 0 0 192.168.6.161:48102 35.174.210.7:https
ESTAB 0 0 192.168.6.161:56390 125.209.254.155:https
ESTAB 0 0 192.168.6.161:44974 223.130.200.103:https
ESTAB 0 0 192.168.6.161:44628 52.43.61.95:https
'Linux > Linux Shell Command' 카테고리의 다른 글
wget - 인터넷에서 파일 다운로드 (0) | 2022.08.21 |
---|---|
aptitude - 설치 패키지 정보 확인하기 (0) | 2022.08.16 |
lsof (0) | 2022.07.01 |
mkdir - 디렉토리(폴더) 생성하기 (0) | 2022.05.12 |
route table 건드려 보기 (0) | 2022.05.01 |