本帖最后由 sdhd_耿建峰 于 2020-11-17 21:32 编辑
一、故障现象
健康XX公共号无法获取医院预约排班信息及预约功能,据客户描述之前能正常使用,但是预约系统升级后无法使用,预约服务在内网用测试工具可以正常使用。 二、排查过程 2.1 资料收集 跟客户索取故障问题截图
客户内网正常获取正常截图
2.2故障复盘
自己测试调试工具获取参数过程,便于联想分析故障
2.3检查配置
本案例主要检查网关设备的地址转换是否有问题,确认配置
2.4故障分析
既然内网通过调试工具获取服务器的预约信息正常,那么我们可以通过wireshark抓包,进行分析中间的传输过程及用到的端口有没有问题。 抓取正常内网取数据数据包
抓取通过互联网无法获取数据的数据包
通过以上数据包,大家有没有发现是哪里的问题呢?
大家仔细自己动动脑筋思考一下???????:卖萌:
:加油:
:么么哒:
:好棒:
:耍酷:
通过分析发现数据包发现原有服务器对外提供的服务为TCP 80端口,经过防火墙映射后映射到互联网的TCP 4431端口,提交参数后正常还是通过4431端口通信,但是服务器返回数据却没有通过4431返回数据,而是通过80端口返回数据,导致客户端接收不到应该4431传输端口的数据,从而丢弃数据包。
那我们怎么办呢?我们可以尝试把内网服务器的端口与外网映射的端口调成一致,测试一下能否解决问题,通过IIS增加4435端口作为服务器对外提供业务端口,同时保留原有的80端口,因为客户内网的客户端都是通过80端口来访问,保留内网客户端也能访问服务器,获取预约信息。
增加4435端口
网关设备增加端口映射TCP4435,使内外网服务器映射都为TCP 4435
我们再次从互联网测试业务,发现预约信息获取正常,XX健康公众号也可以正常获取排班信息
至此,故障排查完毕,通过使用Wireshark流量抓取工具,快速分析客户端与服务器之间的数据流量,同时我们也要对TCP协议基本的转发原理有所了解,才能快速的判断此类问题,希望再以后工作过程中给大家提供好的思路,快速解决问题。
|