반응형
목차
- ss 명령어란?
- ss 명령어와 netstat의 차이점
- ss 명령어 기본 사용법
- 상황별 ss 명령어 실전 예제
- ss 명령어 출력 항목 해석법
- ss 명령어 고급 옵션
- ss 명령어를 이용한 포트 확인 방법
- ss 명령어와 조합해서 쓰면 좋은 명령어
- ss 명령어 오류 및 해결 방법
- FAQ
- 맞춤형 요약
1. ss 명령어란?
ss
는 Socket Statistics의 약자로, 리눅스에서 TCP, UDP, UNIX 소켓의 상태 정보를 출력하는 고성능 네트워크 분석 도구입니다.
기존에 널리 사용되던 netstat
명령어를 대체하기 위해 만들어졌으며, iproute2
패키지에 포함되어 있습니다.
특징
- 빠르고 효율적인 소켓 통계 조회
- 실시간 연결 상태 확인 가능
- 다양한 필터링 옵션 제공
- netstat보다 가볍고 속도 빠름
2. ss 명령어와 netstat의 차이점
항목 | ss | netstat |
---|---|---|
속도 | 빠름 | 느림 |
지원 | 최신 리눅스 커널 | 구버전 커널 |
필터 기능 | 강력함 | 제한적 |
유지보수 | 활발 | 중단됨 (비권장) |
패키지 | iproute2 | net-tools |
요약하자면, ss
는 netstat
보다 빠르고, 정확하며, 현대적인 환경에 적합한 도구입니다.
3. ss 명령어 기본 사용법
ss [옵션]
가장 기본적인 사용 예
ss
기본적으로 시스템의 모든 연결 상태를 간략하게 보여줍니다.
TCP 연결 보기
ss -t
UDP 연결 보기
ss -u
LISTEN 중인 소켓 보기
ss -l
모든 소켓 상세히 보기
ss -a
4. 상황별 ss 명령어 실전 예제
4.1 현재 열려 있는 포트와 프로그램 확인
ss -tulnp
-t
: TCP-u
: UDP-l
: Listen-n
: 포트 번호를 숫자로 표시-p
: 프로세스 정보 표시
4.2 특정 포트 사용 여부 확인
ss -ltn 'sport = :80'
=> 80 포트가 리슨 상태인지 확인
4.3 원격 IP와 연결된 소켓 보기
ss -o state established '( dport = :22 )'
=> 22번 포트(SSH)에 연결된 세션 확인
4.4 특정 PID의 네트워크 연결 추적
ss -p | grep 1234
=> PID가 1234인 프로세스의 소켓 조회
5. ss 명령어 출력 항목 해석법
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.0.2:ssh 192.168.0.10:57344
항목 | 설명 |
---|---|
State | 연결 상태 (ESTAB, LISTEN, TIME-WAIT 등) |
Recv-Q | 수신 큐 대기 데이터 |
Send-Q | 송신 큐 대기 데이터 |
Local Address | 로컬 IP 주소 및 포트 |
Peer Address | 원격지 IP 주소 및 포트 |
6. ss 명령어 고급 옵션
특정 상태만 필터링
ss -o state TIME-WAIT
IPv6 연결만 보기
ss -6
TCP 연결 중 지연 시간 확인
ss -ti
소켓 통계 요약
ss -s
7. ss 명령어를 이용한 포트 확인 방법
특정 포트가 열려 있는지 확인 (예: 3306)
ss -ltn | grep ':3306'
어떤 프로세스가 포트를 사용 중인지 확인
ss -ltnp | grep 3306
MySQL, Apache, Nginx 등의 서비스 점검 시 유용하게 사용됩니다.
8. ss 명령어와 조합해서 쓰면 좋은 명령어
명령어 | 용도 |
---|---|
grep |
출력 필터링 |
awk |
포맷 변환 및 통계 |
watch |
실시간 모니터링 |
lsof -i |
파일 단위 소켓 분석 |
netstat |
보조 확인용 (구식) |
tcpdump |
패킷 캡처와 병행 사용 |
예: 특정 IP로 들어오는 연결 모니터링
watch -n 1 "ss -tuna | grep 203.0.113.10"
9. ss 명령어 오류 및 해결 방법
증상 | 원인 | 해결 방법 |
---|---|---|
ss: command not found |
iproute2 미설치 | sudo apt install iproute2 또는 yum install iproute |
포트가 안 보임 | 루트 권한 부족 | sudo ss 로 실행 |
PID가 안 나옴 | -p 옵션 누락 |
ss -p 추가 |
너무 많은 결과 출력 | 필터 미사용 | grep , awk , state 등 필터링 사용 |
10. FAQ
Q1. ss 명령어는 모든 리눅스에서 지원되나요?
A. 대부분의 최신 리눅스 배포판(Ubuntu, CentOS, Debian 등)에서 기본 지원됩니다. 다만, 구형 시스템에서는 설치가 필요할 수 있습니다.
Q2. ss 명령어와 netstat 중 무엇을 써야 하나요?
A. netstat는 더 이상 권장되지 않습니다. ss 명령어가 훨씬 빠르고 정확합니다.
Q3. ss 명령어로 방화벽 상태를 확인할 수 있나요?
A. 직접적으로는 확인할 수 없지만, 방화벽에 의해 포트가 열리지 않은 상태는 ss 명령어를 통해 간접적으로 추정할 수 있습니다.
Q4. GUI 환경에서도 ss 명령어를 사용할 수 있나요?
A. 네, 터미널에서만 실행되는 CLI 도구이지만, Gnome Terminal, KDE Konsole 등 GUI 환경에서도 활용 가능합니다.
11. 맞춤형 요약
항목 | 내용 |
---|---|
명령어 이름 | ss (socket statistics) |
기능 | TCP/UDP/UNIX 소켓 상태 확인 |
장점 | 빠름, netstat 대체, 필터링 기능 우수 |
설치 위치 | iproute2 패키지 |
주요 옵션 | -tulnp , -a , -s , -p , -o state |
활용 예시 | 포트 점검, 네트워크 상태 확인, 서비스 진단 |
대상 사용자 | 시스템 관리자, 보안 담당자, 개발자 등 |
주의 사항 | 필터링 없이 사용 시 출력 과다 |
반응형
'전산' 카테고리의 다른 글
# 리눅스 lsof 명령어 사용방법: 열린 파일부터 포트 점검까지 완벽 가이드 (0) | 2025.05.19 |
---|---|
# SKT BPFDoor: 리눅스 백도어의 실체와 대응 전략 (0) | 2025.05.19 |
# NHN 클라우드 Cloud Native 알아보기 (0) | 2025.05.16 |
# NHN 클라우드 쿠버네티스 리소스 오브젝트 개념 익히기 (0) | 2025.05.16 |
# NHN 클라우드 쿠버네티스 개념 및 구조 파악하기: 완벽 가이드 (0) | 2025.05.16 |