转:http://blog.csdn.net/lixing333/article/details/42776187

之前写过一篇通过Wireshark进行抓包,分析网络连接的文章《通过WireShark抓取iOS联网数据实例分析》:http://blog.csdn.net/lixing333/article/details/7782539

最近一些工作需要抓包,在我的Mac上安装了Wireshark之后,发现运行不了。探究之,发现Wireshark的界面用的是X Window,所以需要在X11环境下运行。安装X11之后,仍然闪退,探究后无果,遂转而寻找其他软件。试了几款抓包软件后,发现Charles这款软件最方便,甚至比Wireshark这个老牌的抓包分析工具还要好用的多。

Wireshark虽然功能很强大,能抓各个包,进行各种类型过滤,但这也导致了它的学习成本很高,不容易上手;而且,Wireshark默认是监控所有设备,包括电脑上的各种软件、浏览器,以及连接到电脑热点的设备上的网络连接,比较杂乱,想找到我们需要的网络连接比较麻烦。比如下面这张图,你能读懂吗?反正我是不懂。得需要过滤等等的操作,反正麻烦的很。

Charles就没有这样的麻烦。Charles是一个非常轻量的软件,它不是监控网卡上所有的网络连接,而只监控特定端口(默认是8888端口)的网络连接,这样,其它无关的数据就首先被屏蔽了。截图如下:

如何使用:前期准备仍然如《通过WireShark抓取iOS联网数据实例分析》:http://blog.csdn.net/lixing333/article/details/7782539 这篇文章里所说,网线、热点分享必须有。Charles监控的是8888端口的数据,所以我们需要在手机设备上设置8888端口为代理。在电脑终端用"ifconfig"命令查看自己电脑网卡的局域网IP地址,注意是有线网卡en0的IP地址,而不是无线网卡en1。如下图:

以iPhone为例,我们连接到了电脑之后,打开“设置”-“网络”,编辑已经连接上的Wifi:

       

这样设置好之后,我们打开浏览器,打开百度首页,这时Charles会提示:有一台新设备请求连接,要允许吗?选择Allow。

打开百度之后,Charles界面上会出现一个一个的网址,而且新的网络请求还会被标记出来,非常方便。Request、Response都很清晰,方便查看:

好了,以后可以摆脱Wireshark这个庞大而又难用的东西了,妈妈再也不用担心我不会抓包啦!

比Wireshark更轻量、更方便的抓包软件:Charles的更多相关文章

  1. Riot - 比 Facebook React 更轻量的 UI 库

    Riot 是一个类似 Facebook React 的用户界面库,只有3.5KB,非常轻量.支持IE8+浏览器的自定义标签,虚拟 DOM,语法简洁.Riot 给前端开发人员提供了除 React 和 P ...

  2. 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据

    http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...

  3. api-hook,更轻量的接口测试工具

    前言 在网站的开发过程中,接口联调和测试是至关重要的一环,其直接影响产品的核心价值,而目前也有许多技术方案和工具加持,让我们的开发测试工作更加便捷.接口作为数据传输的重要载体,数据格式和内容具有多样性 ...

  4. Crawlab Lite 正式发布,更轻量的爬虫管理平台

    Crawlab 是一款基于 Golang 的分布式爬虫管理平台,产品发布已经一年有余,经过开发团队的不断打磨,即将迭代到 v0.5 版本.在这期间我们为 Crawlab 加入了大量社区用户共同期望的功 ...

  5. WireShark抓包软件的使用

    在大学的时候学习的计算机网络的具体的知识,也使用过wireshark去抓取一些网络的封包用来分析,但是都没能系统的写一篇博客,今天总结一下吧. wireshark介绍 wireshark的官方下载网站 ...

  6. Wireshark网络分析实战笔记(一)抓包过滤器

    抓包过滤器和显示过滤器的差别: 1.抓包过滤器配置在抓包之前,wireshark仅仅抓取抓包过滤器过滤的数据 2.显示过滤器配置在抓包后,wireshark已经抓取全部的数据包,显示过滤器让wires ...

  7. 更轻量的 View Controllers

    iew controllers 通常是 iOS 项目中最大的文件,并且它们包含了许多不必要的代码.所以 View controllers 中的代码几乎总是复用率最低的.我们将会看到给 view con ...

  8. 不用webservice wcf提供服务,用Rest更轻量

    从2005年开始就开始有基于服务的开发方式,到08年时候 微软和sun等公司都已经提供了很多基于服务的开发框架 . 微软 .net 平台的基于服务的框架主要有:.NET Remoting.webser ...

  9. kubernets轻量 contain log 日志收集技巧

    首先这里要收集的日志是容器的日志,而不是集群状态的日志 要完成的三个点,收集,监控,报警,收集是基础,监控和报警可以基于收集的日志来作,这篇主要实现收集 不想看字的可以直接看代码,一共没几行,尽量用调 ...

随机推荐

  1. 常用Javascript集锦【不定期更新】

    怎样用javascript删除某个HEML标签 document.getElementById(id).parentNode.removeChild(document.getElementById(i ...

  2. Ibatis.Net 表连接查询学习(五)

    IBatis.Net之多表查询 一.定制实际对应类的方式 首先配置多表的测试数据库,在之前Person表中增加一列"CountryId",新建一张Country表,两张表关系如下: ...

  3. 【Unity_UWP】Unity 工程发布win10 UWP 时的本地文件读取 (上篇)

    Universal Windows Platform(UWP)是微软Windows10专用的通用应用平台,其目的在于在统一操作系统下控制所有智能电子设备. 自从Unity 5.2之后,配合VS 201 ...

  4. Visual Studio 2013 发布正式版及使用感受

    (注意:文末我添加了一个小节,用来更新最新的一些使用感受.) 昨天晚上,微软在正式发布Windows 8.1的同时,也同时发布了Visual Studio 2013产品系列的正式版. 版本情况 Vis ...

  5. homestead实现外部局域网络其他主机的访问

    转载自:https://blog.csdn.net/u013659696/article/details/78455362 homestead 2.0 MAC环境 修改Homestead目录下的Vag ...

  6. Web安全之跨站脚本攻击(XSS)

    XSS 简介 跨站脚本攻击,英文全称是 Cross Site Script,本来缩写是CSS,但是为了和层叠样式表(Cascading Style Sheet,CSS)有所区别,所以在安全领域叫做&q ...

  7. Spring-Session实现Session共享实现原理以及源码解析

    知其然,还要知其所以然 ! 本篇介绍Spring-Session的整个实现的原理.以及对核心的源码进行简单的介绍! 实现原理介绍 实现原理这里简单说明描述: 就是当Web服务器接收到http请求后,当 ...

  8. iOS技术篇:sizeToFit 和 sizeThatFits 区别

    sizeToFit:会计算出最优的 size 而且会改变自己的size UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , , ...

  9. @repository的含义,并且有时候却不用写,为什么?

    //最后发现是这样的:@repository跟@Service,@Compent,@Controller这4种注解是没什么本质区别,都是声明作用,取不同的名字只是为了更好区分各自的功能.下图更多的作用 ...

  10. Eclipse从SVN检出maven项目后的一些配置

    Eclipse从SVN检出maven项目后,会发现它只是一个普通的java project,如图: 这里我们需要把它转成maven-webapp,并调整相关属性,设置运行环境,关联相关jar目录等. ...