http协议仅仅是一个应用层协议,它使用了传输层tcp协议的功能而已,因此http协议在tcp的语义成立的情形下可以自由发挥,正是由于这种自由发挥导致了监控http成为了可能,本质原因在于,无疑,http还是要听tcp的。设客户端A,http目的地址为W,监控主机为B,序列如下:
A->W:发送正常的http请求
B:由于B是A和W之间的旁路主机,因此B能得到此次访问
B->A:B快速向A发送一个事先准备好的数据包,该数据包的tcp的fin位为1,http的内容就是要求A重新连接B,然后告知一些敏感的信息,比如拨号登录名字等,B的数据包构造是网络层的,B发往A的数据包中的ip地址设置为W的ip地址,以此欺骗A
A->W:由于A收到了来自“W”(假W)的fin包,那么A会发送fin给W,由于B发出的http的内容(携带fin的数据包可以有数据)带有B的要求敏感信息的信息
A->B:A和W已经断开了连接,A主动连接B,将敏感信息发送给B
B:B已经得到A的信息,然后B发送一个http重定向消息,重定向到W
A->W:A重新连接W,访问正常进行
注解:B要以最快的速度发送欺骗数据包给A,以防W发回正常的回应数据包
既然可以针对http协议进行监控,http协议之所以可以被监控完全是因为http本身的性质(重定向之类),那么完全可以利用其它协议的性质而监控之,这个世界上,没有漏洞的设计几乎没有。
针对http协议的监控
原创
©著作权归作者所有:来自51CTO博客作者dog250的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Zabbix 监控网站的访问量
根据zabbix的简单更改的功能获取5分钟内的增量。
zabbix PV量 UV量 网站访问量 模板制作 -
redis访问量排行 redis记录访问量
现在想要统计某一网站的累积访问用户人数和日均活跃人数(连续多少天访问该网站的人数),可以通过Redis来实现类似功能。 我使用的数据结构是Redis中的bitmap,其在大数据量下的空间占用量很小。大概思路就是
redis访问量排行 Redis Jedis redis java