先尝试了一下Libpnet6(http://pnet6.sourceforge.net/),这个库非常强大。真正用起来就知道。
我先测试了一下用它tests/raw.c发送ICMP报文,成功。在Linux下进行DDOS看来真得很简单。
而后,又编了一下TCP握手(模拟浏览器提交),经过三次TCP握手,通过HTTP协议发送一串报文进行GET或者POST操作,模拟浏览器提交。
从而深入理解了为什么浏览器访问网站要用TCP协议(不用UDP)。因为用TCP协议没有办法伪造假IP(要握手的),除非服务器的操作系统有漏洞,能破解TCP序列号.
也就是说想伪造一个IP(非代理)去GET/POST一个URL那几乎是不可能的。
这就是说,凡是“伪造”(应该说跳板,其实无法伪造)IP进行GET/POST的必然是“代理服务器”。
当然啦,除了IP不能伪造,所有的HttpRequestHeader都是可以伪造的。
看。Accept, Referer,Accept-Language,Accept-Encoding,User-Agent,Connection都是可以伪造的。
所以检测这些变量,就是扯淡,只能防君子不能防小人。
深入理解TCP/IP协议,对于信息安全攻防大有裨益。
回复该留言