netstat

netstat?


시스템의 네트워크 연결목록(tcp, udp, 소켓 연결 등)을 보여주는 유틸리티.

명령어를 알게 되는대로 계속 업데이트 하려고 한다.


netstat -tnlp

  • 네트워크 데몬이나 서비스 상태가 listen인 프로세스 이름과 pid 표시
  • root 권한이 아니면 pid값이 나오진 않는다.
ubuntu@inception:~$ sudo netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      22741/nginx -g daem
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1408/sshd       
tcp6       0      0 :::80                   :::*                    LISTEN      22741/nginx -g daem
tcp6       0      0 :::22                   :::*                    LISTEN      1408/sshd

netstat -a

  • 모든 연결을 출력
root@back-test:~# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 10.1.15.4:38430         rubay.canonical.co:http TIME_WAIT
tcp        0      0 10.1.15.4:43026         101.55.126.198:5044     ESTABLISHED
tcp        0    288 10.1.15.4:ssh           192.168.200.7:41700     ESTABLISHED
tcp        0      0 10.1.15.4:ssh           192.168.200.7:47508     ESTABLISHED
tcp        0      0 10.1.15.4:58182         101.55.126.198:8094     ESTABLISHED
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
udp        0      0 10.1.15.4:49611         192.168.200.250:ntp     ESTABLISHED
udp        0      0 localhost:323           *:*
udp        0      0 *:bootpc                *:*
udp6       0      0 ip6-localhost:323       [::]:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ]         DGRAM                    556421   /run/user/1000/systemd/notify
unix  2      [ ACC ]     STREAM     LISTENING     556422   /run/user/1000/systemd/private
unix  2      [ ACC ]     SEQPACKET  LISTENING     8631     /run/udev/control

netstat -at

  • tcp 연결만 출력
root@back-test:~# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 10.1.15.4:39504         rubay.canonical.co:http TIME_WAIT
tcp        0      0 10.1.15.4:58182         101.55.126.198:8094     ESTABLISHED
tcp        0    288 10.1.15.4:ssh           192.168.200.7:59826     ESTABLISHED
tcp        0      0 10.1.15.4:44100         101.55.126.198:5044     ESTABLISHED
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN

netstat -an | grep 포트번호

  • 특정 포트가 사용중에 있는지 확인
ubuntu@back-test:~$ netstat -an | grep 8631
unix  2      [ ACC ]     SEQPACKET  LISTENING     8631     /run/udev/control

netstat -rn

  • 라우팅 테이블 확인
  • route -n 과 동일한 기능
ubuntu@dns-router:~$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.10.30.1      0.0.0.0         UG        0 0          0 ens3
10.10.30.0      0.0.0.0         255.255.255.0   U         0 0          0 ens3
169.254.169.254 10.10.30.1      255.255.255.255 UGH       0 0          0 ens3
192.168.200.0   10.10.30.253    255.255.255.0   UG        0 0          0 ens3

Reference

리눅스 netstat 명령어 사용 예제

리눅스 - route 명령어 (라우팅 테이블 추가/제거)

Comments