`
zzuliuli
  • 浏览: 7293 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

wireshark

 
阅读更多

之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS。 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。

记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段。更能加深我们对网络协议的理解。
对我而言, wireshark 是学习网络协议最好的工具。

 

阅读目录

  1. wireshark介绍
  2. wireshark不能做的
  3. wireshark VS Fiddler
  4. 同类的其他工具
  5. 什么人会用到wireshark
  6. wireshark 开始抓包
  7. wireshark 窗口介绍
  8. wireshark 显示过滤
  9. 保存过滤
  10. 过滤表达式
  11. 封包列表(Packet List Pane)
  12. 封包详细信息 (Packet Details Pane)
  13. wireshark与对应的OSI七层模型
  14. TCP包的具体内容
  15. 实例分析TCP三次握手过程

 

wireshark介绍

wireshark的官方下载网站: http://www.wireshark.org/

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。

wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。

 

使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

Wireshark不能做的

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

 

Wireshark VS Fiddler

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

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

 

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

同类的其他工具

微软的network monitor

sniffer 

 

什么人会用到wireshark

1. 网络管理员会使用wireshark来检查网络问题

2. 软件测试工程师使用wireshark抓包,来分析自己测试的软件

3. 从事socket编程的工程师会用wireshark来调试

4. 听说,华为,中兴的大部分工程师都会用到wireshark。

 

总之跟网络相关的东西,都可能会用到wireshark.

wireshark 开始抓包

开始界面

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

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

 

Wireshark 窗口介绍

 

WireShark 主要分为这几个界面

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

2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表

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

4. Dissector Pane(16进制数据)

5. Miscellanous(地址栏,杂项)

 

Wireshark 显示过滤

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

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

过滤器有两种,

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

一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在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

常用的过滤表达式

过滤表达式 用途
http 只查看HTTP协议的记录
ip.src ==192.168.1.102 or ip.dst==192.168.1.102  源地址或者目标地址是192.168.1.102
   
   

 

 

 

 

 

 

 

封包列表(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包中的每个字段。

 

 

实例分析TCP三次握手过程

看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例

 

 三次握手过程为

 

这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。

打开wireshark, 打开浏览器输入 http://www.cnblogs.com/tankxiao

在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream",

这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图

图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。

 

第一次握手数据包

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图

第二次握手的数据包

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图

第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:

 就这样通过了TCP三次握手,建立了连接

 

 
分享到:
评论

相关推荐

    wireshark-gm-wireshark

    Wireshark-GM-Wireshark 是一个专为中国用户定制的Wireshark版本,它集成了许多方便国内用户的功能和优化。Wireshark是一款全球知名的网络封包分析软件,广泛用于网络故障排查、性能分析以及网络安全检测。在这个...

    国密SSL的wireshark解析脚本gmssl-wireshark-main.zip

    《深入理解国密SSL与Wireshark解析脚本——gmssl_wireshark-main.zip详解》 国密SSL,全称为“国家商用密码SSL”,是中国自主研发的网络安全协议,旨在保护国内互联网通信的安全性和隐私性。它基于国际SSL/TLS协议...

    Wireshark网络分析的艺术_wireshark_

    Wireshark,作为全球最广泛使用的网络封包分析软件,是网络诊断、协议学习和安全分析的重要工具。这本书《Wireshark网络分析的艺术》深入探讨了如何有效地利用Wireshark来理解和解决网络问题,同时也提供了关于网络...

    Wireshark从入门到精通视频.zip

    0.1 Wireshark协议分析从入门到精通课程介绍.mp4 1.1.1 Wireshark安装入门之软件介绍.mp4 1.1.2 Wireshark安装入门之抓包原理.mp4 1.1.3 WireShark安装入门之初始安装.mp4 1.1.4 WireShark安装入门之快速抓包.mp4 ...

    wireshark进行手机抓包,有详细步骤

    Wireshark手机抓包详解 Wireshark是一款功能强大的网络协议分析工具,广泛应用于网络故障诊断、网络安全测试、网络流量监控等领域。在这里,我们将详细介绍如何使用Wireshark进行手机抓包,掌握这项技能可以帮助您...

    wireshark 包解析插件

    该资源为用脚本编写的适用于wireshark的一个新的协议。即当wireshark不能及时解析一些新的协议时,可以自己动手根据新协议字段编写解析文件。有新协议的话可以基于此脚本改写. 使用方法: 1. 打开wireshark根目录中...

    wireshark特定rtp分组导出步骤

    Wireshark是一个功能强大的网络协议分析工具,广泛应用于网络管理员和安全研究人员中,用于捕获和分析网络上的数据包。Wireshark支持多种类型的网络捕获格式,其中包括libpcap格式,这是一种广泛使用的文件格式,...

    wireshark使用详细教程.pdf

    ### Wireshark 使用详细教程知识点总结 #### 一、Wireshark 概述 - **定义**:Wireshark是一款开源且强大的网络封包分析工具,主要用于捕获和解析网络数据包,支持广泛的网络协议(如TCP/IP、HTTP、DNS等),能够...

    Wireshark 4.2.6 arm64 for mac系统 M1/M2/M3芯片专用版本2024最新版

    文件名: Wireshark 4.2.6 Arm 64.dmg 要进行网络数据抓包和分析吗?立即下载Wireshark 4.2.6 Arm 64.dmg安装文件,让您轻松捕获和分析苹果 M1/M2/M3 arm64位架构 设备上的网络流量。Wireshark是一款功能强大的开源...

    Wireshark - 使用WireShark进行报文分析简明教程

    Wireshark是一款强大的网络封包分析软件,它能够截取并深入分析网络中传输的数据包,展示出其中的详细信息。对于性能测试来说,尤其是在面对B/S架构和C/S架构的项目产品时,Wireshark起到了至关重要的作用。在Web...

    wireshark MQTT协议抓取

    Wireshark是一款强大的网络封包分析软件,常用于网络故障排查、网络安全分析和协议学习。在本场景中,我们关注的是使用Wireshark抓取和分析MQTT(Message Queuing Telemetry Transport)协议的数据包。MQTT是一种轻...

    wireshark的NAT分析

    ### Wireshark的NAT分析 #### 一、引言 在现代网络环境中,网络地址转换(Network Address Translation,简称NAT)是一项重要的技术,它允许一个或多个私有IP地址在网络边界路由器上被转换为一个公共IP地址,从而...

    wireshark dlms插件.7z

    Wireshark是一款强大的网络封包分析软件,常用于网络故障排查、协议分析和网络安全检测。在标题中提到的"wireshark dlms插件.7z"是一个专门为Wireshark设计的扩展,用于解析DLMS(Device Language Message ...

    ubuntu20.04离线安装wireshark3.2.3

    Wireshark是一款强大的网络协议分析器,被广泛用于网络故障排查、数据分析以及网络安全检测。在Ubuntu 20.04上离线安装Wireshark 3.2.3,需要遵循一系列步骤,因为通常我们是通过apt包管理器在线安装软件的。离线...

    Wireshark 数据包分析实战详解

    第1篇介绍Wireshark的各项功能,包括基础知识、Wireshark的定制、捕获过滤器和显示过滤器的使用、数据包的着色、导出和重组等;第2篇介绍基于Wireshark对TCP/IP协议族中常用协议的详细分析,如ARP、IP、UDP、TCP、...

    wireshark 路由协议分析

    Wireshark是一款强大的网络封包分析软件,常用于网络故障排查、网络安全分析和协议学习。在本主题中,我们将深入探讨如何使用Wireshark来分析路由协议,特别是OSPF(开放最短路径优先)和RIP(路由信息协议)。这两...

    wireshark-3.0.2.tar.gz

    Wireshark是一款强大的网络封包分析软件,常用于网络故障排查、网络安全分析和协议开发等场景。标题中的"wireshark-3.0.2.tar.gz"表明我们要讨论的是Wireshark的3.0.2版本,这是一个源码压缩包,通常需要编译安装。...

    wireshark-4.2.0源代码

    Wireshark是一款强大的网络封包分析软件,被誉为网络分析的标准工具。它的主要功能是对网络通信进行实时捕获和深入分析,帮助用户理解网络流量、排查问题、进行安全审计以及优化网络性能。4.2.0版本是Wireshark的一...

    wireshark分析RTP丢包率

    Wireshark 分析 RTP 丢包率 Wireshark 是一个功能强大且广泛使用的网络协议分析工具,能够对网络数据包进行捕获、分析和显示。今天,我们将使用 Wireshark 分析 RTP 丢包率,通过详细的步骤来帮助读者快速了解 ...

    wireshark-3.4.4_CentOS_7.zip

    Wireshark是一款强大的网络封包分析软件,被誉为网络管理员、安全专家和开发者的必备工具。它的主要功能是对网络通信进行实时捕获、深入分析以及离线浏览,帮助用户理解网络流量,查找潜在的问题,以及进行协议开发...

Global site tag (gtag.js) - Google Analytics