一、 问题描述 客户反馈atrust中,通过隧道资源发布了某内部app资源,但是不能正常通过安卓手机去访问该资源,且零信任中访问日志也没有相关记录。
二、告警信息 无告警内容
三、处理过程 1、 该客户的app资源使用域名进行接入,确认可以通过下发的私有dns解析到服务器ip并访问。同时也有访问日志记录。
2、 考虑可能客户给出的app需要访问的域名不完全,因此从app访问资源的部分流量没有匹配进隧道。 3、 使用reqable手机软件进行抓包观察该app正常时会和哪些域名进行通信,并将域名添加至atrust的资源中进行发布。 4、 发布后再使用该app,即可正常使用,在atrust的访问日志中也能正常观察到日志。 四、根因 1、客户app的访问域名给的不完整,导致相关流量不能正常进入隧道。 五、解决方案 1、 通过reqable查看app正常访问时候需要的域名。 2、 安装软件后,选择vpn模式 3、 如果提示未安装根证书,可以点击【取消】,该操作不影响抓包。 4、 点击右下角的小飞机按钮,即可开始抓包。 5、 完整访问一次app之后(本文中以企业微信作为例子),停止抓包,并点击右上角的【按域名分组】 6、 按照应用图标,将不是目标应用的记录向右划掉删除。 7、 只留下目标app的访问记录,点击右上角的保存
8、 然后在手机目录中找到该har文件,以小米手机 hyper OS 1.0.41系统为例,保存后文件在如下目录,也可以善用第三方文件管理程序进行搜索 9、 找到该har文件后在windows浏览器的f12调试界面载入,以chrome浏览器为例,需要选择为网络子标签 10、将域名内容复制到excel表格中进行进一步处理 11、通过表格替换方式去除掉http://和https:// ,以及URI(隧道资源不关注是否为https,所以去掉也没关系) 去除https 去除http 去除uri 去重 12、最后把需要匹配的IP或者域名加入到对应的隧道资源中进行发布,最后通过手机端app测试该资源可以正常访问。(虽然本案例中使用企业微信作为例子,企业微信访问的host也都是公网ip,实际项目中可以类比为app实际需要访问的内网服务器ip和域名,主要是提供了安卓app访问难以确定访问目标ip的一种思路) 六、建议与总结 1、在客户atrust运维工程师难以完整获取到访问app或者小程序的host时候,可以尝试使用这个办法获取。 |