Netstat
네트워크 상태를 확인할 수 있다.
Categories
Options
상태 필터링:
-
-a
- 전체 상태 출력 -
-l
- Listen 상태
필터링 및 출력 필드 조정:
-
-n
- Number of port. 잘 알려진 포트에 대한 이름으로 출력하지 말고 숫자로 출력. -
-t
- TCP -
-t4
- IPv4 TCP -
-t6
- IPv6 TCP -
-u
- UDP -
-p
- 프로그램 이름 / PID
별도 출력 모드:
-
-i
- 이더넷 카드별 정상/에러/드랍 송수신 패킷 수 확인 -
-r
- 라우팅 테이블 -
-s
- 네트워크 통계
List of State
상태 | 설명 |
CLOSED | 완전히 연결이 종료된 상태 |
CLOSING | 흔하지 않으나 주로 확인 메시지가 전송 도중 유실된 상태 |
CLOSE_WAIT | TCP 연결이 상위 응용프로그램 레벨로부터 연결 종료를 기다리는 상태 |
ESTABLISHED | 승인됨. 서버와 클라이언트 간에 세션 연결이 성립되어 통신이 이루어지고 있는 상태 (클라이언트가 서버의 SYN을 받아서 세션이 연결된 상태) |
FIN_WAIT1 | 클라이언트가 서버에게 연결을 끊고자 요청하는 상태(FIN을 보낸 상태) |
FIN_WAIT2 | 서버가 클라이언트로부터 연결 종료 응답을 기다리는 상태 (서버가 클라이언트로부터 최초로 FIN을 받은 후, 클라이언트에게 ACK를 주었을 때 |
LAST_ACK | 호스트가 원격지 호스트의 연결 종료 요구 승인을 기다리는 상태 (서버가 클라이언트에게 FIN을 보냈을 때의 상태) |
LISTEN | 서버의 데몬이 떠 있어서 클라이언트의 접속 요청을 기다리고 있는 상태 |
SYN_SENT | (SYN 신호를 보냄) 클라이언트가 서버에게 연결을 요청한 상태 |
SYN_RECEIVED | 서버가 클라이언트로부터 접속 요구(SYN)을 받아 클라이언트에게 응답(SYN/ACK)하였지만, 아직 클라이언트에게 확인 메시지(ACK)는 받지 못한 상태. |
TIME_WAIT | 연결은 종결되었지만 당분간 소켓을 열어 놓은 상태, 약 1분 정도이며 시간이 지나면 사라짐 |
UNKNOWN | 소켓의 상태를 알 수 없음 |
Windows
Windows계열 netstat를 사용하는 방법에 대하여 정리한다.
특정 Port를 사용하는 프로세스 확인
8080 port 의 PID 확인:
PID 가 2952 인 프로세스 찾기
해당 포트 프로세스를 중지하기 (task kill)
해당 포트를 사용하는 프로세스를 직접 확인 하는 방법 (task list)
Unix
Unix계열 netstat를 사용하는 방법에 대하여 정리한다.
접속자 확인
## LISTEN 되는 모든 포트
$ netstat -l
## 또는
$ netstat -nap | grep LISTEN
## 모든 서비스 동시 접속자 수
$ netstat -nap | grep ESTABLISHED | wc -l
## 웹 동시 접속자 수
$ netstat -nap | grep :80 | grep ESTABLISHED | wc -l
## 웹서버 커넥션수 체크
$ netstat -n|grep -F :80|egrep '(ESTAB|SYN)'|awk '{print $5}'|sed 's/:[0-9]*//'|sort -u|wc -l
## Active Internet connections (only servers)
$ netstat -tulpn
"@" 가 의미하는바
Unix Domain Socket#Abstract Domain Socket 항목 참조.
See also
- Routing table
- lsof
- Wireshark
- Sniffnet - 오픈소스 네트워크 트래픽 모니터링 도구
- tshark - CLI 에서 사용 가능한 Wireshark.
- ntop
- ntopng
Favorite site
- 아파치 동시접속자수 확인
- netstat의 TCP 연결 상태 의미
- Windows NT netstat 명령어를 이용한 라우팅 테이블 확인 1
- Joinc - netstate 정보 얻어오기
References
-
How_to_check_route_table.pdf ↩