netstat 사용법
netstat 를 자주 그리고 많이 사용하는데 좀 구체적인 방법을 정리해둔다.
열려 있는 모든 포트
1 |
]# netstat -nap |
LISTEN 되는 모든 포트
1 2 |
]# netstat -l ]# netstat -nap | grep LISTEN |
모든 서비스 동시 접속자 수
1 |
]# netstat -nap | grep ESTABLISHED | wc -l |
웹 동시 접속자 수
1 |
]# netstat -nap | grep :80 | grep ESTABLISHED | wc -l |
열려있는 모든 TCP 포트를 일정시간마다 반복 출력
1 |
]# netstat -natc |
어떤 프로세스가 포트를 열고있는지 확인
1 |
]# lsof -i TCP:8080 |
stat 상태 설명
Recv-Q : 프로그램이 소켓을 맺고 카피되지 않은 바이트의 수.
Send-Q : 리모트 호스트에 의해 ACK 되지 않은 바이트의 수.
LISTEN : 서버 애플리케이션이 적재되어 수동적인 모드로 포트를 개설하였음을 의미. TCP는 연 결요청이 수신 되기를 기다림
SYN-SENT : 로컬 시스템의 클라이언트 애플리케이션이 원격 호스트에 능동적인 개설을 요청. TCP는 Synchronize flag 를 설정한 시작 세그먼트를 전송 하였으며, 원격 시스템도 역시 Synchronize flag 를 설정한 시작 세그먼트로 응답할 것을 기다림.
SYN-RECEIVED : 서버의 TCP가 원격 클라이언트로부터 Synchronize flag가 설정된 시작 세그먼트를 수신하였고 자신의 시작 세그먼트로 응답 하였으며, 그 세그먼트에 대한 확인 메세지를 기다림.
ESTABLISHED : 가상회선이 작동. 3단계 핸드셰이킹 과정이 완료되면 두 시스템은 이 상태에 들어감.
FIN-WAIT-1 : 로컬 애플리케이션은 가상 회선에 능동적인 종결을 요청하였으며, TCP는 Finish flag가 설정된 종결 세그면트를 전송. 그러나 TCP는 아직도 원격 시스템이 세그먼트에 대한 확인 메세지와 자신만의 종결 세그먼트로 응답하기를 기다림. 회선이 완전히 종결될 때까지 원격 시스템으로부터 데이터는 수신하지만, 추가적인 데이터를 전송하지는 않음.
COLSE-WAIT : (FIN-WAIT-1 의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신되었고 로컬 TCP는 그 세그먼트에 대한 확인 메세지를 송신 시스템에 전송함. 그러나 로컬 TCP는 로컬 애플리케이션에서 작업을 종료하지않아 자신의 종결 세그먼트를 생성하지 못함
FIN-WAIT-2 : (FIN-WAIT-1 의 설명과 처럼) 로컬 TCP는 Finish flag 가 설정된 종결 세그먼트를 전송하였으며, (WAIT-CLOSE 의 설명대로) 원격 시스템으로 부터 그 세그먼트에 대한 확인 메세지를 신함. 그러나 원격 애플리케이션이 아직 작업을 종료 하지 않아 원격TCP가 자신의 종결 세그먼트를 생성하지 못하고 있는 상태임.
LAST-ACK : (FIN-WAIT-1의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신되었고, 로컬 애플리케이션은 회선의 종결에 합의하여 자신도 종결을 요청함. 그 결과 로컬 TCP는 Finish flag 가 설정된 자신의 종결 세그먼트를 전송 하였으며, 이 세그먼트에 대한 확인 메세지가 수신되면 종결됨.
CLOSING : 이 상태는 흔하지 않으며, 일반적으로 세그먼트가 네트워크에서 분실되었다는것을 나타냄. 이런 경우 로컬 TCP는 (FIN-WAIT-1 의 설명과 같이) Finish flag 가 설정된 종결 세그먼트를 전송 하고 (LAST-ACK 의 설명과 같이) 원격 시스템의 종결 세그먼트도 수신하였지만, FINWAIT-1 단계에서 전송한 세그먼트에 대한 확인 메세지가 수신되지않은 상태임. 이 상태는 보통 확인 메세지가 전송 도중 분실되었다는 의미임.
TIME-WAIT : 회선의 종결 절차가 완결되었으나 TCP 는 분실되었을지 모르는 느린 세그먼트를 위해당분간 소켓을 열어 놓은 상태로 유지.
이 상태는 새로운 연결이 기존의 연결에서 사용된 일련번호를 다시 사용하는 것을 막음. 원격 시스템이 종결하는 호스트로부터 더이상 데이터를 수신할 가능성이 없으므로, 이 상태는 능적인 종결을 요청한 호스트에서만 나타남.
CLOSED : 아무일도 발생하지 않음. 회선은 종결되었고, TCP는 그 가상 회선에 사용하였던 모든자원을 놓아줌. 이 상태를 보여줄 수 있는 가상 회선이 없으므로 아무 일도 발생하지 않음.
네트워크 관련 참조 파일
/etc/services — The services translation file
/proc/net/dev — devices information
/proc/net/raw — RAW socket information
/proc/net/tcp — TCP socket information
/proc/net/udp — UDP socket information
/proc/net/igmp — IGMP multicast information
/proc/net/unix — Unix domain socket information
/proc/net/ipx — IPX socket information
/proc/net/ax25 — AX25 socket information
/proc/net/appletalk — DDP (appletalk) socket information
/proc/net/nr — NET/ROM socket information
/proc/net/route — Kernel IP routing information
/proc/net/ax25_route — Kernel AX25 routing information
/proc/net/ipx_route — Kernel IPX routing information
/proc/net/nr_nodes — Kernel NET/ROM nodelist
/proc/net/nr_neigh — Kernel NET/ROM neighbours
/proc/net/ip_masquerade — Kernel masqueraded connections