网络抓包工具_网络抓包工具下载 - CSDN
精华内容
参与话题
  • 点击上方“民工哥技术之路”选择“星标”每天10点为你分享不一样的干货一、概述无论是开发还是测试,在工作中经常会遇到需要抓包的时候。本篇博客主要介绍如何在各个平台下,高效的抓包。目前的抓包软件总体可以分为...

    点击上方民工哥技术之路选择“星标”

    每天10点为你分享不一样的干货

    一、概述

    无论是开发还是测试,在工作中经常会遇到需要抓包的时候。本篇博客主要介绍如何在各个平台下,高效的抓包。目前的抓包软件总体可以分为两类,一种是设置代理抓取http包,比如Charles、mitmproxy这些软件。

    另一种是直接抓取经过网卡的所有协议包,其中最出名就是大名鼎鼎的wireshark以及linux自带的抓包软件tcpdump。下面重点介绍一下这四个抓包工具的特点以及使用。

    二、Wireshark

    wireshark想必大多数程序员都不会陌生。wireshark在各个平台都可以安装使用,它可以抓取经过指定网卡的所有协议。wireshark虽然很强大,但是对初学者其实不是很友好。

    这也正是由于它太强大,它可以抓取所有包,所以初学者在使用时面对茫茫数据流不知所措。初学者需要认真的去学习怎么过滤得到自己感兴趣的包,但是如果不熟悉wireshark的过滤语法,要过滤数据包将举步维艰。

    过滤语法简单介绍

    wireshark的过滤语法总结起来其实也很简单,就是以协议开头,后面可以跟着协议的属性,然后加上一些判断符号,比如contains、==、>、<等等。比如只想展示http的协议内容,则直接在过滤器输入框中输入http即可。如下图:

    640?wx_fmt=png

    比如我只想看http协议的请求头中uri包含’/api’的协议,就可以这么写:

    640?wx_fmt=png

    如果想通过目标ip或者来源ip来过滤包,就不可以以http协议为前缀了,因为这些是ip协议的相关属性。通过目标ip来过滤可以这么写:

    640?wx_fmt=png

    上面表示目标机器的ip是61.135.217.100并且协议是http的包。

    wireshark支持很多种协议,我们可以通过右上角的expression来打开搜索支持的协议,还可以找出协议支持的属性,然后填入期待的值,软件会自动为我们构建过滤语句。

    640?wx_fmt=png

    优缺点

    优点

    1、功能强大,可以抓取所有协议的包

    2、抓到的包容易分析

    缺点

    1、由于线上服务器没有GUI,只有命令行,因此无法在线上服务器使用

    2、无法分析https数据包,由于wireshark是在链路层获取的数据包信息,所以获取到的https包是加密后的数据,因此无法分析包内容。当然,我们可以对https数据包进行解密, 但是操作具有一定的复杂度,可能要消耗很多时间。

    三、Tcpdump

    tcpdump是linux上自带的一个抓包软件(mac也有),功能强大,也可以抓取经过指定网卡的所有协议包。由于是命令行工具,tcpdump抓取到的包不易于分析,一个常见的做法是将tcpdump抓到的包输出到某个文件,然后将文件拷贝下来用wireshark分析。

    tcpdump的简单使用介绍

    下面的语句参考文章:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

    一些简单的过滤参数:

    # -i 参数表示抓取指定网卡的内容。具体网卡可以通过 ifconfig 命令查看
    # 如果不指定网卡,默认tcpdump只会监视第一个网络接口
    tcpdump -i eth1
    # 打印所有www.baidu.com相关的包,这个host后面可以填 域名,也可以填ip
    tcpdump host www.baidu.com
    tcpdump host 192.168.0.1
    # 打印 nn1和nn2或nn3 主机间通信的包,这里可以替换成ip
    tcpdump host nn1 and \( nn2 or nn3 \)
    # 打印nn1和非nn2之间的ip数据包
    tcpdump ip host nn1 and not nn2
    # 发送者是nn1的数据包
    tcpdump -i eth0 src host nn1
    # 接受者是nn1的数据包
    tcpdump -i eth0 dst host nn1
    # 指定tcp端口是23以及host是210.27.48.1数据包
    tcpdump tcp port 23 and host 210.27.48.1
    

    抓包内容输出到文件:

    # 抓取指定网卡的包输出到test.cap
    tcpdump -i en0 -w test.cap
    

    之后我们可以把test.cap直接用wireshark打开,就可以很直观的分析包了。

    用tcpdump输出cap文件包:

    tcpdump -r test.cap
    

    优缺点

    优点

    缺点

    四、Charles

    Charles是一款http抓包工具,它是通过代理来实现的抓包。也就是我们在访问网页时需要配置代理,将代理指向Charles监听的端口,之后我们的http请求都会发向Charles的端口,之后Charles会帮我们转发并记录协议内容。

    Charles的使用非常简单,配置好代理后,Charles就开始抓包了。我们可以直接通过Charles的GUi查看包的内容:

    640?wx_fmt=png

    上图中的unknown表示https加密后的数据,所以看到不协议的具体内容。我们可以通过安装Charles的证书,让Charles也可以查看https协议的具体内容。

    640?wx_fmt=png

    优缺点

    优点

    1、使用简单,只需配置一下代理地址就可以
    2、要抓取https协议的配置也很简单,只要安装下charles的证书就可以了

    缺点

    五、mitmproxy

    mitmproxy是python写的一款http抓包工具,虽然只支持http抓包,但是它的特性非常强大,它不仅可以抓包,还可以对请求进行拦截、重现等操作。和Charles一样,它的原理也是基于代理,使用的时候需要设置代理指向它。

    mitmproxy是命令行工具,但是也自带了mitmweb工具,可以让用户在网页上操作。另外,mitmproxy还支持用户自行编写插件,可以编写脚本对请求进行处理,然后把修改后的请求发出去。

    安装

    首先需要在机器安装python3以及pip3.之后通过pip3安装

    pip3 install mitmproxy
    

    如果安装mitmproxy过程中报错ModuleNotFoundError: No module named '_ssl',就需要安装一下OpenSSL,然后再重新编译安装一下python3。

    yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++
    # 去Python3的安装目录再次安装编译一次python3
    make && make install
    

    安装好 openSSL 后再执行pip3 install mitmproxy

    使用

    安装后,直接在命令行输入mitmproxy就会进入它的交互界面:

    640?wx_fmt=png

    这时候mitmproxy已经开始监听8080端口(默认),接着,我们可以去浏览器设置代理。浏览器设置代理的方式有很多,这里不多做介绍。

    设置完代理后,访问浏览器的请求都会被发到mitmproxy上,mitmproxy根据规则对请求进行拦截(不配置拦截规则的话则都不拦截),所有经过的请求都会被输出:

    640?wx_fmt=png

    在交互界面上可以通过快捷键操作请求。输入问号’?’,可以查看快捷键的文档。

    640?wx_fmt=png

    下面介绍一些常用的快捷键和功能:

    1. 请求过滤

    在请求列表交互界面,按下f键后,可以输入一些过滤规则:

    640?wx_fmt=png

    具体的过滤语法可以按下’?‘键后,再按下方向键右’—>’或者l键。

    640?wx_fmt=png

    2. 请求拦截

    按下i键后,可以对指定的请求进行拦截。按mitmproxy收到指定条件的请求时,不会立马把它转发出去,而是等待我们执行resume操作后,才会把请求转发出去——在这期间我们甚至可以对请求进行手动修改。

    640?wx_fmt=png

    红色字体表示该请求被拦截

    之后我们可以按入a键来恢复该请求,可以输入A键恢复所有被拦截的请求。

    3.查看/编辑请求

    把指示光标移动到某个请求上,按回车可以查看请求的内容。或者鼠标直接点击请求也可以。

    640?wx_fmt=png

    之后通过左右方向键可以查看request、response、detail等信息。

    如果要编辑请求,可以在这个界面输入e,然后会让我们选择编辑哪块内容:

    640?wx_fmt=png

    之后就会进入vim编辑界面编辑相应的内容了(保存后会生效)。

    4. 重发请求

    mitmproxy的光标指向某个请求时,按下r键可以重发这个请求(重发前可以对该请求进行编辑)。

    640?wx_fmt=png

    按下’:’键后,可以输入命令,这样我们就可以通过过滤规则批量的重发请求

    640?wx_fmt=png

    replay.client是mitmproxy内置的一个命令,我们也可以自行编写命令。命令的编写可以参考官网文档,这里不做介绍。

    5. 插件开发

    我们可以编写插件,然后再启动的时候指定插件,mitmproxy处理请求的时候会执行一个插件的链,这样我们就可以对请求进行编辑然后再发送出去了。

    借用官网的插件demo:

    from mitmproxy import ctx
    
    class Counter:
        def __init__(self):
            self.num = 0
    
        def request(self, flow):
            self.num = self.num + 1
            ctx.log.info("We've seen %d flows" % self.num)
    
    addons = [
        Counter()
    ]
    

    这个方法对每一个请求进行处理,然后打印序号。通过mitmproxy -s test.py来让插件生效。通过插件可以绑定各种连接事件。感兴趣的朋友可以自行去mitmproxy官网看文档,这里不多做介绍。

    6. 保存抓到的请求数据

    通过w快捷键我们可以把这次抓到的请求包保存到文件上。

    通过mitmproxy -r file可以读取以前抓取的请求信息进行分析。

    优缺点

    优点

    1、命令行操作,可以在无GUI界面的服务器上使用

    缺点

    六、总结

    对于这几个抓包神器,我总结了下使用场景:

    1. 只抓http协议的话,推荐使用mitmproxy。mitmproxy丰富的功能不仅可以满足我们的抓包需求,还可以提升我们的工作效率。比如测试可以抓包后一键重发请求来重现bug,开发调试的时候可以修改请求内容等等。

    2. 如果是在线上的没有GUI的服务器,推荐使用tcpdump,虽然mitmproxy也可以支持命令行抓包,但是生产环境的服务器最好不要乱安装第三方插件。另外,大多数服务器都有装tcpdump。我们可以通过把请求的内容输出到文件,然后拷贝会自己的电脑用wireshark分析。

    3. 想要抓取http以外的协议的话,直接上wireshark。功能强大

    4. 对于Charles,感觉用了mitmproxy之后,就基本用不上Charles了。Charles好像也可以编辑后再发送,但是感觉不是很好用,可能我用的不是很熟吧。

    作者:疯狂哈丘,本文经授权转载。

    关注 民工哥技术之路 微信公众号对话框回复关键字:1024 可以获取一份最新整理的技术干货:包括系统运维、数据库、redis、MogoDB、电子书、Java基础课程、Java实战项目、架构师综合教程、架构师实战项目、大数据、Docker容器、ELK Stack、机器学习、BAT面试精讲视频等。

    640?wx_fmt=gif

    展开全文
  • Charles网络抓包工具使用教程

    万次阅读 2016-06-20 11:54:15
    作为程序员, 这个工具的使用还是必须, 废话不多说, 来点实在的, 下面来详细介绍下这款强大好用的抓包工具的使用 2. 下载安装 首先需要下载java的运行环境支持(一般用burp的人肯定也都有装java

    1. 前言:


    Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!作为程序员, 这个工具的使用还是必须,  废话不多说,  来点实在的, 下面来详细介绍下这款强大好用的抓包工具的使用

    2. 下载安装


    首先需要下载java的运行环境支持(一般用burp的人肯定也都有装java环境,下载链接:链接: http://pan.baidu.com/s/1c2wRVHI 密码: rkcu, 这个是昨天刚从甲骨文官网下载的),装好java环境后,下载Charlet(链接: http://pan.baidu.com/s/1c14dr0k 密码: 9cjv  本软件仅供学习使用不要用作其他商业目的,不要乱传播,要不然楼主被抓了以后没法分享了)

    3. 电脑端抓包


    下面是pc端的抓包使用情况 Charles支持抓去http、https协议的请求,不支持socket。

    然后charles会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。 这里打开百度抓包下,工具界面和相关基础功能如下图所示:


    上图中的7个位置是最常用的几个功能。

    1. 那个垃圾桶图标,功能是clear,清理掉所有请求显示信息。

    2. 那个望远镜图标,功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围。


    3. 圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。 这个本人认为是charles工具很方便的一个两点,一般都使其为不显示抓去状态,只有当自己测试的时候的前后,在令其为抓取并显示状态。这样可以快准狠的获取到相关自己想要的信息,而不必在一堆数据请求中去寻找。

    4. 编辑修改功能,可以编辑修改任意请求信息,修改完毕后点击Compose就可以发送一个修改后的请求数据包。

    5. 抓取的数据包的请求地址的url信息显示。

    6. 抓取的数据包的请求内容的信息显示,post请求可以显示form形式,直观明了。

    7. 返回数据内容信息的显示.

    其中5、6、7中都有各种形式的数据显示形式,其中raw是原始数据包的状态, 更多功能可以去帮助文件中查看英文版教程!

    4. 显示模式


    charles抓包的显示,支持两种模式,Structure和Sequence,其优点分别如下。

    Structure形式如下图 优点:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。


    Sequence形式如下图 优点:可以很清晰的看到全部请求,不用一层一层的去点开,这里是以数据请求的顺序去执行的,也就是说那个请求快就在前面显示。


    具体要说两种形式哪个更好,这个就是见仁见智了。个人喜欢第一种,左侧列表栏比较习惯!

    5. 移动端抓包


    这里相比其他抓包软件来说要简单的多了,具体步骤如下:

    1. Charles上的设置 

    要截取iPhone上的网络请求,我们首先需要将Charles的代理功能打开。在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口8888,并且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。如下图所示:


    我们需要获取Charles运行所在电脑的IP地址,打开Terminal,输入ifconfig en0, 即可获得该电脑的IP
    

    2. iPhone上的设置 

    在iPhone的 “设置”->“无线局域网“中,可以看到当前连接的wifi名,通过点击右边的详情键,可以看到当前连接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有“HTTP代理”一项,我们将其切换成手动,然后填上Charles运行所在的电脑的IP,以及端口号8888,如下图所示:  


    设置好之后,我们打开iPhone上的任意打开网络链接, 尽情地玩耍,哈哈!(然后你会发现很多app的密码和账户一览无余,so,以后注册小公司网站时密码一定要和自己的qq, 支付宝等等密码区分开,要不然小公司服务器被攻破之后,后果可想而知)

    注意:手机要与电脑在同一个WiFi下哦!这个很重要

    6. 其他常用功能


    相信上面介绍的那些你已经学会了吧,下面再说说charles的一些其他常用的功能

    选择请求后,右键可以看到一些常用的功能,这里说说Repeat 就是重复发包一次。 然后Advanced Repeat就是重复发包多次,这个功能用来测试短信轰炸漏洞很方便。


    还有比如说修改referer测试CSRF漏洞,修改form内容测试XSS,修改关键的参数测试越权,修改url、form、cookie等信息测试注入等,都非常方便。

    好了,这款工具的介绍就到这里了!

    7. 问题汇总


    Charles是一款很好用的抓包修改工具,但是如果你不是很熟悉这个工具的话,肯定会遇到各种感觉很莫名其妙的状况,这里就来帮你一一解答。

    1. 为什么下载了不能用啊?打不开啊。

    因为charles是需要java环境才能运行的,需要先安装java环境才可以。

    2. 为什么我用着用着就自动关闭了?大概30分钟就会关闭一次。

    因为charles如果没有注册的话,每次打开后就只能哟个30分钟,然后就会自动关闭,所以最好在使用前先按照说明去进行工具的注册操作。

    3. 为什么用了charles后,我就上不了网页了,但是qq可以。

    因为如果charles是非正常状态下关闭的话,那么浏览器的代理就不会被自动取消,所以会导致这种情况。

    解决办法:

    第一种:直接打开charles,然后再正常关闭即可。 第二种:将浏览器代理位置的勾选去掉。

    4. 为什么我用charles不能抓到socket和https的数据呢?

    首先,charles是不支持抓去socket数据的。 然后,如果抓不到https的数据的话,请查看你是不是没有勾选ssl功能。 Proxy - Proxy Settings - SSL 设置

    5. 为什么我用charles抓取手机APP,什么都是配置正确的,但是却抓不到数据。

    首先,请确保电脑和手机是在同一个局域网下,这个很重要。然后确保手机的代理是否设置正确!

    6. 抓包后发现form中有些数据显示是乱码怎么办?

    首先,请在Raw模式下查看,Raw模式显示的是原始数据包,一般不会因为编码问题导致显示为乱码。

    其次,解决中文乱码

     Response中文乱码:在Info.plist 中 的vmoption 添加-Dfile.encoding=UTF-8 ( info.plist路径: 应用程序->Charles.app->显示包内容->Info.plist)

    7.  我用charles抓手机app的数据,但是同时也会抓去到电脑端的数据,可以设置吗?

    可以,设置位置在Proxy - MacOS Proxy ,勾选表示接收电脑的数据抓包,如果只想抓去APP的数据请求,可以不勾选此功能。

    8.  想要复制粘贴某些数据的话,怎么办,右键没有相应功能啊?

    请直接使用Command +C 和 Command+V 即可。

    展开全文
  • 网络抓包工具 wireshark 入门教程

    万次阅读 多人点赞 2018-01-12 14:41:50
    Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 网络...

    Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

    网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息……。Wireshark相对于tcpdump而言,界面更友好,功能更强大。

    安装

    mac上安装wireshark

    windows上安装wireshark

    linux下安装wireshark

    基本使用

    以下的介绍都是以mac下的wireshark 1.12.2版本为基础。

    认识界面

    说明:

    常用按钮从左到右的功能依次是:

    1、列出可用接口。

    2、抓包时需要设置的一些选项。一般会保留最后一次的设置结果。

    3、开始新的一次抓包。

    4、暂停抓包。

    5、继续进行本次抓包。

    6、打开抓包文件。可以打开之前抓包保存后的文件。不仅可以打开wireshark软件保存的文件,也可以打开tcpdump使用-w参数保存的文件。

    7、保存文件。把本次抓包或者分析的结果进行保存。

    8、关闭打开的文件。文件被关闭后,就会切换到初始界面。

    9、重载抓包文件。

    设置数据抓取选项

    点击常用按钮中的设置按钮,就会弹出设置选项对话框。在这个对话框中我们可以选中需要监听的接口,设置混杂模式,设置抓取数据包的过滤条件。如下图:

    首先,选中需要监听获取数据包的接口。接口列表区列出了所有可以使用的接口。如果接口前面的复选框被选中,说明对这个接口监听捕获数据包。

    其次,设置混杂模式。设置混杂模式的作用是将网卡设置到混杂模式。如果不设置混杂模式,你的计算机只能获取数据包发往的目标是你计算机和从你计算机出去的数据包。如果设置了混杂模式,你就可以捕获局域网中所有的数据包。如果窗口中的 “Use promiscuous mode on all interfaces”前面的复选框被选中,说明对所有的接口使用混杂模式。如果想单独设置,可以双击接口列表中的接口,会弹出如下的对话框。然后选中或者去掉“Capture packets in promiscuous mode”前面复选框。然后点ok按钮。

    再次,设置捕获过滤条件。在点设置按钮弹出的主设置对话框中和双击接口列表弹出的对话框中都会有“Capture Filter”项。在文本框中我们可以设置捕获过滤条件。如,我们只捕获http相关的数据包,我们就可以设置捕获条件为“port 80”。因为http使用的是80端口。

    最后,所有的设置完毕后,点击设置主窗口中的“Start”按钮,开始捕获数据。数据捕获完后,可以点常用按钮中的“保存”按钮保存数据。

    使用显示过滤器

    显示过滤器应用于捕获文件,用来告诉wireshark只显示那些符合过滤条件的数据包。显示过滤器比捕获过滤器更常用。他可以用来过滤不想看到的数据包,但是不会把数据删除。如果想恢复原状,只要把过滤条件删除即可。

    过滤器表达式对话框,是的wireshark的可以很简单的设置过滤表达式。点击“Expression”按钮就可以打开这个对话框。如下图:

    对话框分左中右三部分。左边为可以使用的所有协议域。右边为和协议域相关的条件值。中间为协议域与条件值之间的关系。过滤器表达式对于初学者很有用。如上图,我们创建的表达式的作用是,只显示http协议包中包含关键词“bo56.com”的所有数据包。

    Field name说明:
    这个列表中展示了所有支持的协议。点击前面的三角标志后,可以列出本协议的可过滤字段。当选中“Field name”列表中的任何一项,只需要输入你想要的协议域,就会自动定位到相应的协议域选项。

    Relation说明:
    is present    如果选择的协议域存在,则显示相关数据包。
    contains     判断一个协议,字段或者分片包含一个值
    matches             判断一个协议或者字符串匹配一个给定的Perl表达式。

    Value(Protocol)说明:
    此处输入合适的值。如果选择的协议域和这个值满足Relation中指定的关系,则显示相关数据包。

    Predefined values说明:
    有些协议域包含了预先定义的值,有点类似于c语言中的枚举类型。如果你选择的协议域包含这样的值,你可以在这个列表中选择。

    Function函数说明:
    过滤器的语言还有下面几个函数:
    upper(string-field)-把字符串转换成大写
    lower(string-field)-把字符串转换成小写
    upper((和lower((在处理大小写敏感的字符串比较时很有用。例如:
    upper(ncp.nds_stream_name) contains “BO56.COM”
    lower(mount.dump.hostname) ==”BO56.COM”

    如果你熟悉了这个规则之后你就会发现手动输入表达式更有效率。当时手动在flter文本框中输入表达时,如果输入的语法有问题,文本框的背景色会变成红色。这时候,你可以继续输入或者修改,知道文本框中的表达式正确后,文本框的背景色又会变成绿色。

    使用着色规则

    你经常会在数据包列表区域中看到不同的颜色。这就是wireshark做的很人性化的一方面。它可以让你指定条件,把符合条件的数据包按指定的颜色显示。这样你查找数据包会更方便些。下面我们说一下如何设置颜色规则。

    点击“view”菜单,然后选择“Coloring Rules”选项就会弹出设置颜色规则设置对话框。你点击颜色规则设置的快捷按钮也可以打开颜色设置对话框。如下图:

    打开的对话框中默认已经有一些规则。我们抓取的数据包中经常会看到一些不同的颜色,就是应用的这些默认的规则。点击“New”按钮可以添加规则。如下图:

    name字段中填写规则的名称,方便记忆。

    string字段中填写过滤规则。这里的语法和显示规则表达式一致。点击 上图中的“Expression”按钮,你就会看到熟悉的规则表达式对话。

    Foreground Color按钮用于选择前景色。

    Background Color按钮用于选择背景色。

    Disabled按钮用于指示是否禁用这条规则。

    点击ok按钮后,规则自动会添加到规则列表中的最前端。

    注意:wireshark在应用规则的时候,是按自上而下的顺序去应用规则。因此刚添加的规则会优先应用。如果你想调整顺序,可以选中要调整顺序的规则,然后点击右边的“UP” 或则 “Down” 按钮。

    颜色规则设置好后,只需要点apply按钮就可以应用规则了。规则效果应用如下图:

     

    使用图表

    图形分析是数据分析中必不可少的一部分。也是wireshark的一大亮点。wireshark有不同的图形展现功能,以帮助你了解捕获的数据包。下面我们对经常使用的IO图,双向时间图做下介绍。

    IO图

    wireshark的IO图让你可以对网络上的吞吐量绘图。让你了解网络数据传输过程中的峰值和波动情况。通过“Statistics”菜单中的“IO Graphs”选项可以打开这个IO图对话框。如下图:

    可以看到IO图表对话框中会分为三个区。

    过滤器区:设置过滤条件,用于图形化展示过滤条件相关数据包的变化情况。而且可以为每个不同的条件指定不同的颜色。过滤条件的语法和之前介绍的显示过滤器的语法一致。过滤条件为空,此图形显示所有流量。

    坐标区:在这里可以设置图表的x轴和y轴。x轴为时间,y轴为包的数量。如图,我们设置Y轴的单位是Bytes/Tick。

    趋势图区:根据过滤器设置的条件和坐标区设置,数据分析后回在这个区域以图形化方式展示。点击图形中的点,会自动定位到相应的数据包。点击趋势图中的低谷点,你会发现大量的数据包重传。

    IO图表还可以通过函数对数据进行聚合处理。

    点击Y轴中Unit选项中的Advanced后,就会再过滤器区就会增加Calc选项。如下图:

    相关函数说明:

    MIN( ), AVG( ), MAX( ) 分别是统计协议域中数值的最小,平均和最大值。注意,这三个聚合函数只对协议域的值为数字的才有效。

    Count( ) 此函数计算时间间隔内事件发生的次数,在查看TCP分析标识符时很有用,例如重传。

    Sum( ) 该函数统计事件的累加值。和MIN()函数一样,这个也只有协议域的值为数字的情况下才有效。

    双向时间图

    wireshark还有一个功能就是可以对网络传输中的双向时间进行绘图。双向时间(round-trip time, RTT),就是一个数据包被确认正常接收所花费的时间。以tcp协议为例,就是你push一个数据到一台主机,主机回应一个ack给你的主机,你的主机并成功接收ack回应。这两个过程花费的时间总和就是双向时间。双向时间通常用来寻找网络传输过程中的慢点和瓶颈,用以判断网络传输是否有延迟。

    通过“Statistics”菜单中的“Tcp  StreamGraph”中的“Round Trip Time Graph”选项可以打开这个双向时间图对话框。如下图:

    这个图表中的每个点代表一个数据包的双向时间。你可以单机图表中的任何一点,然后在数据包列表区就会自动定位到相应的数据包。从数据表来看,我们下载压缩包还是比较稳定的。数据包的rtt时间大多数在0.05s以下,其他大多数在0.1s左右,少数超过了1.5s。

    跟踪tcp流


    Wireshark分析功能中最不错的一个功能是它能够将TCP流重组。重组后的数据格式更容易阅读。跟踪TCP流这个功能可以将接收到的数据排好顺序使之容易查看,而不需要一小块一小块地看。这在查看HTTP、FTP等纯文本应用层协议时非常有用。

    我们以一个简单的HTTP请求举例来说明一下。打开wireshark_bo56_pcap.pcapng,并在显示过滤器中输入“http contains wireshark”,点击“apply”按钮后,在数据包列表框中就会只剩下一条记录。如下图。

    右键单击这条记录并选择Follow TCP Stream。这时TCP流就会在一个单独的窗口中显示出来。如下图:

    wireshark_tcp_follow_dialog

    我们看到这个窗口中的文字会有两种颜色。其中红色用于表示从源地址到目标地址的流量。在我们的例子里面就是从我们本机到web服务器的流量。你可以看到最开始的红色部分是一个GET请求。蓝色部分是和红色部分相反的方向,也就是从目标地址到源地址的流量。在我们的例子中,蓝色部分的第一行是“HTTP/1.1 200 OK”,是来自服务器的一个http成功响应。

    在这个窗口中除了能够看到这些原始数据,你还可以在文本间进行搜索,将其保存成一个文件、打印,或者以ASCII码、EBCDIC、十六进制或者C数组的格式去查看。这些选项都可以在跟踪TCP流窗口的下面找到。

    转载自:http://www.bo56.com/%e8%b0%83%e8%af%95%e5%88%a9%e5%99%a8%e4%b9%8bwireshark/

    展开全文
  • 网络抓包工具Fiddler的使用

    万次阅读 2014-07-17 14:03:07
    一、软件简介:  一款免费且功能强大的数据包抓取软件。...fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。所以无论对开发人员或者测试人员来说,都是非常有用的工具。 二、fiddl

    注:来自于百度文库。

    一、软件简介:

       一款免费且功能强大的数据包抓取软件。它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视、设置断点、甚至修改输入输出数据等功能。fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。所以无论对开发人员或者测试人员来说,都是非常有用的工具。

    二、fiddler的下载与安装:

    1、下载地址:http://www.telerik.com/fiddler。

    2、下载完成后,解压文件,然后点击“Fiddler.exe”文件即可启动软件。

    三、fiddler实用功能使用说明:

    1、fiddler捕获浏览器的会话:

         能支持http代理的任意程序都能被fiddler捕获到,由于fiddler的运行机制就是监听本机上的8888端口的http代理,所以我们要将浏览器的IE代理设置为127.0.0.1:8888,我们就以360浏览器为例设置浏览器的代理:点击【工具】—【Internet选项】—【连接】—【局域网设置】,再点击代理服务器的【高级】按钮,将HTTP代理服务器地址改为127.0.0.1:8888。

                                                              图一:设置浏览器代理

    2、使用fiddler捕获HTTPS会话:

       默认情况下,fiddler是不会捕获https会话的,所以需要自行设置一下。启动软件,点击【工具】—【fiddler选项】,在弹出的新窗口中,点击HTTPS选项卡,将捕获HTTPS连接这一选项前面全打上勾,点击OK就操作成功了。如下图所示:

                                                       图二:设置可以捕获HTTPS会话

    3、fiddler主界面介绍:

         启动fiddler,我们就会看到该软件的主界面,软件窗口大体可以分为六大部分:菜单栏、工具栏、会话列表、命令行工具栏、HTTP Request显示栏、Http Response显示栏。让你在捕获数据的时候一目了然。

                                                                   图三:fiddler主界面图

    4、查看HTTP统计视图:

          通常fiddler会话列表中会显示捕获的所有的http通信量,并以列表的形式展示出来,点击你想查看的一个或者多个会话,再点击软件右边的【统计】菜单,你就可以很轻松的查看到请求数、发送字节数等信息。如果你选择第一个请求和最后一个请求,还可以获得页面加载所消耗的总体时间,还可以从图表中分辩出那些请求耗时最多,从而可以对页面的访问速度进行优化。

                                                                图四:查看某一会话的详细信息

    5、QuickExec命令行的使用:

         QuickExec命令行是会话列表下边的黑色区域,你可以在里面输入命令,回车之后即可执行你的命令,非常方便,在这里为大家介绍几个常用的命令:

          help  打开官方的使用页面介绍,所有的命令都会列出来

          cls   清屏  (Ctrl+x 也可以清屏)

          select  选择会话的命令

          ?.png  用来选择png后缀的图片

          bpu  截获request

                                                         图五:QuickExec命令行的使用

    6、如何在fiddler中设置断点修改Response:

       主要有两种方法:

    1、点击【设置】菜单—【自动断点】—【响应之后】,这种方法是中断所有的会话,如果你想消除断点的话,就点击【设置】—【自动断点】—【禁用】就可以了。

    2、在QuickExec命令行中输入:“bpuafter 网址/会话名”,这种方法是中断某一具体的会话,如果想消除命令的话,在命令行中输入“bpuafter”。

       7、如何在fiddler中创建AUTOResponder规则:

            设置AUTOResponder规则的好处是允许你从本地返回文件,而不用将http request发送到服务器上。我们就以访问博客园网站为例说明一下该功能的用法。

            1) 打开博客园首页,把博客园的LOGO图片保存在本地,并把图片修改一下。

            2) 打开fiddler找到刚才我们有该LOGO图片的会话,然后点击软件右边的自动响应选项卡,在“Enable authomatic reponses”和“permit passthrought unmatched requests”前面都打上勾,将会话拖到“自动响应”列表框中。

            3) 在右下角的Rule Editor的第二个文本框选择“Find a File……”,然后选择本地保存的图片,点击“SAVE”按钮保存就可以了。

                                                                  图六:选择修改后的LOGO文件       

         4) 我们再次打开博客园首页,注意观察LOGO图片已经变成我们所修改的那张了。

                                                               图七:效果图

      8、fiddler的会话比较功能的使用:

           选中两个会话,右键点击“Compare”,就可以利用WinDiff来比较两个会话有什么不同了。(注:使用这个功能的前提是你要安装有WinDiff)

                                                                 图八:比较两个会话

      9、fiddler还有编码小工具,下面我们来看一下应该怎么使用:

         1)单击工具栏的“编码器”按钮

         2)在弹出的新窗口中,你就可以操作了,如下图所示。

                                                                     图九:编码工具的使用

      10、fiddler查询会话:

          1)点击【编辑】菜单—【查询会话】或者使用快捷键Ctrl+F。

          2)在弹出的新窗口中输入你要查询会话,点击“find session”按钮之后,你就会发现查询到的会话会用黄色标注出来。

                                                        图十:寻找会话—填写会话关键词

                                                     图十一:被找出的会话用黄色标注出来了

      11、如何在VS调试网站的时候使用Fiddler:

            如果你想在用visual stuido 开发ASP.NET网站的时候也用Fiddler来分析HTTP, 但是默认的Fiddler是不能嗅探到localhost的网站。有两个方法可以供你选用:

          1)你只要在localhost后面加个点号,Fiddler就能嗅探到。例如:原本ASP.NET的地址是 http://localhost:2391/Default.aspx, 加个点号后,变成 http://localhost.:2391/Default.aspx 之后就可以被fiddler捕获到了。

                                                   图十二:捕获localhost的网站

          2)在hosts文件中加入127.0.0.1  localsite这样也可以被捕获到。

      本文只为大家介绍fiddler的部分的主要功能的使用方法,因为fiddler真的功能太强大了,这里无法被全部罗列出来,如果你还有什么关于fiddler使用方法不明白的地方或者有什么建议,欢迎留言,护卫神技术频道会为您做详细的解答的。


    展开全文
  • 抓包工具 分析 1. IOS抓包工具 Charles使用 在iOS开发过程中,抓包是常见的必备技能之一。官方dmg下载地址:点击此处下载Charles 工具介绍: Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,...
  • 15个免费好用的抓包工具

    万次阅读 2018-03-22 20:53:42
    Hping是最受欢迎和免费的抓包工具之一。它允许你修改和发送自定义的ICMP,UDP,TCP和原始IP数据包。此工具由网络管理员用于防火墙和网络的安全审计和测试。 HPing可用于各种平台,包括Windows,MacOs X,Linux,...
  • 网络抓包工具

    千次阅读 2019-08-02 08:38:13
    网络抓包工具 --wireshark --tcpdump --charles --mitmproxy
  • Android开发网络抓包工具Charles解析

    千次阅读 2017-01-13 15:25:25
    安装配置端口设置:在菜单上选择Proxy->Proxy Settings…,然后配置端口,默认:8888 流量控制:在菜单上选择Proxy->Throttling Settings…,勾选Enable Throttling以后选择限制的流量,也可以手动输入上行、下行...
  • 常用的几款抓包工具

    万次阅读 多人点赞 2019-06-05 08:28:50
    常用的几款抓包工具! 标签: 软件测试软件测试方法软件测试学习 原创来自于我们的微信公众号:软件测试大师 最近很多同学,说面试的时候被问道,有没有用过什么抓包工具,其实抓包工具并没有什么很难的工具,只要...
  • 自己动手写网络抓包工具

    万次阅读 2008-08-19 13:35:00
    看了太多的“自己动手”,这次咱也“自己动手”一下,写个简单的网络抓包工具吧。要写出像tcpdump和wireshark(ethereal)这样的大牛程序来,咱也没那能耐,呵呵。所以这个工具只能抓取本地IP数据报,同时它还使用了...
  • ubuntu下网络抓包工具wireshark的使用

    万次阅读 2011-12-07 15:14:57
    注意:抓包需要root权限。 3. 4.点击file下面的那个图标,列出当前活动的网卡,选择你需要监控的网卡,点击start就开始抓包了。 5.监控界面   6.在filter中可以编辑一些规则来过滤掉我们不需要的包类型,...
  • Cocoa Packet Analyzer http://www.tastycocoabytes.com/cpa/ Cocoa Packet Analyzer is a native Mac OS Ximplementation of a network protocol analyzer and packet sniffer. CPA supportsthe industry-standar
  • wireshark 网络抓包工具 使用

    千次阅读 2018-08-15 11:19:11
    wireshark 工具: 下载地址: https://www.wireshark.org/#download https://www.wireshark.org/download.html 1 启动 以管理员权限启动 2 设置为混杂模式 3 过滤条件设置 (稍后补充)...
  • 网络抓包工具Fiddler详解s

    千次阅读 2016-10-08 16:52:29
    Fiddler是一款网络分析工具,功能强大,下边介绍下他里边的工具栏以及他的使用方式。 工具栏介绍: 看下图: 打开以后就是这样一个界面。 然后介绍工具栏的选项: File : 里边包含了几个选项 Capture ...
  • 网络抓包工具--wireshark

    千次阅读 2019-06-17 20:41:47
    网络抓包工具–wireshark 一.wireshark介绍 Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接...
  • Linux系统安装网络抓包工具wireshark

    千次阅读 2015-10-25 16:09:40
    既然要安装抓包工具wireshark,那么我们首先必须得了解下它是什么,干什么的? 我只是知识的搬用工:...
  • 0、说在前面的话1) 本文将以一个初学者的角度,一步一步几乎是从0开始讲述如何完成一个基于winpcap+MFC的sniffer(嗅探器)当然我指的“0”并不是指连编程都不会,如果C/C++不知为...懂一点点网络知识,起码知道O...
  • fiddler/tcpdump/wireshark在不同平台上的使用 linux 使用fiddler上使用:... Android利用tcpdump和wireshark抓取网络数据包 Linux(Ubuntu)环境下使用Fiddler  android使用Fiddler抓取数据包
  • ubuntu 下 Wireshark网络抓包工具使用

    千次阅读 2015-11-15 16:02:48
    Wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定... 一般我们只要知道上面加粗部分的按钮功能,就可以完成抓包了,剩下的就是如何抓你想要的数据包,如何分析的问题了。 下 Wir
  • 这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码!! ...
1 2 3 4 5 ... 20
收藏数 57,071
精华内容 22,828
关键字:

网络抓包工具