netstat

네트워크 상태 조회 커맨드

 

 

 

> ssh 프로세스 확인으로 연결된 ssh  

 

 

> 192.168.30.55 으로 ssh 연결 

 

> netstat -natp | grep 192.168.30.55 

-> ssh 연결 상태 확인

 

 ssh 연결은 kill -9 14867 로 프로세스를 죽이고 다시 netstat으로 55번 장비의 ssh 연결 상태를 확인합니다.

FIN_WAIT는 TCP 연결 상태 중 하나로, 연결이 종료되었지만 아직 상대방에게 확인이 오지 않은 상태를 의미합니다.

FIN_WAIT1은 TCP 연결 상태 중 하나로, 연결이 종료되었지만 아직 상대방에게 확인이 오지 않은 상태를 의미합니다.

보통 TCP 연결 종료 과정은 다음과 같습니다:

1.연결 종료 요청(Active Close): 한쪽 호스트가 연결을 종료하고자 하면 FIN(Finish) 세그먼트를 보냅니다.
2.연결 종료 응답(Passive Close): 상대방 호스트는 FIN 세그먼트를 수신하고, 종료 요청에 대한 확인 ACK(Acknowledgement) 세그먼트를 보냅니다.
3.연결 종료 확인: 종료 요청을 보낸 호스트는 ACK 세그먼트를 수신하고 FIN_WAIT1 상태로 진입합니다.
4.상대방 호스트가 연결 종료를 확인하면(CLOSE_WAIT 상태로 진입), FIN_WAIT1 상태의 호스트는 종료 확인을 받아 CLOSE 상태로 진입합니다.

따라서 FIN_WAIT1 상태는 연결이 종료되었지만 아직 상대방으로부터 확인이 오지 않은 상태를 나타냅니다.
이 상태에서 장기간 유지되는 것은 문제가 될 수 있으며, 보통 이러한 상태는 연결이 비정상적으로 종료되었거나 네트워크 문제가 있는 경우에 발생할 수 있습니다.

 

 

잠시 후 재확인해보면 55번 장비의 연결이 제대로 끊어진 것을 확인할 수 있습니다.

 

 

개인 장비에 ssh 연결을 합니다.

 

 

각각의 장비에서 서로 ssh 연결이 ESTABLISHED 된 것을 확인할 수 있습니다.

 

연결을 끊으면 TIME_WAIT 상태가 나오게되고 잠시 뒤 완전히 연결이 끊어지게 됩니다.

 

 

자주 사용하는 조합 

 

netstat -anp | grep -i listen : listen 중인 포트 찾을 때 

 

grep 사용 없이 -tnlp로만

 

80포트의 현재 동시 접속자 수 확인

n : ESTABLISHED 된 것만 확인

a : 대기중인 것들도 포함

 

 

계속 까먹네;