Programming/Python
[LINUX x Python2 x Socket] TCP 3 way handshake 중 SYN Flag 의 접근을 출력하는 코드
Talking1258
2020. 1. 2. 00:28
SYN Flooding 공격을 탐지하기 위해 만들어진 소스코드 입니다.
목적: SYN 플러딩 공격으로 서버가 마비되는 것을 방지하기 위함
제작년도: 2019년
공개일: 2020년 1월 1일
소프트웨어: Python 2
필요 모듈: 기본 설치 모듈
리눅스 에서는 잘 동작합니다
import sys
import binascii
import socket
def rawnetworkdata():
rawsocket = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)
while True:
data = rawsocket.recvfrom(65535)
hexdata = binascii.hexlify(data[0])
if sys.getsizeof(data[0]) >= 77 and hexdata[18:20] == '06' and hexdata[66:68] == '02':
print("SYN INCOMING FROM " + str(int(hexdata[24:26], 16)) + "." + str(int(hexdata[26:28], 16)) + "." + str(int(hexdata[28:30], 16)) + "." + str(int(hexdata[30:32], 16)))
time.sleep(3)
rawnetworkdata()