我有一段python代码如下
s = socket.socket()
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((IP, PORT))
s.listen(256)
while True:
revdata = ""
try:
c, addr = s.accept()
t = threading.Thread(target=handletcp, args=(c,addr))
t.start()
except socket.error as exc:
log("Error: " + str(exc))
s.close()
目前,我的服务器处理 64 个 IP,通常会受到 SYN 洪水攻击。python 服务通常最多有 ~200 个 TCP 连接。我想在 python 代码中检测 SYN 洪水攻击并暂停服务。有什么想法可以有效地做到这一点吗?
提前致谢!
答案1
SYN 洪水攻击在正常 TCP 套接字级别上是不可见的。accept
仅当 TCP 握手完成后才会返回 - 而 SYN 洪水并非如此。