리눅스 ss
IT 위키
더 많은 작업
소켓(socket)의 상태와 통계 정보를 출력한다.
- netstat을 대체하는 도구로, 커널에서 직접 정보를 가져오므로 netstat보다 빠르다.
- 경로 : /usr/sbin/ss
- 패키지 : iproute
$ ss [옵션] [필터]
- -t, --tcp : TCP 소켓을 출력한다.
- -u, --udp : UDP 소켓을 출력한다.
- -x, --unix : 유닉스 도메인 소켓을 출력한다.
- -w, --raw : RAW 소켓을 출력한다.
- -l, --listening : 연결을 기다리는(LISTEN) 소켓만 출력한다.
- -a, --all : 대기 중인 소켓과 연결된 소켓을 모두 출력한다.
- -n, --numeric : 서비스 이름을 포트 번호로 바꾸지 않고 숫자로 출력한다.
- -r, --resolve : 주소와 포트를 이름으로 변환하여 출력한다.
- -p, --processes : 소켓을 사용하는 프로세스 이름과 PID를 출력한다. 다른 사용자의 프로세스를 보려면 root 권한이 필요하다.
- -s, --summary : 소켓 유형별 요약 통계를 출력한다.
- -e, --extended : 소켓의 UID, inode 등 확장 정보를 출력한다.
- -o, --options : 타이머 정보를 출력한다.
- -4, --ipv4 / -6, --ipv6 : IPv4 또는 IPv6 소켓만 출력한다.
- state 상태 : 소켓 상태로 걸러낸다. established, listening, syn-sent, time-wait, close-wait 등을 쓴다.
- sport / dport : 출발지·목적지 포트로 걸러낸다. (예: '( dport = :22 or sport = :22 )')
- src / dst : 출발지·목적지 주소로 걸러낸다.
# 대기 중인 TCP·UDP 포트와 해당 프로세스를 숫자로 출력한다. (가장 많이 쓰는 형태) # ss -tunlp # 현재 연결이 성립된(ESTABLISHED) TCP 연결만 출력한다. $ ss -t state established # 22번 포트와 관련된 TCP 소켓만 출력한다. $ ss -tan '( dport = :22 or sport = :22 )' # 소켓 요약 통계를 출력한다. $ ss -s # 80번 포트를 사용 중인 프로세스를 찾는다. # ss -tlnp | grep ':80 '
- netstat -tunlp와 같은 옵션 조합(ss -tunlp)으로 열린 포트와 서비스를 확인하는 문제가 자주 나온다.
- ss는 iproute 패키지, netstat은 net-tools 패키지에 속한다.
- -p 옵션은 프로세스 정보, -n은 숫자 출력, -l은 LISTEN 상태만이라는 의미를 구분해야 한다.
- netstat 명령어 : 네트워크 연결, 라우팅 테이블, 인터페이스 통계를 출력한다.
- lsof 명령어 : 열린 파일과 소켓을 출력한다.
- ip 명령어
- nmap 명령어 : 원격 호스트의 열린 포트를 스캔한다.
- 리눅스 네트워크 설정