안녕하세요! 오늘은 시스템 관리자와 개발자들의 필수 도구인 netstat 명령어에 대해 자세히 알아보겠습니다.
Netstat이 뭔가요? 🤔
네트워크 연결 상태를 보여주는 마법 같은 도구입니다!
- 실시간으로 네트워크 연결 상태를 모니터링
- TCP/UDP 연결 정보 확인
- 네트워크 인터페이스 통계
- 라우팅 테이블 정보 제공
마치 병원의 심전도 모니터처럼 네트워크의 "건강 상태"를 실시간으로 보여줍니다.
주요 옵션들 🛠️
기본 옵션
-a : 모든 연결과 수신 대기 포트 표시 all
-n : 주소와 포트를 숫자로만 표시 number
-p : 프로세스 ID와 프로그램 이름 표시 process
-t : TCP 연결만 표시
-u : UDP 연결만 표시
-l : Listen 상태의 포트만 표시 listen
-r : 라우팅 테이블 표시 routing
실제 사용 예시
# 모든 TCP 연결 보기
netstat -at
# 포트와 프로세스 정보 자세히 보기
netstat -tunlp
# 특정 포트(예: 80) 사용 확인
netstat -an | grep :80
TCP 상태 이해하기 📊
네트워크 연결 상태를 더 잘 이해하기 위한 주요 상태값들:
LISTEN: 포트가 새 연결을 기다리는 상태
예) 웹서버가 80포트에서 클라이언트 대기
ESTABLISHED: 현재 연결된 상태
예) 클라이언트와 서버가 실제 통신 중
TIME_WAIT: 연결이 종료되고 잠시 대기하는 상태
예) 브라우저가 웹페이지 로딩을 완료한 직후
실전 활용 사례 💡
1. 서버 문제 해결
# 과도한 연결 확인
netstat -an | grep ESTABLISHED | wc -l
# 특정 IP의 연결 수 확인
netstat -an | grep "192.168.1.100"
2. 보안 모니터링
# 의심스러운 연결 찾기
netstat -antp | grep ESTABLISHED
# 알 수 없는 포트 확인
netstat -tulpn | grep LISTEN
3. 성능 최적화
# TIME_WAIT 상태 개수 확인
netstat -an | grep TIME_WAIT | wc -l
유용한 사용 팁 💪
실시간 모니터링
watch -n 1 'netstat -an | grep ESTABLISHED'
연결 통계 보기
netstat -s
특정 프로그램의 연결만 보기
netstat -anp | grep nginx
주의사항 ⚠️
권한 문제
- 일부 정보는 root 권한 필요
- sudo 사용 권장
출력량 관리
- 필터링 없이 사용시 매우 많은 정보 출력
- grep으로 필터링 추천
성능 영향
- 너무 자주 실행하면 시스템 부하 가능
- 적절한 간격 유지 필요
References 📚
- Linux man pages - netstat
- Red Hat Enterprise Linux 네트워킹 가이드
- TCP/IP Illustrated, Volume 1: The Protocols
- Unix and Linux System Administration Handbook
728x90
'100===Dev Ops > Linux' 카테고리의 다른 글
강력한 텍스트 검색 도구 grep 완벽 가이드 🔍 (1) | 2024.11.17 |
---|---|
실무에서 자주 쓰는 리눅스 명령어 모음 🐧 (0) | 2024.11.03 |
PermitRootLogin SSH Security Policy Explained (0) | 2024.06.11 |
Linux: The Powerhouse of Modern Computing (0) | 2024.05.28 |
Linux: Iptable 방화벽 사용 방법 (0) | 2024.05.25 |