Attacks on TCP/IP Protocols (Task3) SYN Flooding Attack
Posted 我有一颗五角星
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Attacks on TCP/IP Protocols (Task3) SYN Flooding Attack相关的知识,希望对你有一定的参考价值。
Task3: SYN Flooding Attack
①SYN泛洪攻击工作原理
SYN泛洪是一种DoS攻击的形式,攻击者向受害者的TCP端口发送许多SYN请求,但是这些攻击者并无意完成3次握手的过程,攻击者使用虚假的IP地址或不继续该过程。通过这种攻击,攻击者可以淹没受害者的这些被用于 半开放式连接 的队列,即,连接已经完成SYN,SYN-ACK,但没有完成最后的ACK。当这个队列已满时,受害者不能再完成任何连接。下图(Figure 1)说明了攻击。
注:实验过程中遇到的问题或者必要知识点的储备如下
(1)必要的命令 检查系统队列大小设置:
# sysctl -q net.ipv4.tcp_max_syn_backlog
检查队列的使用情况:
# netstat -na | grep tcp
禁止/启用SYN Cookie:
# sysctl -w net.ipv4.tcp_syncookies=0
# sysctl -w net.ipv4.tcp_syncookies=1
(2)
SYN Cookie工作原理
SYN Cookie是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。其原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。在收到TCP ACK包时,TCP服务器再根据那个cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。
(3)如何构造SYN报文
使用netwox 76号指令。
netwox 76 --dst-ip 192.168.175.140 --dst-port 80
netwox 76 --dst-ip 192.168.175.140 --dst-port 23
上面两条指令,攻击者使用随机的虚假IP分别向victim(192.168.175.140)的80端口和23端口发送大量SYN请求。
②过程演示
attackers :Machine1(192.168.175.139)
victim :Machine2(192.168.175.140)
observer :Machine3(192.168.175.141)
(1)攻击前 victim 用于 半开放式连接 队列的使用情况
(3)attack向victim的23端口发送大量SYN请求。(Telnet服务默认端口号:23)
(4)攻击后 victim 用于 半开放式连接 队列的使用情况
(5)observer使用telnet命令请求远程登录victim,登陆失败
(6)在victim开启SYN Cookie的情况下,SYN Flood攻击无效。
具体原因,在前面的SYN Cookie工作原理可解释。
以上是关于Attacks on TCP/IP Protocols (Task3) SYN Flooding Attack的主要内容,如果未能解决你的问题,请参考以下文章
Attacks on TCP/IP Protocols (Task3) SYN Flooding Attack
Can‘t start server: Bind on TCP/IP port. Got error...n denied
Can‘t start server: Bind on TCP/IP port. Got error...n denied
mysqld启动“ Can't start server: Bind on TCP/IP port: Address already in use
修改mysql端口后重启mysql报错:Can't start server: Bind on TCP/IP port. Got error...n denied