转: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标签代码

    2014年1月21日 11:51:19 php代码: $content = preg_replace('#<\s*[script].*>#', '', $a);//有些攻击可以在scrip ...

  2. poj1273

    赤裸裸的最大流 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstr ...

  3. Python多线程-2(线程共享全局变量)

    例子: from threading import Thread,Lock from time import sleep, ctime global_num = [] def func1(): glo ...

  4. Java基础89 MySQL存储过程

    1.MySQL存储过程   1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if  while)等等 的sql语句   1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...

  5. DNS的服务器和客户端的配置

    内网环境Linux发行版本均采用centos为主,centos下DNS服务端的搭建步骤如下: DNS master节点搭建步骤: 安装组件: yum install bind;      yum in ...

  6. mysql多表查询,group by并将结果导出来csv文件

    SQL手动操作得少,遇到一个CASE,就记录一个CASE吧. 今天遇到的是统计一个发布结果. 这个发布表中,有两个字段是外键,并且要求按其中一个外键,作group by操作, 最后,导出来excel能 ...

  7. PHP 利用redis 做统计缓存mysql的压力

    <?php header("Content-Type:text/html;charset=utf-8"); include 'lib/mysql.class.php'; $m ...

  8. 后缀自动机(SAM)速成手册!

    正好写这个博客和我的某个别的需求重合了...我就来讲一讲SAM啦qwq 后缀自动机,也就是SAM,是一种极其有用的处理字符串的数据结构,可以用于处理几乎任何有关于子串的问题,但以学起来异常困难著称(在 ...

  9. JS几种变量交换

    JS几种变量交换方式以及性能分析对比   原文 原文是自己博客上发布的JS几种变量交换方式以及性能分析对比 前言 “两个变量之间的值得交换”,这是一个经典的话题,现在也有了很多的成熟解决方案,本文主要 ...

  10. Orchard学习 02、orchard 路由

    Orchard对mvc路由重新做了包装,重写了asp.net的路由模块 一.路由模块类图 1.路由 Descriptor RouteDescriptor是对常规mvc路由的包装类,它的Route属性就 ...