ss 명령어는 소켓 통계(Socket Statistics)를 확인하는 도구로, 네트워크 연결 상태를 보여주는 netstat 명령어의 대체 도구로 널리 사용됩니다. ss는 netstat보다 빠르고 더 적은 시스템 리소스를 사용하며, TCP, UDP 등 다양한 소켓 연결 정보를 효과적으로 제공하는 것이 특징입니다. 이를 통해 네트워크 연결 상태, 포트 사용 현황, 시스템에 열린 소켓 등을 쉽게 파악할 수 있습니다.
ss 명령어 기본 사용법
ss 명령어를 아무런 옵션 없이 실행하면 시스템에 열린 소켓 정보가 출력됩니다.
ss
이 명령어는 모든 연결 상태를 표시하지만, 네트워크 관리에 유용한 특정 정보만을 확인하기 위해 다양한 옵션을 제공합니다.
TCP 연결 정보 확인
시스템의 TCP 연결 상태만 보고 싶다면 -t 옵션을 사용할 수 있습니다.
ss -t
이 명령어는 현재 TCP 프로토콜로 연결된 소켓 정보만을 필터링해 보여줍니다.
UDP 연결 정보 확인
UDP 연결을 확인하려면 -u 옵션을 사용합니다.
ss -u
이 명령어는 현재 활성화된 UDP 프로토콜 소켓 정보를 출력합니다.
활성화된 모든 연결 확인
모든 활성화된 연결을 보고 싶다면 -a 옵션을 사용해 LISTEN 상태와 ESTABLISHED 상태의 연결을 모두 출력할 수 있습니다.
ss -a
이 명령어는 시스템에서 활성화된 모든 소켓 연결 정보를 보여줍니다.
포트별로 소켓 정보 필터링
특정 포트 번호에 대한 소켓 정보를 확인하려면 sport 또는 dport 옵션을 사용할 수 있습니다. 예를 들어 포트 22에서 사용 중인 소켓 연결을 확인하려면 다음과 같이 입력합니다:
ss -tuln sport = :22
이 명령어는 포트 22(주로 SSH에 사용되는 포트)에서 사용 중인 모든 소켓 연결을 출력합니다.
IP 주소별 연결 정보 필터링
특정 IP 주소에 연결된 소켓 정보를 확인하려면 src(소스 IP) 또는 dst(목적지 IP) 옵션을 사용할 수 있습니다. 예를 들어, 192.168.1.100과 관련된 모든 소켓 연결을 확인하려면 다음과 같이 입력합니다:
ss -tuln src 192.168.1.100
이 명령어는 192.168.1.100 주소와 연결된 모든 소켓 정보를 필터링해 보여줍니다.
리눅스 터미널에서의 ss 명령어 사용 예시
user@linux:~$ ss -tuln
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 100 127.0.0.1:631 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:631 [::]:*
위의 예시는 ss -tuln 명령어의 실행 결과로, 현재 시스템에서 열려 있는 포트와 연결된 상태를 보여줍니다. LISTEN 상태는 해당 포트가 현재 수신 대기 중임을 의미합니다.
ss 명령어와 함께 사용되는 유용한 옵션들
- -n: 주소를 숫자로만 표시하여 역 DNS 조회를 방지해 속도를 높입니다.
- -l: 현재 수신 대기 중인 소켓 정보만 출력합니다.
- -p: 프로세스 ID(PID)와 연결된 소켓 정보를 표시합니다.
- -k: 특정 프로세스의 소켓을 종료할 때 사용합니다.
로그를 파일로 저장
ss 명령어의 출력을 파일로 저장할 수 있습니다. 이를 통해 나중에 로그를 분석하거나 문제 해결을 할 때 유용하게 사용할 수 있습니다.
ss -tuln > /home/user/ss_log.txt
이 명령어는 ss -tuln 명령어의 결과를 ss_log.txt 파일에 저장합니다.
참고사이트
'Linux' 카테고리의 다른 글
[리눅스] tcpdump 명령어 완벽 가이드 사용법(네트워크 패킷 캡처) (0) | 2024.10.23 |
---|---|
[리눅스] ip rule 명령어 완벽 가이드 사용법(고급 라우팅 규칙 설정) (0) | 2024.10.23 |
[리눅스] fail2ban 명령어 완벽 가이드 사용법(보안 침해 방지 도구) (1) | 2024.10.23 |
[리눅스] ufw 명령어 완벽 가이드 사용법(간단한 방화벽 설정) (0) | 2024.10.23 |
[리눅스] journalctl 명령어 완벽 가이드 사용법(systemd 로그 확인) (0) | 2024.10.23 |
[리눅스] rsyslog 명령어 완벽 가이드 사용법(시스템 로그 관리) (0) | 2024.10.23 |
[리눅스] tee 명령어 완벽 가이드 사용법(파일저장 & 화면출력) (0) | 2024.10.22 |
[리눅스] xargs 명령어 완벽 가이드 사용법(명령어 인수 전달) (0) | 2024.10.22 |