SYN 패킷을 보내보자


192.168.4.117이 보낸 패킷을 보니 flag가 ACK/RST(응답/연결초기화)가 왔다.

SYN 패킷의 dstport를 '33333'으로 바꾸고 다시 보내봤다.




이번에는 192.168.4.117의 flag는 ACK/SYN(응답/동기화연결)가 왔다.


즉, 192.168.4.117의 22222번 포트는 닫혀있고 33333번 포트는 열려있었던거다.



 

 ACK/SYN을 받은 후에 ACK를 보내야 동기화연결이 성공하지만 SYN 패킷만 만들어서 보냈으므로

 클라이언트가 자동으로 RST 패킷을 보내 연결을 초기화한다.


 만약 RST 패킷을 자동으로 나가지않게 하면 어떻게 될까

 iptables에 OUTPUT 룰을 추가한다.

  # iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP

 

 다시 SYN 패킷을 보내보면 


아무런 응답이 오지 않으면 서버측은 패킷이 도착하지 않았다고 생각해서

ACK/SYN 패킷을 5번 정도 더 보낸다.


 

이때 서버 측의 상태를 보면 LISTEN 상태가 아닌 SYN_RECV 상태인 것을 확인할 수 있다.

시간이 지나면 다시 LISTEN 상태로 바뀐다. 




WRITTEN BY
Bugday

,