winpcap基础上实现syn flood(内网),几个关键问题的实现。
1、程序实现中的源IP问题
伪造的syn包需要填写源IP和源MAC,如果填本机,操作系统收到ACK包后,会返回一个RST包,攻击无法实现。
所以填写一个不存在的源IP和源MAC,为了使被攻击主机发送ACK包,所以,在syn flood的同时,向目的主机大量
发送ARP欺骗包,告诉他,那个伪造的IP是存在的,MAC地址是多少。
2、winpcap中用到的几个函数
(1)pcap_findalldevs_ex(),获取设备列表。
(2)pcap_open(),打开某设备
(3)pcap_sendpacket(),发送数据包。
(4)SendARP(),发送ARP包,并且得到某IP的MAC地址。
3、MFC界面
界面使用MFC编写,其中用到多线程。
MFC中使用winpcap时,要包含一些头文件,编译时出问题。
就是这个:
fatal error C1189: #error : WINDOWS.H already included
解决方法:
http://www.cnblogs.com/yedaoq/archive/2010/08/26/1809616.html
4、SendARP
使用SendARP()时,编译后可能出错。
unresolved external symbol _SendARP@16
解决方法:
http://topic.csdn.net/t/20021113/13/1172675.html
5、防范问题
如果攻击来自同一IP,可以使用冰盾ddos防火墙。通过他限制某一IP的最大连接数为50个。