同学,一起来“抓包”吗?

[测试技术]  Rain原创

1. 为什么要抓包(why)?

在我们做开发与测试的过程中,总免不了碰到网络问题。特别是重后台的产品,这个时候往往我们的处理方法是抓个网络包,看看到底应用发送和接受了些什么鬼……。

比如在我们封面新闻APP上点击某篇文章查看详情时,APP通过网络向后台服务器发起查看文章详情的请求,服务器收到请求后,将详情页的数据返回给APP,此时我们才能在APP上完整的看到某新闻的详情页新闻内容。这时我们就可以通过抓包来观察客户端(APP)和服务端的交互和数据传输过程。再比如我们在APP上看新闻时某个频道时新闻列表显示不出来了,肿么办……我们不知道服务器挂掉了还是网络异常,还是频道没有发布新闻,这时我们可以通过抓包来分析原因。

2. 抓包的原理是什么(what)?

抓包一般通过网络代理来截取网络封包分析,使得所有的网络请求都通过代理来完成。

普通http请求过程:

加入代理的请求与响应过程:

3. 用什么工具抓包(how)?

常用的抓包工具有Charles,Fiddler等,通过将自己设置成代理服务器,使得所有的网络请求都通过它来完成,从而实现网络封包的截取和分析。功能主要包括:

-截取HTTP和HTTPS网络封包

-支持重发网络请求,方便后端调试

-支持修改网络请求参数

-支持网络请求的截取和动态修改返回数据

总之,通过抓包可以让客户端和服务的交互透明化,方便我们调试和问题定位。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 168,086评论 26 707
  • 文‖文艺Vivian 还记得2012年,曾经有个人对我说:“如果你来了广州,就一定要去小蛮腰。”我说小蛮腰是什么,...
    绯闻女孩Vivian阅读 820评论 3 1
  • 宝宝现在四岁两个月,英语启蒙从今年四月份正式开始,到现在已经四个月了,记录下宝宝的学习进度、取得的学习成果,总结一...
    涵妈说育儿阅读 1,307评论 5 11
  • 有一个 这样的港湾 温柔的海水 喜欢亲吻 月牙状的海滩 一支 孤独的白帆 在不远处 静静的搁浅 一支 未开的遮阳伞...
    燚随风阅读 376评论 0 1
  • (一) 李四已经不满足于打死物了。 他拿公园里的树枝和草茎练习了十几天了。现在已经能做到在十几米之外,让草茎应声而...
    93322f9fc77f阅读 874评论 16 50