728x90
ss 명령어
ss 명령어는 socket statistics를 표시하는 도구로 리눅스에서 네트워크 연결 상태를 확인하는 데 사용됩니다. ss는 netstat의 대체 도구로 간주되며 더 빠르고 강력한 기능을 제공합니다.
1. ss 명령어 설치
일반적으로 최신 리눅스 배포판에는 ss 명령어가 기본적으로 포함되어 있습니다.
CentOS 7에서 설치
sudo yum install -y iproute
Ubuntu에서 설치
sudo apt install -y iproute2
2. ss 명령어 사용법 및 주요 옵션
기본 사용법
ss [옵션]
주요 옵션
- -t : TCP 소켓을 표시합니다.
- -u : UDP 소켓을 표시합니다.
- -l : Listening 상태의 소켓만 표시합니다.
- -p : 각 소켓과 연관된 프로세스를 표시합니다.
- -a : 모든 소켓을 표시합니다 (Listening 및 Non-Listening).
- -n : 호스트 이름을 IP 주소로 표시하며 포트 이름 대신 포트 번호를 사용합니다.
- -r : 호스트 이름을 DNS를 통해 해결하여 표시합니다.
- -s : 소켓 통계 요약을 표시합니다.
- -k : 패킷 정보 확인 (/proc/net/sockstat).
- -m : 메모리 사용량을 표시합니다.
728x90
3. 사용 예시
모든 소켓 상태 보기
- 현재 모든 소켓을 표시하는 명령입니다.
ss -a
TCP 연결 상태 보기
- 현재 시스템의 TCP 연결을 확인할 수 있습니다.
ss -t
UDP 연결 상태 보기
- UDP 연결을 확인할 때 사용합니다.
ss -u
Listening 상태의 소켓 보기
- Listening 상태인 소켓만 확인합니다.
ss -l
IP 및 포트 번호로 표시
- DNS 이름이나 서비스 이름을 해석하지 않고 IP와 포트 번호로 표시하려면 -n 옵션을 추가합니다.
ss -tln
연결된 프로세스와 함께 소켓 정보 보기
- 소켓과 관련된 프로세스를 확인할 수 있습니다.
- -t : TCP
- -u : UDP
- -l : Listening 소켓
- -p : 프로세스 ID 및 이름 표시
- -n : IP 및 포트 번호 표시
ss -tulpn
소켓 통계 요약
- 시스템의 소켓 상태에 대한 요약 정보를 확인합니다.
ss -s
Total: 212 (kernel 325)
TCP: 12 (estab 1, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0
Transport Total IP IPv6
* 325 - -
RAW 1 0 1
UDP 7 4 3
TCP 12 7 5
INET 20 11 9
FRAG 0 0 0
특정 포트에서 Listening 중인 소켓 확인
- 예를 들어, 포트 53에서 Listening 중인 모든 소켓을 확인하려면
ss -ltn sport = :53
$ ss -ltn sport = :53
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 10 192.168.10.201:53 *:*
LISTEN 0 10 127.0.0.1:53 *:*
LISTEN 0 10 [::]:53 [::]:*
특정 포트 또는 상태로 소켓 필터링
특정 상태나 포트로 소켓 정보를 필터링할 수 있습니다.
CLOSE-WAIT 상태로 필터링
ss -tan state CLOSE-WAIT
포트 53 사용 중인 소켓 필터링
ss -tan sport = :53
$ ss -tan sport = :53
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 10 192.168.10.201:53 *:*
LISTEN 0 10 127.0.0.1:53 *:*
LISTEN 0 10 [::]:53 [::]:*
필요한 옵션을 조합하여 다양한 방식으로 네트워크 상태를 모니터링할 수 있습니다.
728x90
'리눅스' 카테고리의 다른 글
[draft] Apache Kafka와 ZooKeeper 클러스터를 구성하는 방법 (5) | 2024.10.08 |
---|---|
[draft] 동적 라이브러리와 정적 라이브러리의 차이점 (0) | 2024.10.07 |
[draft] CentOS 7의 EOL 문제로 인해 발생하는 패키지 설치 오류를 해결하는 방법 (0) | 2024.10.05 |
[draft] 우분투에서 NGINX와 PHP-FPM을 설치하고 연동하는 방법 (0) | 2024.09.27 |
[draft] 우분투에서 로컬 파일 시스템을 백엔드로 사용하는 JuiceFS를 구성하는 방법 (2) | 2024.09.26 |