게으름을 위한 부지런한 게으름뱅리' 블로그

[Linux] netstat로 service port 확인하기 본문

IT/Linux

[Linux] netstat로 service port 확인하기

LazismLee 2024. 7. 7. 00:42
반응형

netstat은 네트워크 통계 정보를 확인하거나 네트워크 연결 상태를 보기 위해 사용되는 유틸리티입니다. 주로 다음과 같은 정보를 제공합니다:

  1. 네트워크 연결 정보: 현재 시스템에서 활성화된 네트워크 연결의 상태를 보여줍니다. 이는 TCP, UDP, ICMP 등 여러 프로토콜에 대한 연결 정보를 포함합니다.
  2. 라우팅 테이블: 라우팅 테이블은 목적지 IP 주소에 따라 패킷을 전달할 경로를 결정하는 데 사용됩니다. netstat은 이러한 라우팅 정보를 제공합니다.
  3. 네트워크 인터페이스 정보: 시스템에 연결된 네트워크 인터페이스(네트워크 카드)의 상태와 통계 정보를 표시합니다. 이는 각 인터페이스의 속도, 패킷 손실률, 데이터 전송량 등을 포함합니다.
  4. 소켓 정보: 현재 열린 소켓의 목록을 표시하며, 각 소켓에 대한 로컬 및 원격 주소, 포트, 연결 상태 등의 정보를 제공합니다.

일반적으로 netstat 명령어는 다음과 같은 옵션과 함께 사용됩니다:

  • -a (all): 모든 연결 및 리스닝 소켓을 표시합니다.
  • -t (tcp): TCP 연결 정보만 표시합니다.
  • -u (udp): UDP 연결 정보만 표시합니다.
  • -n (numeric): 주소와 포트 번호를 숫자 형식으로 표시합니다 (이름 해결을 건너뜁니다).
  • -p (processes): 소켓을 사용하는 프로세스 이름과 PID를 표시합니다.
  • -r (route): 라우팅 테이블을 표시합니다.

예를 들어, netstat -an은 모든 연결을 숫자 형식으로 표시하는 명령어입니다. netstat은 네트워크 문제 해결, 보안 감사, 네트워크 성능 모니터링 등 다양한 시나리오에서 유용하게 사용될 수 있습니다.

 

netstat -a			#모든 연결과 리스닝 소켓 표시하기

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:5353            0.0.0.0:*

netstat -at			#TCP 연결 정보만 표시하기

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 localhost:631           0.0.0.0:*               LISTEN
tcp        0      0 localhost:45202         localhost:631           ESTABLISHED
tcp        0      0 localhost:631           localhost:45202         ESTABLISHED

netstat -au			#UDP 연결 정보만 표시하기

Proto Recv-Q Send-Q Local Address           Foreign Address
udp        0      0 *:bootpc                *:*
udp        0      0 *:mdns                  *:*

netstat -an			#주소와 포트 번호를 숫자 형식으로 표시하기

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:5353            0.0.0.0:*

sudo netstat -ap			#소켓을 사용하는 프로세스 이름과 PID 표시하기

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      5678/cupsd
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           9876/avahi-daemon:

 

sudo netstat -anp | grep ':80'			#특정 포트를 사용하는 프로세스 정보 표시하기

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1234/nginx
tcp        0      0 192.168.1.10:45678      203.0.113.5:80          ESTABLISHED 5678/chrome

netstat -6			#IPv6 연결 정보 표시하기

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp6       0      0 :::22                   :::*                    LISTEN
udp6       0      0 :::5353                 :::*

netstat -r			# 라우팅 테이블 정보 표시하기

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0

netstat -i			#모든 네트워크 인터페이스의 통계 정보 표시하기

Kernel Interface table
Iface      MTU  RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      1500  12858      0      0 0          9373      0      0      0 BMRU
lo       65536   4625      0      0 0          4625      0      0      0 LRU

netstat -p | grep 1234			#PID를 기준으로 프로세스 정보와 관련된 소켓 표시하기

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1234/nginx
tcp        0      0 127.0.0.1:12345         127.0.0.1:54321         ESTABLISHED 1234/nginx

 

netstat -s			#연결 상태에 따라 소켓 정보 표시하기

Ip:
    12345 total packets received
    67890 incoming packets discarded
    ...
Tcp:
    5432 active connections openings
    2345 passive connection openings
    ...
Udp:
    9876 packets sent
    5432 receive errors
    ...

netstat -D			#디버깅 메시지 포함하여 상세한 소켓 정보 표시하기

Recv-Q Send-Q Local Address           Foreign Address         State
0      0 192.168.1.10:45678      203.0.113.5:80          ESTABLISHED
debug: flags=OOB

netstat -o			#TCP 연결의 타임아웃 정보 표시하기

Proto Recv-Q Send-Q Local Address           Foreign Address         State       Timer
tcp        0      0 192.168.1.10:45678      203.0.113.5:80          ESTABLISHED  off (0.00/0/0)

netstat -s			#송수신 패킷 및 오류 통계 정보 표시하기

Ip:
    12345 total packets received
    67890 incoming packets discarded
    ...
Icmp:
    5432 ICMP messages received
    2345 ICMP messages sent
    ...

watch -n 1 netstat -an			#활성화된 네트워크 연결을 지속적으로 모니터링하기

Every 1.0s: netstat -an                        Thu Jan  1 00:00:00 2024

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:5353            0.0.0.0:*
반응형
Comments