본문 바로가기
Hack/Network

[Python Scapy] 3Way Handshake 시 RST를 자동으로 보내는 문제 해결

by Becoming a Hacker 2022. 8. 23.
반응형

3way Handshake를 위해 Python의 Scapy Module로 SYN을 보내게 되면 서버로부터 SYN+ACK 응답을 받을 수 있는데 이때 OS에서 자동으로 RST를 보내 연결 작업을 끊어버립니다.

 

이에 대한 명확한 이유를 찾을 수는 없었는데, OS에서 예상하지 못한 3Way Handshake가 발생하면 자동으로 RST를 보내 연결을 끊어버리는 건 아닐까?라는 생각이 들었습니다.

 

이에 대한 우회 방안으로는 iptables을 이용하여 RST가 전송되지 못하도록 막는 방법이 있는 것 같습니다.

(스마트하지 못한 방법.. ㅠㅠ)

$ sudo iptables -A OUTPUT -p tcp --tcp-flags RST RST -s IP -j DROP

 

여담이지만, Python의 Scapy보다 C++의 Netfilter를 사용하는게 훨씬 편하고 좋은 방법인 것 같습니다.

 

애초에 Scapy는 Packet을 Queue에 담아서 Handling 하는 것도 아니고 Sniffing 후 받은 패킷을 생성 및 변조해서 전송해주는 역할이다보니 Sniffing은 몰라도 Spoofing에는 잘 안맞는 도구라는 생각이 드네요... ㅎㅎ

댓글