초보자를 위한 Linux ss 명령 자습서(예제 8개)


이 페이지에서

  1. Linux SS 명령
  2. Q1. ss 명령을 사용하는 방법?\n
  3. Q2. ss에서 헤더 행을 억제하는 방법은 무엇인가요?\n
  4. Q3. ss가 청취 소켓과 비수신 소켓을 모두 표시하는 방법은 무엇입니까?\n
  5. Q4. ss가 소켓을 사용하여 프로세스를 표시하는 방법은 무엇입니까?\n
  6. Q5. ss가 요약 정보를 생성하는 방법은 무엇입니까?\n
  7. Q6. ss가 IPv4 또는 IPv6 소켓만 표시하도록 만드는 방법은 무엇입니까?\n
  8. Q7. ss가 TCP 또는 UDP 소켓만 표시하게 만드는 방법은 무엇입니까?\n
  9. 결론

Linux에서 명령줄을 통해 소켓 관련 정보에 액세스할 때 가장 먼저 떠오르는 도구는 netstat입니다. 그러나 이 작업을 수행할 수 있는 다른 유틸리티가 있습니다.

ss라고 합니다. 이 자습서에서는 이해하기 쉬운 몇 가지 예를 사용하여 이 도구의 기본 사항에 대해 설명합니다. 그러나 그렇게 하기 전에 여기의 모든 사례가 Ubuntu 18.04 LTS 시스템에서 테스트되었음을 언급할 가치가 있습니다.

리눅스 SS 명령

Linux의 ss 명령을 사용하면 소켓을 조사할 수 있습니다. 구문은 다음과 같습니다.

ss [options] [ FILTER ]

그리고 도구 매뉴얼 페이지에서 설명하는 내용은 다음과 같습니다.

ss is used to dump socket statistics. It allows showing information similar to netstat.  
It can display more TCP and state information than other tools.

다음은 ss 명령이 작동하는 방식에 대한 더 나은 아이디어를 제공하는 몇 가지 Q&A 스타일의 예입니다.

Q1. ss 명령을 사용하는 방법?

매우 기본적인 형태로 ss sans any 옵션을 실행하여 ss 명령을 사용할 수 있습니다.

ss

다음은 내 경우에 생성된 명령의 출력입니다.

ss는 기본 출력에서 연결이 설정된 소켓을 표시합니다.

Q2. ss에서 헤더 행을 억제하는 방법은 무엇인가요?

헤더 억제는 -H 명령줄 옵션을 사용하여 수행할 수 있습니다.

ss -H

다음 스크린샷은 이 명령줄 옵션이 작동하는 모습을 보여줍니다.

따라서 이 경우 헤더 행이 누락된 것을 볼 수 있습니다.

Q3. ss가 청취 소켓과 비수신 소켓을 모두 표시하는 방법은 무엇입니까?

이것은 -a 명령줄 옵션을 사용하여 수행할 수 있습니다.

ss -a

청취 소켓은 기본적으로 생략되므로 -a를 사용하면 ss가 출력에 소켓을 포함합니다. 그러나 ss가 수신 소켓만 표시하도록 하려면 -l 명령줄 옵션을 사용하십시오.

ss -l

Q4. ss가 소켓을 사용하여 프로세스를 표시하는 방법은 무엇입니까?

ss 명령이 출력에서 이미 생성한 다른 정보와 함께 프로세스 정보를 표시하려면 -p 명령줄 옵션을 사용하십시오.

ss -p

다음 스크린샷은 내 경우의 출력을 보여줍니다.

따라서 프로세스 정보가 출력에 표시되는 것을 볼 수 있습니다.

Q5. ss가 요약 정보를 생성하는 방법은 무엇입니까?

출력을 보고 싶지 않으면 기본적으로 ss 명령이 생성합니다. 그런 다음 ss가 구문 분석하는 정보의 작은 요약을 제공하도록 요청할 수 있는 옵션이 있습니다.

이 요약은 -s 명령줄 옵션을 사용하여 생성할 수 있습니다.

ss -s

예를 들어 제 경우에 제공된 요약은 다음과 같습니다.

Total: 1334 (kernel 0)
TCP:   41 (estab 35, closed 3, orphaned 0, synrecv 0, timewait 3/0), ports 0

Transport Total     IP        IPv6
*      0         -         -        
RAW      1         0         1        
UDP      7         5         2        
TCP      38        37        1        
INET      46        42        4        
FRAG      0         0         0

Q6. ss가 IPv4 또는 IPv6 소켓만 표시하도록 만드는 방법은 무엇입니까?

이것은 -4 및 -6 옵션을 사용하여 수행할 수 있습니다.

예를 들어 ss가 IPv4 소켓만 표시하도록 하려면 다음 명령을 실행합니다.

ss -4

IPv6의 경우와 마찬가지로 다음 명령을 실행합니다.

ss -6

Q7. ss가 TCP 또는 UDP 소켓만 표시하게 만드는 방법은 무엇입니까?

여기에서 사용할 수 있는 다양한 명령줄 옵션이 있습니다. TCP의 경우 -t, UDP의 경우 -u입니다.

다음은 ss 명령 매뉴얼 페이지에서 발췌한 유용한 내용입니다.

       -t, --tcp
              Display TCP sockets.

       -u, --udp
              Display UDP sockets.

       -d, --dccp
              Display DCCP sockets.

       -w, --raw
              Display RAW sockets.

       -x, --unix
              Display Unix domain sockets (alias for -f unix).

       -S, --sctp
              Display SCTP sockets.

       --vsock
              Display vsock sockets (alias for -f vsock).

결론

ss 명령은 Linux 작업에 네트워킹이 필요한 경우 편리한 도구입니다. 이 자습서에서는 ss가 제공하는 몇 가지 명령줄 옵션에 대해 설명했습니다. 연습을 마친 후에는 도구 매뉴얼 페이지로 이동하여 자세히 알아보세요.