http协议详解2

 出现输入错误,则请求不会成功。
� 报头域不分大小写。
� 更深一步了解HTTP 协议,可以查看RFC2616,在http://www.letf.org/rfc 上找到该文
件。
� 开发后台程序必须掌握http 协议
六、HTTP协议相关技术补充
1、基础
高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议
NNTP HTTP 协议等
中介由三种:代理(Proxy)、网关(Gateway)和通道(Tunnel),一个代理根据URI 的绝对格式来
接受请求,重写全部或部分消息,通过URI 的标识把已格式化过的请求发送到服务器。网关是一个接收
代理,作为一些其它服务器的上层,并且如果必须的话,可以把请求翻译给下层的服务器协议。一个通
道作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如:防火墙等)或者是中介不能
识别消息的内容时,通道经常被使用。
代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机,为其它客户机建立

请求。请求是通过可能的翻译在内部或经过传递到其它的服务器中。一个代理在发送请求信息之前,必
须解释并且如果可能重写它。代理经常作为通过防火墙的客户机端的门户,代理还可以作为一个帮助应用
来通过协议处理没有被用户代理完成的请求。
网关(Gateway):一个作为其它服务器中间媒介的服务器。与代理不同的是,网关接受请求就好象
对被请求的资源来说它就是源服务器;发出请求的客户机并没有意识到它在同网关打交道。
网关经常作为通过防火墙的服务器端的门户,网关还可以作为一个协议翻译器以便存取那些存储在非
HTTP 系统中的资源。
通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道便被认为不属于HTTP 通讯,尽
管通道可能是被一个HTTP 请求初始化的。当被中继的连接两端关闭时,通道便消失。当一个门户(Portal)
必须存在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。
2、协议分析的优势HTTP分析器检测网络攻击
以模块化的方式对高层协议进行分析处理,将是未来入侵检测的方向。
HTTP 及其代理的常用端口803128 8080 network 部分用port 标签进行了规定
3HTTP协议 Content Lenth限制漏洞导致拒绝服务攻击
使用POST 方法时, 可以设置ContentLenth 来定义需要传送的数据长度, 例如
ContentLenth:999999999,在传送完成前,内存不会释放,攻击者可以利用这个缺陷,连续向WEB
服务器发送垃圾数据直至WEB 服务器内存耗尽。这种攻击方法基本不会留下痕迹。
http://www.cnpaf.net/Class/HTTP/0532918532667330.html
4、利用 HTTP协议的特性进行拒绝服务攻击的一些构思
服务器端忙于处理攻击者伪造的TCP 连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比
率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了
SYNFlood 攻击(SYN 洪水攻击)。
SmurfTearDrop 等是利用ICMP 报文来Flood IP 碎片攻击的。本文用正常连接的方法
来产生拒绝服务攻击。
19 端口在早期已经有人用来做Chargen 攻击了,即Chargen_Denial_of_Service,但是!他
们用的方法是在两台Chargen 服务器之间产生UDP 连接,让服务器处理过多信息而DOWN 掉,那么,干
掉一台WEB 服务器的条件就必须有个:1.Chargen 服务2.HTTP 服务
方法:攻击者伪造源IP Chargen 发送连接请求(Connect),Chargen 接收到连接后就会
返回每秒72 字节的字符流(实际上根据网络实际情况,这个速度更快)给服务器。
5Http指纹识别技术
Http 指纹识别的原理大致上也是相同的:记录不同服务器对Http 协议执行中的微小差别进行识
.Http 指纹识别比TCP/IP 堆栈指纹识别复杂许多,理由是定制Http 服务器的配置文件、增加插件或
组件使得更改Http 的响应信息变的很容易,这样使得识别变的困难;然而定制TCP/IP 堆栈的行为需要
对核心层进行修改,所以就容易识别.

要让服务器返回不同的Banner 信息的设置是很简单的,Apache 这样的开放源代码的Http 服务
,用户可以在源代码里修改Banner 信息,然后重起Http 服务就生效了;对于没有公开源代码的Http
服务器比如微软的IIS 或者是Netscape,可以在存放Banner 信息的Dll 文件中修改,相关的文章有
讨论的,这里不再赘述,当然这样的修改的效果还是不错的.另外一种模糊Banner 信息的方法是使用插
件。
常用测试请求:
1HEAD/Http/1.0 发送基本的Http 请求
2DELETE/Http/1.0 发送那些不被允许的请求,比如Delete 请求
3GET/Http/3.0 发送一个非法版本的Http 协议请求
4GET/JUNK/1.0 发送一个不正确规格的Http 协议请求
Http 指纹识别工具Httprint,它通过运用统计学原理,组合模糊的逻辑学技术,能很有效的确定
Http 服务器的类型.它可以被用来收集和分析不同Http 服务器产生的签名。
6、其他
为了提高用户使用浏览器时的性能,现代浏览器还支持并发的访问方式,浏览一个网页时同时建立多
个连接,以迅速获得一个网页上的多个图标,这样能更快速完成整个网页的传输。
HTTP1.1 中提供了这种持续连接的方式,而下一代HTTP 协议:HTTP-NG 更增加了有关会话控制、
丰富的内容协商等方式的支持,来提供
更高效率的连接。


你可能感兴趣的:(http协议详解2)