리눅스에서 netstat를 사용하는 방법
리눅스에서 netstat
명령어 사용법
오늘은 리눅스에서 네트워크 상태를 모니터링하고 다양한 네트워크 관련 정보를 확인할 수 있는 유용한 명령어, netstat
에 대해 알아보겠습니다. 네트워크 문제 해결이나 서버 상태 모니터링에 자주 사용되는데요, netstat
의 주요 옵션과 함께 활용법을 차근차근 설명해드릴게요.
netstat
명령이란?
netstat
는 네트워크 연결 상태, 라우팅 테이블, 인터페이스 통계 등 네트워크 관련 정보를 한눈에 확인할 수 있게 해주는 명령입니다. netstat
을 사용하면 현재 어떤 포트가 열려 있는지, 어떤 프로세스가 특정 포트를 사용 중인지, 네트워크 인터페이스가 어떻게 구성되어 있는지 등을 쉽게 파악할 수 있습니다.
기본 사용법
우선 netstat
의 기본 사용법은 다음과 같습니다.
netstat [옵션]
명령어에 옵션을 붙여 실행하면 다양한 정보가 출력됩니다.
주요 옵션 설명
1. -a
: 모든 소켓 표시
-a
옵션은 현재 시스템에서 사용 중인 모든 소켓을 표시해줍니다. 여기에는 Listening 상태와 Non-listening 상태의 소켓이 모두 포함됩니다. 즉, 서버가 들어오는 연결을 대기 중인 포트와 클라이언트로 연결된 포트를 모두 확인할 수 있습니다.
netstat -a
2. -n
: IP 주소와 포트를 숫자로 표시
-n
옵션을 사용하면 IP 주소와 포트를 숫자로 표시합니다. 기본적으로 netstat
은 도메인 이름을 확인하려고 시도하는데, -n
옵션을 사용하면 DNS 조회 과정을 건너뛰기 때문에 속도가 빨라집니다.
netstat -an
3. -t
: TCP 프로토콜만 표시
TCP 연결 상태만 보고 싶을 때는 -t
옵션을 사용합니다. TCP는 주로 웹서버나 데이터베이스와 같은 연결에 사용되기 때문에, 특정 서비스의 상태를 확인할 때 유용합니다.
netstat -t
4. -u
: UDP 프로토콜만 표시
UDP 프로토콜은 TCP와 달리 연결을 설정하지 않는 프로토콜로, 실시간 스트리밍이나 게임 등에서 많이 사용됩니다. -u
옵션으로 UDP 연결 상태만 확인할 수 있습니다.
netstat -u
5. -l
: Listening 상태의 포트만 표시
서버가 대기 중인 포트만 확인하고 싶을 때 -l
옵션을 사용하면 됩니다. 현재 열려 있고 외부 연결을 기다리는 포트만 표시되기 때문에 보안 설정이나 서비스 상태 확인에 유용합니다.
netstat -l
6. -p
: 프로세스 ID와 이름 표시
특정 포트를 사용 중인 프로세스가 무엇인지 알고 싶다면 -p
옵션을 사용할 수 있습니다. 이 옵션은 해당 연결을 사용하는 프로세스의 ID(PID)와 이름을 함께 출력해줍니다. 다만, 이 옵션은 관리자 권한이 필요할 수 있습니다.
sudo netstat -p
7. -r
: 라우팅 테이블 표시
-r
옵션은 라우팅 테이블을 확인할 때 사용합니다. 이 옵션을 통해 현재 시스템이 어떤 경로로 네트워크 패킷을 전송하고 있는지 확인할 수 있습니다.
netstat -r
8. -i
: 네트워크 인터페이스 상태 확인
현재 시스템의 네트워크 인터페이스(예: 이더넷, Wi-Fi 등) 상태를 보고 싶다면 -i
옵션을 사용할 수 있습니다. 각 인터페이스의 데이터 송수신 상태와 같은 통계 정보를 표시합니다.
netstat -i
9. -s
: 프로토콜별 통계 확인
-s
옵션을 사용하면 각 프로토콜(TCP, UDP, ICMP 등)별 통계를 확인할 수 있습니다. 네트워크 성능을 분석하거나 문제 해결에 도움을 줄 수 있는 중요한 옵션입니다.
netstat -s
실전 사용 예시
netstat
명령어를 여러 옵션과 함께 조합해 사용하면 필욯나 정보를 더 정확하게 확인할 수 있습니다. 다음은 실전에서 사용하는 조합 예시들입니다.
- TCP의 Listening 포트만 숫자로 표시하고, PID를 포함하여 출력하기
sudo netstat -tlpn
- 모든 네트워크 연결 상태를 숫자로 확인하기
sudo netstat -an
- 라우팅 테이블 확인하기
sudo netstat -r
ss
명령어로 대체할 수 있는 경우
리눅스에서는 최신 배포판에서 netstat
대신 ss
명령어를 권장하는 경우가 많습니다. ss
는 netstat
와 유사한 기능을 제공하면서도 더 빠르고 가벼운 장점이 있습니다. ss
명령어의 사용법도 거의 비슷하기 때문에 netstat
이 설치되어 있지 않은 경우 ss
로 대체해서 사용할 수 있습니다.
ss -tuln
마무리
오늘은 이렇게 리눅스에서 netstat
명령어를 사용하는 방법과 주요 옵션을 알아보았습니다. 네트워크 모니터링이나 문제 해결에 netstat
은 필수적인 도구이지, 자주 사용하면서 익숙해져 보시길 바랍니다.