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 상태로 바뀐다.
'Hacking > Network' 카테고리의 다른 글
[22일차] UDP 포트 스캐닝 (0) | 2017.10.26 |
---|---|
[21일차] ACK 패킷까지 보내서 ESTABLISHED 상태 만들기 (0) | 2017.10.25 |
[19일차] TCP 소켓 통신과정 분석 (0) | 2017.10.24 |
[18일차] TCP 헤더 분석 (0) | 2017.10.23 |
[17일차] UDP 체크섬 계산법과 패킷 보내기 (0) | 2017.10.19 |
WRITTEN BY
,