[测试技术] Rain原创
1. 为什么要抓包(why)?
在我们做开发与测试的过程中,总免不了碰到网络问题。特别是重后台的产品,这个时候往往我们的处理方法是抓个网络包,看看到底应用发送和接受了些什么鬼……。
比如在我们封面新闻APP上点击某篇文章查看详情时,APP通过网络向后台服务器发起查看文章详情的请求,服务器收到请求后,将详情页的数据返回给APP,此时我们才能在APP上完整的看到某新闻的详情页新闻内容。这时我们就可以通过抓包来观察客户端(APP)和服务端的交互和数据传输过程。再比如我们在APP上看新闻时某个频道时新闻列表显示不出来了,肿么办……我们不知道服务器挂掉了还是网络异常,还是频道没有发布新闻,这时我们可以通过抓包来分析原因。
2. 抓包的原理是什么(what)?
抓包一般通过网络代理来截取网络封包分析,使得所有的网络请求都通过代理来完成。
普通http请求过程:
加入代理的请求与响应过程:
3. 用什么工具抓包(how)?
常用的抓包工具有Charles,Fiddler等,通过将自己设置成代理服务器,使得所有的网络请求都通过它来完成,从而实现网络封包的截取和分析。功能主要包括:
-截取HTTP和HTTPS网络封包
-支持重发网络请求,方便后端调试
-支持修改网络请求参数
-支持网络请求的截取和动态修改返回数据
总之,通过抓包可以让客户端和服务的交互透明化,方便我们调试和问题定位。
网友评论