C.2 使用WinPcap实现SYN洪泛攻击的方法
使用WinPcap可以很容易地实现SYN洪泛攻击。我们可以先伪造SYN数据包,接着通过WinPcap发送伪造的数据包。图C-2和图C-3所示为TCP协议的一个SYN数据包的具体内容,若使用WireShark,则可看到更详细的信息。
图 C-2 SYN数据包
图 C-3 SYN数据包(十六进制的数据格式)
若想知道www.XXX.com.XX的IP地址,一个最简单的方法,就是在你的机器上运行WireShark,开始捕获数据包。然后打开浏览器,连接该网站,接着分析接收到得数据包,就很容易知道这些信息了。
从图C-4所示可见,首先通过发起攻击的主机向DNS服务器发送一个DNS请求,接着DNS服务器返回网站(www.XXX.com.XX)的IP地址(74.125.XXX.94)。
图 C-4 连接一个网站的数据包
可以从第一个数据包中查看路由器的MAC地址(00:23:cd:23:fc:c2),如图C-5所示。
图 C-5 路由器的MAC地址
可以从第三个数据包中获得网站的端口为80,如图C-6所示。
图 C-6 网站的端口
到此,就可以伪造TCP的SYN报文了,通过大量发送这个报文就可以实现SYN洪泛攻击的效果。在伪造数据包的时候,要保证有一些字段的信息是真实的,比如路由器的MAC地址、目标网站的IP地址与端口号、协议类型等,否则数据包可能到不了目标机。为了进行IP欺骗从而隐藏自己,也为了躲避服务器诸如SYN Cookie防御机制的检查,还需要伪造IP源地址。