本帖最后由 KYLE_K 于 2020-8-4 12:57 编辑
“当前已有100+用户参与分享,共计发放奖励50000+“
今天一早某个客户在Q上给我发消息,聊天记录如下: 客户:X(我的姓)工,你们昨天过来接手我们AC售后维护的工程师,技术不行啊! 我:X(客户的姓)经理,技术不行?应该不至于吧,我们公司的负责AC技术支持的同事,都通过某公司相关技术认证的,而且在操作和排错方面都是有经验的,具体是有什么问题吗? 客户:你们同事的操作很熟,但理论基础不行,我问他很简单的问题,AC的拒绝策略是如何拦截某个网站访问行为的?他只是简单告诉我是通过五元组和数据内容特征做拦截,并没有解释清楚AC到底是把数据包丢掉,还是通过发送RST包给客户端来实现拦截的。 我:实在抱歉,我会跟公司领导反馈相关情况,让公司加紧对同事基础知识的提升,现在方便的话,我跟您简单解释一下? 客户:那倒不用,我记得你也跟我解释过,相关细节我还有印象,我也是跟你熟,才向你吐槽一下,希望你们能改进。
基于以上的情况,我觉得可以从抓包分析的角度,解释一下相关的问题,也希望这个帖子可以给大家在遇到类似问题时,提供参考。
样本数据包说明 在AC上做了一条拒绝访问新闻门户网站的策略,客户端访问163.com、qq.com等网站会访问失败,并且会弹出相关的拦截提示页面,这个数据包就抓取了这些访问过程。
拒绝动作的数据包展示 当客户访问163.com,AC会给客户端发一个网页重定向(代码302)的数据包,让客户访问1.1.1.3(AC的内置页面推送地址)这个地址,详情见下图:
分析总结 AC拦截某个网站的访问行为,既不是通过丢掉数据包,也不是通过给客户端重置连接(发送RTS包)来实现的,而是通过网络重定向,将访问行为重定向的AC上,来实现拦截网页访问的效果
最后,附上相关的样本数据包,给大家用于学习和交流 |