精华内容
下载资源
问答
  • 第 6 章 Wireshark工作原理 6.1.介绍 本章将简要概述 Wireshark工作原理。 6.2.概述 下面将向您简要介绍 Wireshark 的功能模块: 图 6.1 Wireshark 功能模块 各模块简介: GUI 处理所有用户...

    第 6 章 Wireshark 的工作原理

    6.1. 介绍

    本章将简要概述 Wireshark 的工作原理。

    6.2. 概述

    下面将向您简要介绍 Wireshark 的功能模块:

    图 6.1 Wireshark 功能模块

    各模块简介:

    GUI

    处理所有用户输入/输出(所有窗口、对话框等)。源代码可以在ui/qt目录中找到。

    Core

    将其他块组合在一起的主要“胶水代码”。源代码可以在根目录中找到。

    Epan

    增强型数据包分析器——数据包分析引擎。源代码可以在epan目录中找到。Epan 提供以下 API:

    • 协议树(Protocol Tree)。单个数据包的剖析信息。
    • 分析器(Dissectors)。epan/dissectors中的各种协议分析器。
    • 分析器插件(Dissector Plugins) - 支持将分析器实现为单独的模块。源代码在plugins 中。
    • 显示过滤器(Display Filters) - epan/dfilter中的显示过滤器引擎 。

    Wiretap

    监听库用于读写libpcap、pcapng 和许多其他文件格式的捕获文件。源代码在wiretap目录中。

    Capture

    捕获引擎的接口。源代码在根目录中。

    Dumpcap

    捕获引擎本身。这是唯一以提升的权限执行的部分。源代码在根目录中。

    Npcap和libpcap

    这些是在不同平台上提供数据包捕获和过滤支持的外部库。Npcap和libpcap中的过滤在比 Wireshark 的显示过滤器低得多的级别上工作,并且使用了截然不同的机制。这就是为什么有不同的显示和捕获过滤器语法的原因。

    6.3. 抓包

    抓包是指从网络适配器获取数据包并将它们保存到硬盘上的文件中。

    由于原始网络适配器访问需要提升权限,因此将这些需要提权的功能统一置于dumpcap程序中。将捕获功能放入dumpcap允许其余代码(解剖器、用户界面等)以普通用户权限运行。

    为了从Wireshark中隐藏所有底层机器相关的细节,使用了libpcap和Npcap(参见第 5.9 节,“libpcap或Npcap(可选,但强烈推荐)”)库。这些库提供了一个通用接口来捕获数据包,并被各种应用程序使用。

    6.4. 捕获文件

    Wireshark可以读取和写入其文件格式为pcapng和pcap的捕获文件,许多其他网络捕获工具(例如 tcpdump)都使用这些格式。此外,Wireshark 支持以其他网络捕获工具使用的格式读取和写入数据包捕获文件。这种支持是在Wireshark的wiretap库中实现的,它提供了一个通用接口来读写抓包格式,支持二十多种抓包格式。

    6.5. 剖析数据包

    Wireshark在所谓“双重”剖析中分析数据包。

    Wireshark在所有数据包从文件加载时执行第一遍剖析。所有数据包都按顺序剖析,此信息用于填充 Wireshark的数据包列表窗格,并构建显示数据包时所需的状态和其他信息。

    Wireshark随后对其所需的数据包执行“第二次”专门的剖析。这使Wireshark能够填写未来所需的字段,例如“帧#中的响应(response in frame #)”字段,并正确计算重组框架依赖性。

    例如当用户选择数据包(以显示数据包详细信息)、计算统计数据(因此计算所有值)或执行需要数据包数据的其他操作时,Wireshark 将执行专门的剖析。但是由于Wireshark可能只解析需要的数据包,因此无法保证Wireshark会再次解析所有数据包,也无法保证解析数据包的顺序。

    展开全文
  • Fiddler和Wireshark都是进行抓包的工具:所谓抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。黑客常常会用抓包软件获取你非加密的...

    文章来源:https://zhuanlan.zhihu.com/p/44912855

    Fiddler和Wireshark都是进行抓包的工具:所谓抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。黑客常常会用抓包软件获取你非加密的上网数据,然后通过分析,结合社会工程学进行攻击。所以,学会抓包,对于学好网络安全技术十分重要。在我们做接口测试的时候,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具。而工程师和程序常用的抓包工具有哪些呢?今天我们就来简单聊一聊最常用的2种。

    Fiddler是在windows上运行的程序,专门用来捕获HTTP,HTTPS的。

    wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。

    总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark。

    一、Fiddler

    当启动fiddler,程序将会把自己作为一个代理,所以的http请求在达到目标服务器之前都会经过fiddler,同样的,所有的http响应都会在返回客户端之前流经fiddler。

    Fiddler可以抓取支持http代理的任意程序的数据包,如果要抓取https会话,要先安装证书。

    Fiddler的工作原理

    Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.

     

    Fiddler 如何捕获Firefox的会话

    能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。

    Firefox 上通过如下步骤设置代理

    点击: Tools -> Options, 在Options 对话框上点击Advanced tab - > network tab -> setting.

    Firefox 中安装Fiddler插件

    修改Firefox 中的代理比较麻烦, 不用fiddler的时候还要去掉代理。推荐你在firefox中使用fiddler hook 插件, 这样你非常方便的使用Fiddler获取firefox中的request 和response,当你安装fiddler后,就已经装好了Fiddler hook插件,你需要到firefox中去启用这个插件打开firefox tools->Add ons -> Extensions 启动 FiddlerHook

    Fiddler如何捕获HTTPS会话

    默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler Tool->Fiddler Options->HTTPS tab

    选中checkbox, 弹出如下的对话框,点击"YES"

    点击"Yes" 后,就设置好了

    Fiddler的基本界面

    看看Fiddler的基本界面

     

    Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下图

    Fiddler的HTTP统计视图

    通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。

    选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化

    QuickExec命令行的使用

    Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。

    常见得命令有:

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

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

    select 选择会话的命令

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

    bpu 截获request

    Fiddler中设置断点修改Request

    Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法

    第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)

    如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled

    第二种: 在命令行中输入命令: bpu http://www.baidu.com (这种方法只会中断http://www.baidu.com)

    如何消除命令呢? 在命令行中输入命令 bpu

    二、Wireshark

    Wireshark是另外一种抓包工具,这种工具比fiddler更强大,消息量更多。大家可能会问:有了fiddler,为什么还要用wireshark呢?这里说下,在测试中,发现用fiddler抓包,有些包是没有抓到的,比如在验证反作弊信息的时候,反作弊pingback信息的消息用fiddler就没抓到,用wireshark就抓到了。还有另外一种情况,就是在验证cna的时候,如果先用fiddler抓包,如果没有种下cna的时候,以后就永远没有cna了,情况很诡异。解决办法就是把包卸载了重新安装,第一次用wireshark抓包。

    Wireshark优势:

    1、强大的协议解析能力,一到七层全解码,一览无遗,对于协议细节的研究特别有帮助。

    2、对于https加密流量,只要将浏览器的session key 自动导入wireshark,Wireshark可以自动解密https流量。

    Wireshark不足之处:

    尽管可以自定义过滤列表,但为了抓取一个特定TCP Flow /Session 流量需要写一个长长的过滤列表,这对于初学者很不友好。

    操作实例:

    wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。

    点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包:

    一、WireShark 界面

    1、Display Filter(显示过滤器),用于过滤;

    2、Packet List Pane(封包列表),显示捕获到的封包,有源地址和目标地址,端口号;

    3、Packet Details Pane(封包详细信息), 显示封包中的字段;

    4、Dissector Pane(16进制数据);

    5、Miscellanous(地址栏,杂项)。

    二、Wireshark 显示过滤

    使用过滤是非常重要的,初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

    过滤器有两种:

    1、一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录

    2、一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置。

    三、保存过滤

    在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 102",Filter栏上就多了个"Filter 102" 的按钮。

    四、过滤表达式的规则

    表达式规则

    1.协议过滤 比如TCP,只显示TCP协议。

    2.IP 过滤

    比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,ip.dst==192.168.1.102,目标地址为192.168.1.102。

    3.端口过滤

    tcp.port ==80, 端口为80的

    tcp.srcport == 80, 只显示TCP协议的愿端口为80的。

    4.Http模式过滤

    http.request.method=="GET", 只显示HTTP GET方法的。

    5.逻辑运算符为 AND/ OR

    五、封包列表(Packet List Pane)

    封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。 你也可以修改这些显示颜色的规则, View ->Coloring Rules.

    六、封包详细信息 (Packet Details Pane)

    这个面板是我们最重要的,用来查看协议中的每一个字段。各行信息分别为

    ·Frame: 物理层的数据帧概况

    ·Ethernet II: 数据链路层以太网帧头部信息

    ·Internet Protocol Version 4: 互联网层IP包头部信息

    ·Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP

    ·Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

    七、Wireshark与对应的OSI七层模型

    八、TCP包的具体内容

    从下图可以看到wireshark捕获到的TCP包中的每个字段。

    总结:

    总的来说,两款抓包软件各有优缺点,选择的关键在于我们的需求是什么,当然,对于软件测试从业者而言,两款软件都是十分有必要学习的~

    展开全文
  • wireshark原理

    千次阅读 2018-05-31 15:09:05
    http://www.docin.com/p-1999005065.html
    http://www.docin.com/p-1999005065.html
    展开全文
  • wireshark抓包原理

    2021-08-04 17:08:37
    一:网络原理(情况) 本机环境:直接抓包本机网卡进出流量 集线器环境:流量防洪,同一突破 交换机环境: a.端口镜像,通过交换器的其他接口流量COPY一份; b.ARP欺骗(arp特性后到优先,错误绑定地址); c.MAC泛...

    一:网络原理(情况)

    1. 本机环境:直接抓包本机网卡进出流量
    2. 集线器环境:流量防洪,同一突破
    3. 交换机环境:
      a.端口镜像,通过交换器的其他接口流量COPY一份;
      b.ARP欺骗(arp特性后到优先,错误绑定地址);
      c.MAC泛洪,在没有权限,不能使用端口镜像时,泛洪垃圾包产生大量MAC地址去冲击MAC地址表,使其改变,
      把其他的MAC地址挤出MAC表,按交换机的处理原理,收到的数据报如果是未知真的话,就会对外泛洪

    二:底层原理(底层架构)结构从下到上 1-5

    (5) GTK1/2:图像处理工具,处理用户的输入输出显示
    (4)Core:核心引擎,通过函数调用将其他模块连接在一起,起到联动调度的作用
    (3)Wiretap:格式支持,从抓包文件中读取数据包,支持多种文件格式
    (2)Capture:捕包引擎,利用libcap/WinPcap从底层抓取网络数据报包,libpcap/WinPcap提供了通用的抓包接口,能从不同类型的网络接口获取数据包
    (1)Win-/libpcap:wireshark抓包是依赖的库文件

    展开全文
  • 1. 原理和构造 包嗅探:可以抓取你的电脑接受或发送的信息, 它获取的是你电脑应用或协议收\发的包的副本。 下图展示的就是包嗅探器的结构,主要由两部分构成:packet capture library 和 packet analyzer。 packet ...
  • 一、wireshark抓包原理

    2020-12-25 14:10:29
    一、什么样的“包”能够被wireshark抓住? 1、本机 说明:即直接抓取进出本机网卡的流量包。这种情况下,wireshark会绑定本机的一块网卡。 2、集线器 说明:用于抓取流量泛洪,冲突域内的数据包,即整个局域网的...
  • WireShark抓包网络原理

    2019-10-14 18:53:04
    抓包原理: 本机安装wireshark后自动绑定一个网卡 抓取电脑网卡进出的流量 还可以通过集线器抓取整个局域网的流量 另一种是交换机环境 交换机环境分为端口镜像,ARP欺骗,MAC泛洪 交换机属于链路层,通信完全采用...
  • Wireshark之抓包原理剖析

    千次阅读 2019-11-22 13:04:59
         网卡是局域网(LAN,全称是:Local Area NetWork)中连接计算机和传输介质的接口,它工作在物理层(L1)。它是处于主机箱内的一块网络接口板,因为它的存在,从而使得本机能够与外部局域网进行连接通信。任何...
  • Wireshark抓包分析交换机工作原理

    千次阅读 2020-04-15 14:38:26
    交换机工作原理 【实验目的】 1、熟悉Linux虚拟网络环境; 2、熟悉Linux中network namespace的基本操作; 3、熟悉Linux中虚拟以太网设备Tap和veth pair的基本操作; 4、熟悉Linux中Bridge设备的基本操作; 5、...
  • 网络原理 1、那种网络可以抓住数据包 本机环境 : 直接抓包 通过观察本机的网卡检测流量的进出(默认的 软件会绑定一个网卡用于检测进出的流量) 集线器环境: 因为 集线器是一种物理层的设备 他不会识别数据包 只...
  • WireShark抓包底层原理

    千次阅读 2019-10-14 18:53:52
    从第一步开始到第五步 1. Win-/libpase:转包时依赖的库文件 2. Capture:转包引擎,利用Win-/libpase从底层抓取网络数据包,Win-/libpase提供的转包接口,可以从 不同类型的网络接口抓包 3. 由于抓到的包是01比特流...
  • Wireshark之数据包嗅探器工作原理

    千次阅读 2017-03-11 19:17:02
    到这步,网络上的数据包将以一种非常基础的解析方式进行显示,而将大部分的分析工作留给最终用户。  第三步: 分析  对捕获和转换后的数据进行真正的深入分析。数据包嗅探器以捕获的网络数据作为输入,识别...
  • Wireshark学习

    千次阅读 多人点赞 2020-01-31 14:00:32
    0x1 Wireshark安装和下载 老样子给出Wireshark下载地址Wireshark官网,下载完成后除了选择安装路径外都可以直接下一步默认安装配置。如果嫌下载慢我这还有刚下好的最新版本x64 v3.2.1,给大家带来便利网盘入口,密码...
  • 最近在做iot wifi开发的过程中遇到了模组连接上了路由器却迟迟拿不到ip的问题,所以决定借此机会深入了解下dhcp的工作原理。 PS:wireshark是无法抓取模组连接路由器的dhcp的过程的,有需求的同学可以尝试使用...
  • 通过设置网卡为混杂模式就能捕获局域网内所有发包内容,包括非...网卡的工作原理 网卡收到传输来的数据,网卡内的单片程序先接收数据头的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,...
  • c++解析wireshark中的rtp包

    千次阅读 2017-07-29 14:43:51
    1.使用wireshark抓取rtp的包,点击一下你要解析的某一个包,然后点击左上角的“文件”-->“导出分组解析结果”-->“As JSON”-->选择"select packet"-->点击"保存" 2.现在打开保存的json文件可以看到对应的信息,...
  • 课程资源 目录 1. 软件介绍: 免费开源的软件数据包分析协议软件 主要功能:捕获网络数据并且进行分析和展示。通过其使得我们看网络时,不再是没有意义的0和1,而是有意义的文字 概述: 功能: ...
  • 本系列文章是本人花了很多心血写成,wireshark本是开源软件,本人也乐于技术知识和经验的分享,更是欣赏和推崇开源精神,因此任何看到本文的人都可以随意转载,但只有一个要求: 在大段甚至全文引用本系列文章内容...
  • 1、WireShark快速分析数据包技巧 (1)确定 Wireshark的物理位置。如果没有一个正确的位置,启动 Wireshark后会花费很长时问捕获一些与自己无关的数据。“ (2)选择捕获接口。一般都是选择连接到Internet网络的接口,...
  • Wireshark学习总结

    千次阅读 2017-02-08 23:12:45
    Wireshark是怎么工作的?   No.3Why? Wireshark为什么要被设计出来?   Wireshark是什么? 维基百科的介绍:https://en.wikipedia.org/wiki/Wireshark 百度百科的介绍:http://baike.baidu.com/item/Wireshark
  • 抓包原理分为网络原理和底层原理1.网络原理: 1)本机环境-直接抓本机网卡进出的流量:直接在终端安装ws,然后ws抓本机网卡的与互联网通信的流量。 2)集线器环境(老网络)-集线器:向其他所有端口都会泛洪,抓...
  • 网络嗅探工具的原理 sniffer&wireshark

    万次阅读 2016-04-07 19:30:16
    今天突然想到这个问题:wireshark之所以能抓到其它主机的包,是因为共享式以太网;那么现在的交换式以太网怎么使用wireshark? 在网上看了一些资料,整理了下面这篇文章 Sniffer(嗅探器)是一种常用的收集有用...
  • 在网络技术学习过程中,初学者很可能对交换机、路由器的工作原理弄不清楚,老师常是让学生记住哪个划分冲突域,哪个可以划分广播域,本文通过wireshark实战抓包,从视觉直观上感受网络设备的工作原理,使大家对这些...
  • wireshark学习笔记----抓包网络原理

    千次阅读 2019-07-28 02:00:47
    抓包是我们常见的分析网络的一种方式,根据不同的抓包方式,网络原理也有所不同。 本机环境 直接抓包本机网卡进出流量,这种抓包是直接抓取本地与互联网上交互的数据包,直接在本机上抓取。 集线器环境 集线器环境...
  • 详细描述了DNS攻击过程,用wireshark来验证DNS数据包的发送,并却分析它。
  • wireshark抓包实战(一),抓包原理

    千次阅读 2020-01-17 11:53:40
    一、什么样的“包“能被wireshark抓住呢? 1.本机 即直接抓取进出本机网卡的流量包。这种情况下,wireshark会绑定本机的一块网卡。 2.集线器 用于抓取流量泛洪,冲突域内的数据包,即整个局域网的数据包。 ...
  • 前文分享了Wireshark安装入门和一个抓取网站用户名和密码的案例,本篇文章将继续深入学习Wireshark的抓包原理知识,并分享数据流追踪、专家信息操作,最后结合NetworkMiner工具抓取了图像资源和用户名密码。...
  • 使用WireShark深入理解HTTPS原理

    千次阅读 2018-03-27 12:21:47
    2.HTTPS实现原理简介 1.要使用HTTPS进行通信的服务端,需要向CA机构申请数字证书,来证明自己身份的有效性。 2.当客户端请求的时候,把证书发给客户端,客户端验证证书有效,也就是认证了服务端的有效性,并且...
  • Wireshark原理 网络抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作。也用来检查网络安全,抓包也经常被用来进行数据截取等。 Wireshark软件功能:分析底层协议、解决网络故障问题、找寻网络...
  • tcp三次握手原理分析

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,382
精华内容 5,352
关键字:

wireshark工作原理