리눅스 명령어 · 7 min read · Sep 19, 2025

리눅스 netstat 명령어 튜토리얼 (초보자를 위한 8가지 예제)

리눅스 명령줄에 익숙하지 않거나 네트워킹 관련 내용을 배우고 싶다면, 알아야 할 많은 명령줄 유틸리티가 있습니다. 그 중 하나가 netstat입니다. 이 기사에서는 이해하기 쉬운 몇 가지 예제를 통해 이 명령어에 대해 논의하겠습니다.

하지만 그 전에, 모든 예제가 Ubuntu 16.04 LTS 머신에서 테스트되었다는 점을 언급할 가치가 있습니다.

리눅스 netstat 명령어

netstat 명령어는 네트워크 연결, 라우팅 테이블, 인터페이스 통계, 변조된 연결 및 멀티캐스트 멤버십을 출력할 수 있게 해줍니다. 다음은 그 구문입니다:

netstat [OPTIONS]

man 페이지에서 설명하는 내용은 다음과 같습니다:

       Netstat  prints  information about the Linux networking subsystem.  The  
       type of information printed is controlled by  the  first  argument,  as  
       follows:  
  
   (none)  
       By  default,  netstat  displays  a  list of open sockets.  If you don't  
       specify any address families, then the active sockets of all configured  
       address families will be printed.  
  
   --route , -r  
       Display  the kernel routing tables. See the description in route(8) for  
       details.  netstat -r and route -e produce the same output.  
  
   --groups , -g  
       Display multicast group membership information for IPv4 and IPv6.  
  
   --interfaces, -i  
       Display a table of all network interfaces.  
  
   --masquerade , -M  
       Display a list of masqueraded connections.  
  
   --statistics , -s  
       Display summary statistics for each protocol.

다음은 netstat 명령어가 어떻게 작동하는지에 대한 좋은 아이디어를 제공할 Q&A 스타일의 예제입니다.

Q1. netstat 명령어를 어떻게 사용하나요?

기본 사용법은 매우 간단합니다 - 옵션 없이 netstat 명령어를 실행하면 됩니다.

netstat

예를 들어, 제 경우에는 다음과 같은 출력이 생성되었습니다:

활성 인터넷 연결 (서버 제외)  
Proto Recv-Q Send-Q 로컬 주소           외부 주소             상태        
tcp        0      0 192.168.1.7:59510       mails11.telegram.:https ESTABLISHED  
tcp        0      0 192.168.1.7:57318       13.70.5.200:https       ESTABLISHED  
tcp        0      1 192.168.1.7:51238       52.114.32.7:https       SYN_SENT     
tcp      390      0 192.168.1.7:60392       del03s09-in-f10.1:https ESTABLISHED  
tcp        0      1 192.168.1.7:51240       52.114.32.7:https       SYN_SENT     
tcp        0      0 192.168.1.7:50196       del03s10-in-f10.1:https TIME_WAIT    
tcp        0      0 192.168.1.7:41996       maa05s05-in-f4.1e:https TIME_WAIT    
tcp        0      0 192.168.1.7:56680       wa-in-f94.1e100.n:https ESTABLISHED  
tcp        0      0 192.168.1.7:54578       del03s10-in-f14.1:https TIME_WAIT    
tcp        0      0 192.168.1.7:51310       del03s10-in-f2.1e:https TIME_WAIT

따라서 기본적으로 이 명령어는 모든 열린 소켓의 목록을 표시합니다.

Q2. netstat가 숫자 주소를 표시하도록 하려면 어떻게 하나요?

기본적으로 netstat 명령어는 기호 호스트, 포트 또는 사용자 이름을 결정하려고 시도합니다. 이는 도구를 느리게 만들 수 있습니다. 그러나 숫자 값으로 괜찮다면 -n 명령줄 옵션을 사용하여 도구가 숫자 값을 출력하도록 할 수 있습니다.

netstat -n

예를 들어 제 경우에는 다음과 같은 출력이 생성되었습니다:

활성 인터넷 연결 (서버 제외)  
Proto Recv-Q Send-Q 로컬 주소           외부 주소             상태        
tcp        0      0 192.168.1.7:59510       149.154.171.22:443      ESTABLISHED  
tcp        0      0 192.168.1.7:57318       13.70.5.200:443         ESTABLISHED  
tcp        0      0 192.168.1.7:51682       52.114.32.7:443         TIME_WAIT    
tcp        0      0 192.168.1.7:54884       172.217.161.14:443      TIME_WAIT    
tcp        0      0 192.168.1.7:35112       172.217.161.5:443       ESTABLISHED  
tcp        0      0 192.168.2.97:45662      148.251.237.53:21       ESTABLISHED  
tcp        0      0 192.168.1.7:50892       149.154.164.224:443     ESTABLISHED  
tcp        0      0 192.168.1.7:58772       172.217.194.189:443     TIME_WAIT    
tcp        0      1 192.168.1.7:47728       144.76.158.93:443       SYN_SENT     
tcp        0      1 192.168.1.7:47730       144.76.158.93:443       SYN_SENT     
tcp        0      0 192.168.1.7:59548       149.154.171.22:443      ESTABLISHED  
tcp        0      0 192.168.1.7:35818       169.55.74.50:443        ESTABLISHED  
tcp        0      0 192.168.1.7:50888       149.154.164.224:443     ESTABLISHED  
tcp        0      0 192.168.1.7:44156       152.195.11.6:443        ESTABLISHED  
tcp        0      0 192.168.1.7:58478       52.229.174.94:443       ESTABLISHED  
tcp       52      0 127.0.0.1:60342         127.0.1.1:139           ESTABLISHED  
tcp        0      0 192.168.1.7:58820       172.217.161.3:443       ESTABLISHED  
tcp        0      0 192.168.1.7:45588       52.175.17.224:443       TIME_WAIT    
tcp        0      0 192.168.1.7:50890       149.154.164.224:443     ESTABLISHED  
tcp        0      0 192.168.1.7:58192       52.77.195.144:443       ESTABLISHED  
tcp        0      0 192.168.1.7:54224       172.217.31.2:443        ESTABLISHED  
tcp        0      0 127.0.1.1:139           127.0.0.1:60342         ESTABLISHED  
tcp        0      0 192.168.1.7:34500       192.241.190.153:443     ESTABLISHED  
tcp        0      0 192.168.1.7:54888       172.217.161.14:443      ESTABLISHED

따라서 이번에는 출력에서 숫자 값만 생성된 것을 볼 수 있습니다 (외부 주소 열에서).

Q3. netstat가 tcp 연결만 표시하도록 하려면 어떻게 하나요?

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

netstat -t

예를 들어 제 경우에는 다음과 같은 출력이 생성되었습니다:

활성 인터넷 연결 (서버 제외)  
Proto Recv-Q Send-Q 로컬 주소           외부 주소             상태        
tcp        0      0 192.168.1.7:44236       152.195.11.6:https      ESTABLISHED  
tcp        0      0 192.168.1.7:59510       mails11.telegram.:https ESTABLISHED  
tcp        0      0 192.168.1.7:57318       13.70.5.200:https       ESTABLISHED  
tcp        0      0 192.168.1.7:42706       maa05s05-in-f4.1e:https ESTABLISHED  
tcp        0      0 192.168.1.7:51984       del03s10-in-f2.1e:https ESTABLISHED  
tcp        0      0 192.168.1.7:51786       52.114.32.7:https       ESTABLISHED  
tcp        0      0 192.168.1.7:52294       xx-fbcdn-shv-01-m:https ESTABLISHED  
tcp        0      0 192.168.1.7:54372       del03s01-in-f2.1e:https ESTABLISHED  
tcp        0      1 192.168.1.7:47788       hyperserver.semse:https SYN_SENT     
tcp        0      0 192.168.1.7:52298       xx-fbcdn-shv-01-m:https ESTABLISHED  
tcp        0      0 192.168.1.7:51840       149.154.164.224:https   TIME_WAIT    
tcp        0      0 192.168.1.7:35258       del03s10-in-f1.1e:https ESTABLISHED  
tcp        0      0 192.168.2.97:45662      blog.gsmarena.com:ftp   ESTABLISHED  
tcp        0      0 192.168.1.7:50728       del03s10-in-f10.1:https TIME_WAIT    
tcp        0      0 192.168.1.7:56468       del03s09-in-f3.1e:https ESTABLISHED  
tcp        0      0 192.168.1.7:50892       149.154.164.224:https   ESTABLISHED  
tcp        0      0 192.168.1.7:45670       52.175.17.224:https     ESTABLISHED  
tcp        0      0 192.168.1.7:55180       del03s10-in-f14.1:https TIME_WAIT    
tcp        0      1 192.168.1.7:47790       hyperserver.semse:https SYN_SENT     
tcp        0      0 192.168.1.7:59548       mails11.telegram.:https ESTABLISHED  
tcp        0      0 192.168.1.7:35818       32.4a.37a9.ip4.st:https ESTABLISHED  
tcp        0      0 192.168.1.7:50888       149.154.164.224:https   ESTABLISHED  
tcp        0      0 192.168.1.7:33360       del03s10-in-f13.1:https TIME_WAIT    
tcp        0      0 192.168.1.7:52332       207.46.140.70:https     ESTABLISHED  
tcp        0      0 192.168.1.7:58478       52.229.174.94:https     ESTABLISHED  
tcp        0      0 192.168.1.7:54374       del03s01-in-f2.1e:https TIME_WAIT    
tcp        0      0 192.168.1.7:50216       104.24.1.68:https       TIME_WAIT    
tcp       52      0 localhost:60342         ansh:netbios-ssn        ESTABLISHED  
tcp        0      0 192.168.1.7:50890       149.154.164.224:https   ESTABLISHED  
tcp        0      0 192.168.1.7:55200       del03s10-in-f14.1:https TIME_WAIT    
tcp        0      0 192.168.1.7:54224       del03s01-in-f2.1e:https ESTABLISHED  
tcp        0      0 ansh:netbios-ssn        localhost:60342         ESTABLISHED  
tcp        0      0 192.168.1.7:55212       del03s10-in-f14.1:https TIME_WAIT    
tcp        0      1 192.168.1.7:47800       hyperserver.semse:https SYN_SENT     
tcp        0      0 192.168.1.7:45668       52.175.17.224:https     ESTABLISHED  
tcp        0      0 192.168.1.7:58878       del03s10-in-f3.1e:https TIME_WAIT    
tcp        0      0 192.168.1.7:34500       do-11.lastpass.co:https ESTABLISHED  
tcp        0      0 192.168.1.7:41844       a23-35-40-198.dep:https ESTABLISHED

Q4. netstat가 udp 연결만 표시하도록 하려면 어떻게 하나요?

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

netstat -u

Q5. netstat가 오직 리스닝 소켓만 표시하도록 하려면 어떻게 하나요?

이는 -l 명령줄 옵션을 사용하여 가능합니다.

netstat -l

예를 들어, 제 경우에는 다음과 같은 출력이 생성되었습니다:

활성 인터넷 연결 (서버만)  
Proto Recv-Q Send-Q 로컬 주소           외부 주소             상태        
tcp        0      0 ansh:domain             *:*                     LISTEN       
tcp        0      0 localhost:ipp           *:*                     LISTEN       
tcp        0      0 *:microsoft-ds          *:*                     LISTEN       
tcp        0      0 *:netbios-ssn           *:*                     LISTEN       
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN       
tcp6       0      0 [::]:microsoft-ds       [::]:*                  LISTEN       
tcp6       0      0 [::]:netbios-ssn        [::]:*                  LISTEN       
...
...
...

Q6. netstat가 프로그램의 이름과 PID를 표시하도록 하려면 어떻게 하나요?

각 소켓이 속한 프로세스의 프로세스 ID 이름을 netstat가 표시하도록 하려면 -p 명령줄 옵션을 사용하세요.

netstat -p

예를 들어:

활성 인터넷 연결 (서버 제외)  
Proto Recv-Q Send-Q 로컬 주소           외부 주소             상태       PID/프로그램 이름  
tcp        0      0 192.168.1.7:57318       13.70.5.200:https       ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:36732       13.76.170.95:https      ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:52050       149.154.164.224:https   ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:55974       del03s10-in-f14.1:https ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:52074       149.154.164.224:https   ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:60590       mails11.telegram.:https ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:52254       149.154.164.224:https   ESTABLISHED 3247/firefox      
tcp        0      0 192.168.2.97:45662      blog.gsmarena.com:ftp   ESTABLISHED 3160/filezilla    
tcp        0      0 192.168.1.7:35818       32.4a.37a9.ip4.st:https ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:52528       52.114.32.7:https       ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:55950       del03s10-in-f14.1:https ESTABLISHED 3247/firefox      
tcp       68      0 localhost:60342         ansh:netbios-ssn        ESTABLISHED 2625/gvfsd-smb-brow  
tcp        0      0 192.168.1.7:44974       152.195.11.6:https      ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:36730       13.76.170.95:https      ESTABLISHED 3247/firefox      
tcp        0      0 ansh:netbios-ssn        localhost:60342         ESTABLISHED -                
tcp        0      0 192.168.1.7:52732       del03s10-in-f2.1e:https ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:60314       52.229.174.94:https     ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:53072       207.46.140.70:https     ESTABLISHED 3247/firefox      
tcp        0      0 192.168.1.7:34500       do-11.lastpass.co:https ESTABLISHED 3247/firefox

마지막 열에서 PID/프로그램 이름 정보를 확인하세요.

Q7. netstat가 네트워크 통계를 출력하도록 하려면 어떻게 하나요?

이는 -s 명령줄 옵션을 사용하여 할 수 있습니다.

netstat -s

이 경우 도구는 수신된 총 패킷, 폐기된 패킷, 전달된 패킷 등과 같은 정보를 생성합니다. 다음은 -s 명령줄 옵션을 사용했을 때의 출력 예입니다.

Ip:  
    592215 총 패킷 수신  
    41 잘못된 주소로 수신  
    0 전달됨  
    0 수신 패킷 폐기됨  
    580699 수신 패킷 전달됨  
    539118 요청 전송됨  
    627 전송 패킷 폐기됨  
    482 경로 누락으로 폐기됨  
    2 조각 실패  
Icmp:  
    2337 ICMP 메시지 수신  
    6 입력 ICMP 메시지 실패.  
    ICMP 입력 히스토그램:  
        도착지 도달 불가: 2337  
    3917 ICMP 메시지 전송  
    0 ICMP 메시지 실패  
    ICMP 출력 히스토그램:  
        도착지 도달 불가: 3917  
IcmpMsg:  
        InType3: 2337  
        OutType3: 3917  
Tcp:  
    10943 활성 연결 개방  
    127 수동 연결 개방  
    38 실패한 연결 시도  
    467 수신된 연결 재설정  
    34 설정된 연결  
    443643 세그먼트 수신  
    414589 세그먼트 전송  
    6929 세그먼트 재전송  
    428 잘못된 세그먼트 수신.  
    11713 재설정 전송  
  
...
...
...

Q8. netstat가 커널 라우팅 테이블을 표시하도록 하려면 어떻게 하나요?

이는 -r 명령줄 옵션을 사용하여 할 수 있습니다.

netstat -r

제 경우에 생성된 출력은 다음과 같습니다:

커널 IP 라우팅 테이블  
목적지     게이트웨이         제너릭 마스크         플래그   MSS 윈도우  irtt 인터페이스  
default         192.168.1.1     0.0.0.0         UG        0 0          0 wlx18a6f713679b  
link-local      *               255.255.0.0     U         0 0          0 wlx18a6f713679b  
192.168.1.0     *               255.255.255.0   U         0 0          0 wlx18a6f713679b

netstat -rroute -e는 동일한 출력을 생성합니다.

결론

따라서 이제 알 수 있듯이, netstat 명령어는 매우 중요한 도구입니다. 많은 기능을 제공하며, 여기서는 그 표면만 긁어보았습니다. 이 튜토리얼에서 논의한 내용을 연습한 후, 도구의 man 페이지로 가서 더 많은 정보를 확인하세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.