netstat 명령어는 네트워크 연결, 라우팅 테이블, 인터페이스 상태 등을 확인하는 데 사용됩니다. 다양한 옵션이 있으며, 각각의 옵션은 netstat의 출력을 조정하는 데 도움을 줍니다.
여기서는 netstat의 주요 옵션들을 설명하겠습니다: -a, -n, -o, -p, -r, -i, -s, -t, -u.
1. -a (All)
- 설명: 모든 연결과 수신 대기 포트를 표시합니다. 기본적으로,
netstat는 수신 대기 포트만 표시하며, -a 옵션을 사용하면 모든 연결 상태를 보여줍니다.
- 예시:
netstat -a
- 출력: 모든 TCP 및 UDP 연결과 수신 대기 포트를 포함한 목록을 보여줍니다.
2. -n (Numeric)
- 설명: 호스트 이름과 포트 번호를 숫자로 표시합니다. 기본적으로
netstat는 호스트 이름과 포트 번호를 도메인 이름과 서비스 이름으로 변환합니다.
- 예시:
netstat -n
- 출력: IP 주소와 포트 번호를 숫자로 표시하여, DNS 조회를 하지 않고 빠르게 정보를 제공합니다.
3. -o (Owner)
- 설명: 각 연결에 대한 소유자의 프로세스 ID (PID)를 표시합니다. 이 옵션은 Windows에서 사용되며, 각 연결에 대해 어떤 프로세스가 사용하는지 확인할 수 있습니다.
- 예시:
netstat -o
- 출력: 각 네트워크 연결에 대해 관련된 프로세스 ID를 표시합니다.
4. -p (Program)
- 설명: 연결된 프로세스 또는 프로그램을 표시합니다. 이 옵션은 일반적으로 Linux에서 사용됩니다.
- 예시:
netstat -p
- 출력: 각 연결에 대한 프로세스 이름을 표시합니다. (
-p 옵션은 루트 권한이 필요할 수 있습니다.)
5. -r (Routing Table)
- 설명: 시스템의 라우팅 테이블을 표시합니다. 이 옵션을 사용하면 현재 라우팅 테이블을 볼 수 있습니다.
- 예시:
netstat -r
- 출력: 현재의 라우팅 테이블을 보여줍니다. 네트워크와의 경로를 확인할 수 있습니다.
6. -i (Interface)
- 설명: 네트워크 인터페이스의 상태를 표시합니다. 각 인터페이스의 통계와 정보를 확인할 수 있습니다.
- 예시:
netstat -i
- 출력: 각 네트워크 인터페이스의 상태, 패킷 통계 등을 보여줍니다.
7. -s (Statistics)
- 설명: 네트워크 프로토콜별 통계를 표시합니다. TCP, UDP, IP 등의 프로토콜에 대한 다양한 통계 정보를 제공합니다.
- 예시:
netstat -s
- 출력: 각 네트워크 프로토콜에 대한 통계 정보를 제공합니다. 패킷 전송, 오류, 리셋 등 다양한 정보를 볼 수 있습니다.
8. -t (TCP)
- 설명: TCP 연결 상태만 표시합니다. UDP와는 별도로 TCP 프로토콜에 대해서만 정보를 제공합니다.
- 예시:
netstat -t
- 출력: TCP 연결에 대한 상태 정보를 보여줍니다.
9. -u (UDP)
- 설명: UDP 연결 상태만 표시합니다. TCP와는 별도로 UDP 프로토콜에 대한 정보를 제공합니다.
- 예시:
netstat -u
- 출력: UDP 연결에 대한 상태 정보를 보여줍니다.
결합 예시
-
모든 연결, 숫자 형식, 프로세스 정보:
netstat -anop
- 출력: 모든 연결과 수신 대기 포트, 숫자 형식의 IP 주소와 포트 번호, 각 연결의 프로세스 ID를 표시합니다.
-
TCP와 UDP 통계:
netstat -su
- 출력: UDP 통계 정보를 표시합니다. TCP 통계도 필요할 경우
-st를 추가하여 사용합니다.
이와 같이, netstat 명령어의 옵션을 적절히 활용하면 시스템의 네트워크 상태를 상세히 파악할 수 있으며, 다양한 네트워크 문제를 진단하는 데 유용합니다.