본문 바로가기

카테고리 없음

SYN Flooding 공격 구현하기-SYN 패킷 만들고 전송

반응형

이번에 만들 프로그램은 syn 패킷을 보내는 프로그램을 만들 계획이다.

syn 패킷은 TCP 연결 과정에서 사용되는 패킷으로 접속을 요청할 때 client 쪽에서 server로 보내는 패킷이다.

TCP 연결 방식인 3way handshake은 아래의 과정과 같다.

요약하자면 SYN 패킷으로 접속 요청->서버는 SYN+ACK 연결 허가를 보냄->ACK를 서버에게 보내서 서버와 연결 수립(established)

그럼 코드를 작성해 보자 기능은 대상 IP 입력->syn 패킷 생성->전송 기능을 사용할 계획이다.

t_IP라는 변수에 사용자가 입력한 IP 주소를 저장하고 새로운 변수 syn은 scapy 모듈의 IP를 사용하여 발신지(sourceIP)를 설정하고 목적지(destinationIP) IP 주소는 입력받은 t_IP로 설정한다. TCP 프로토콜을 사용한다고 설정하고 발신지 포트는 80 목적지 포트는 0으로 설정.

scapy 모듈의 send 기능을 사용하여 syn 변수에 있는 코드를 한번 실행한다.

라는 의미의 코드이다.

그럼 해당 파일을 실행해 보자

실행하면 타깃 IP를 입력할 수 있는 입력대기칸이 나온다. 0.0.0.0을 입력하자(루프백 주소)

그렇게 실행하면 패킷 1개를 보냈다는 말을 끝으로 프로그램이 종료된다.

당연히 8.8.8.8(구글 dns 주소)을 입력해도 같은 결과가 나온다.

wireshark에서 캡처한 패킷 파일을 보면 tcp 프로토콜로 0.0.0.0주소에 보낸 syn 패킷이 발견된다.

다음에는 변수명을 좀 더 보기 좋은 이름으로 바꾸고 아래의 추가 기능을 적용시켜보겠다.

핸드폰 카메라의 고장으로 화면이 흔들립니다.

https://blog.naver.com/mink0139

 

밍굴밍굴 밍구리 노래를한다. : 네이버 블로그

시절인연(時節因緣)

blog.naver.com

제 블로그입니다. 다른 파이썬,C 프로그래밍,일상글도 많으니 확인해주시면 감사하겠습니다~

반응형