반응형
netstat 명령어
netstat 명령어는 네트워크 관련 정보를 보여주는 유닉스 및 리눅스 명령어입니다. 주로 네트워크 연결, 라우팅 테이블, 네트워크 인터페이스 상태 등의 정보를 제공합니다. netstat 명령어를 실행하면 다음과 같은 정보를 확인할 수 있습니다.
- 현재 열린 네트워크 연결 정보: TCP, UDP, ICMP 등의 프로토콜을 사용하는 현재 열린 연결 정보를 확인할 수 있습니다. 연결 상태, 로컬 및 원격 주소, 포트 번호, 프로토콜 등의 정보가 표시됩니다.
- 라우팅 테이블 정보: 현재 시스템의 라우팅 테이블 정보를 확인할 수 있습니다. 라우팅 테이블은 패킷을 전송하는데 사용되는 경로를 나타내며, 라우터 주소, 네트워크 주소, 서브넷 마스크 등의 정보가 표시됩니다.
- 네트워크 인터페이스 상태: 현재 사용 가능한 네트워크 인터페이스의 상태를 확인할 수 있습니다. 인터페이스 이름, IP 주소, 맥 주소, MTU, 네트워크 상태 등의 정보가 표시됩니다.
기본 구문
netstat [옵션]
주로 사용되는 옵션
- -a : 모든 연결 정보 표시
- -n : 주소와 포트 번호를 숫자로 표시
- -t : TCP 연결 정보만 표시
- -u : UDP 연결 정보만 표시
- -r : 라우팅 테이블 정보 표시
- -i : 네트워크 인터페이스 상태 표시
netstat 명령어에서 표시되는 연결 상태(status)는 다음과 같습니다.
- ESTABLISHED : 연결이 설정되어 있고 데이터가 전송 중인 상태
- SYN_SENT : SYN 요청이 전송되었지만, 상대방의 SYN+ACK 응답을 아직 받지 못한 상태
- SYN_RECV : 상대방의 SYN 요청에 대한 응답으로 SYN+ACK를 보냈지만, 아직 상대방의 ACK 응답을 받지 못한 상태
- FIN_WAIT1 : FIN 패킷을 보내고 상대방의 ACK 응답을 기다리는 상태
- FIN_WAIT2 : 상대방이 보낸 FIN 패킷을 수신하고 ACK 응답을 보내는 상태
- TIME_WAIT : 연결을 종료한 후 일정 시간 동안 대기하는 상태. 이 시간 동안 재연결 요청이 들어오면 대응하기 위해 대기하는 것입니다.
- CLOSE_WAIT : 연결 종료 요청을 받았으나, 아직 상대방의 종료 요청을 받지 못한 상태
- LAST_ACK : 연결 종료 요청을 받고, 상대방의 ACK 응답을 보내고 연결이 종료된 상태
- LISTEN : 연결 요청 대기 상태. 서버에서 사용되는 상태입니다.
- CLOSING : 상대방의 FIN 패킷을 받고 ACK 응답을 보낸 후, 아직 상대방의 ACK 응답을 받지 못한 상태
위와 같은 상태를 통해 현재 시스템이 어떤 연결 상태인지 파악할 수 있습니다.
728x90
사용 예시
- 모든 연결 및 소켓 정보 표시
netstat -a
- TCP 연결 정보만 표시
netstat -at
- UDP 연결 정보만 표시
netstat -au
- IP 주소와 포트 번호를 숫자로 표시
netstat -an
- 라우팅 테이블 표시
netstat -r
- 프로세스 정보와 함께 연결 정보 표시
netstat -anp
- 특정 포트의 사용 여부 확인
netstat -an | grep 8080
- 특정 프로토콜 및 포트를 사용하는 연결 정보 표시
netstat -an | grep -E 'Proto|8080'
- 현재 시스템에서 "ESTABLISHED" 상태인 TCP 연결의 수를 세는 명령어
netstat -an | grep -v grep | grep ESTABLISHED | wc -l
728x90
반응형
'리눅스' 카테고리의 다른 글
리눅스에서 메모리 캐시를 삭제하는 방법(cache flush) (0) | 2013.11.28 |
---|---|
리눅스(Fedora)와 다른 운영체제 듀얼 부팅 시 GRUB2 부트로더에서 부팅 순서를 바꾸는 방법 (0) | 2013.11.26 |
dd 명령어 (2) | 2013.11.15 |
[zimbra] 짐브라(zimbra) 설치 (0) | 2013.11.15 |
SSH 접속 시 RSA 공개키(ECDSA) 충돌 문제를 해결하는 방법 (0) | 2013.11.14 |