| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- tcsh
- linux
- PackageManagement
- 유닉스
- terminal
- php
- environment
- bash
- 명령어
- coreutils
- 사용자관리
- 터미널
- 리눅스
- cups
- JavaScript
- 파일시스템
- 시스템관리
- sysadmin
- 리눅스명령어
- Unix명령어
- 유닉스명령어
- js
- 자바스크립트
- 정규표현식
- shell
- 쉘스크립트
- linuxcommand
- UNIX
- Solaris
- UnixCommand
Archives
- Today
- Total
ioerror
netstat - 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등 확인 본문
반응형

netstat - Network Statistics
프로토콜 통계와 현재 TCP/IP 네트워크 연결 상태를 보여주는 명령줄 도구이다. 네트워크 연결 상태를 모니터링하고 시스템의 포트 열림 여부, 라우팅 테이블 상태, 인터페이스 통계 등을 확인하는 데 사용된다. 현재는 많은 리눅스 배포판에서 ip route, ss 등의 명령어로 대체되는 추세이나, 여전히 유닉스 및 구형 시스템에서 네트워크 디버깅을 위해 널리 사용된다.
1. 명령어 용도
- 특정 포트를 어떤 프로세스가 점유하고 있는지 확인해야 하는 상황
- 서버의 네트워크 연결 상태(ESTABLISHED, LISTEN 등)를 모니터링해야 하는 상황
- 시스템의 라우팅 테이블 및 네트워크 인터페이스 활성화 상태를 점유율과 함께 점검해야 하는 상황
2. 명령어 서식
netstat [옵션]
3. 명령어 옵션
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -a | 모든 소켓(연결 대기 중인 LISTEN 소켓 포함)을 표시한다. | |
| -t | TCP 프로토콜을 사용하는 연결만 표시한다. | |
| -u | UDP 프로토콜을 사용하는 연결만 표시한다. | |
| -n | 주소나 포트 형식을 이름(도메인, 서비스명) 대신 숫자(IP, 포트번호)로 표시한다. | |
| -p | 해당 소켓을 사용하고 있는 프로세스의 ID(PID)와 프로그램 이름을 표시한다. | [Linux] |
| -r | 라우팅 테이블을 표시한다. (route 명령어와 동일한 결과) | |
| -l | 연결 대기 상태(LISTEN)인 소켓만 표시한다. | |
| -i | 모든 네트워크 인터페이스의 통계 테이블을 표시한다. | |
| -s | 프로토콜별(IP, ICMP, TCP, UDP 등) 통계 정보를 세부적으로 표시한다. |
명령어 옵션 사용시 결과 예시
# 1. 현재 열려 있는 모든 TCP 포트와 해당 포트를 사용하는 프로세스(PID)를 숫자로 확인
netstat -ntlp
# 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:22 0.0.0.0:* LISTEN 1025/sshd
# tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1142/mysqld
# 2. 시스템의 라우팅 테이블 확인 (숫자 형태로 출력)
netstat -rn
# Kernel IP routing table
# Destination Gateway Genmask Flags MSS Window irtt Iface
# 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
# 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
netstat -ntlp 명령어 결과로 출력되는 활성 인터넷 연결(서버 리슨 상태)의 각 항목별 의미는 다음과 같다.
| 항목 (Column) | 의미 | 설명 |
|---|---|---|
| Proto | 프로토콜 | 소켓이 사용하는 전송 프로토콜 (tcp, tcp6). |
| Recv-Q | 수신 큐 | 애플리케이션이 아직 읽어가지 않은 수신 데이터 크기. |
| Send-Q | 송신 큐 | 상대방의 수신 확인(ACK)을 기다리는 송신 데이터 크기. |
| Local Address | 로컬 주소 | 현재 서버의 IP 주소와 대기 중인 포트 번호. |
| Foreign Address | 원격 주소 | 연결된 클라이언트의 IP와 포트 (LISTEN 상태에서는 주로 *로 표시). |
| State | 연결 상태 | 네트워크 소켓의 상태 (주로 접속 대기 상태인 LISTEN). |
| PID/Program name | 프로세스 정보 | 해당 포트를 사용 중인 프로세스 ID(PID)와 실행 프로그램 명. |
netstat -rn 명령어 결과로 출력되는 커널 IP 라우팅 테이블의 항목별 의미다.
| 항목 (Column) | 의미 | 설명 |
|---|---|---|
| Destination | 목적지 | 패킷이 도달해야 하는 목적지 네트워크 또는 호스트의 IP 주소 (0.0.0.0은 기본 게이트웨이). |
| Gateway | 게이트웨이 | 외부 네트워크로 나가기 위한 라우터 IP 주소 (0.0.0.0 또는 *은 로컬 네트워크 의미). |
| Genmask | 넷마스크 | 목적지 IP의 네트워크 범위를 정의하는 서브넷 마스크 (255.255.255.255는 단일 호스트). |
| Flags | 플래그 | 경로의 상태를 표시 (U: 활성화, G: 게이트웨이 사용, H: 단일 호스트). |
| MSS | 최대 세그먼트 크기 | Maximum Segment Size의 약자로, 해당 경로로 전송할 수 있는 TCP 데이터의 최대 크기(바이트). |
| Window | 윈도우 크기 | 해당 경로를 통해 한 번에 전송할 수 있는 TCP 데이터의 양(윈도우 사이즈). |
| irtt | 초기 왕복 시간 | Initial Round Trip Time의 약자로, 패킷이 목적지에 도달하고 응답이 돌아오는 초기 시간(ms). |
| Iface | 인터페이스 | 패킷이 목적지로 나가기 위해 거치는 물리적/논리적 네트워크 카드 이름 (예: eth0, lo). |
4. 명령어 특이사항(유의사항)
- ss 명령어의 대체: 최신 리눅스 배포판(CentOS 7+, Ubuntu 16.04+ 등)에서는 net-tools 패키지가 기본에서 제외되면서 netstat 대신 ss 명령어를 사용할 것을 권장하고 있다. netstat은 /proc/net/을 읽어오기 때문에 연결이 매우 많은 대형 서버에서는 속도가 느려지는 단점이 있다.
- -p 옵션의 권한: 프로세스 ID(PID)를 확인하는 -p 옵션은 루트(root) 권한이나 sudo를 사용하지 않으면 타인 소유의 프로세스 정보가 제한되어 출력되지 않는다.
- 포트 충돌 해결: StackOverflow에서 가장 자주 묻는 질문 중 하나는 "Address already in use" 에러 발생 시 netstat -nap | grep 포트번호를 통해 원인 프로세스를 찾아 kill하는 해결책이다.
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| nice - 프로세스의 실행 우선순위(Nice 값)를 설정하여 실행하는 명령어 (0) | 2026.06.02 |
|---|---|
| newgrp - 새로운 그룹으로 로그인 세션 변경 (0) | 2026.06.02 |
| mv - 파일 및 디렉터리 이동 및 이름 변경 (0) | 2026.06.01 |
| mtools - 리눅스에서 MS-DOS 파일 시스템 관리 명령어 패키지 (0) | 2026.06.01 |
| mountall - 파일 시스템 일괄 마운트 (0) | 2026.06.01 |
Comments