0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

马哥Linux运维 2018-01-16 16:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这篇文章介绍另一个好用的抓包工具 Wireshark,用来获取网络数据封包,包括 HTTP、TCP、UDP 等网络协议包。

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

阅读目录

wireshark介绍

wireshark不能做的

wireshark VS Fiddler

同类的其他工具

什么人会用到wireshark

wireshark 开始抓包

wireshark 窗口介绍

wireshark 显示过滤

保存过滤

过滤表达式

封包列表(Packet List Pane)

封包详细信息 (Packet Details Pane)

wireshark与对应的OSI七层模型

TCP包的具体内容

实例分析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, 用来获取网络数据封包

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

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

Wireshark 窗口介绍

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

WireShark 主要分为这几个界面

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

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

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

4. Dissector Pane(16进制数据)

5. Miscellanous(地址栏,杂项)

Wireshark 显示过滤

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

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

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

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

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

保存过滤

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

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

Filter栏上就多了个”Filter 102″ 的按钮。

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

过滤表达式的规则

表达式规则

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

常用的过滤表达式

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。封包列表(Packet List Pane)

你也可以修改这些显示颜色的规则, View ->Coloring Rules.

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

封包详细信息 (Packet Details Pane)

这个面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为:

Frame:物理层的数据帧概况

EthernetII:数据链路层以太网帧头部信息

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

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

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

wireshark与对应的OSI七层模型

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

TCP包的具体内容

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

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

实例分析TCP三次握手过程

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

三次握手过程为

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

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

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

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

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

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

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

第一次握手数据包

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

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

第二次握手的数据包

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

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

第三次握手的数据包

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

介绍一个好用的抓包工具 Wireshark, 用来获取网络数据封包

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTTP
    +关注

    关注

    0

    文章

    539

    浏览量

    35639
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1436

    浏览量

    83883
  • UDP
    UDP
    +关注

    关注

    0

    文章

    335

    浏览量

    35566
  • Wireshark
    +关注

    关注

    0

    文章

    51

    浏览量

    6982

原文标题:史上最简单的 Wireshark 和 TCP 入门指南

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【诚邀体验】 安利AI使用工具

    我们近年来,AI技术正在迅速改变工程师获取知识和进行开发的方式,从最早的搜索引擎到简单生成,再到如今能够理解问题并生成代码的AI工具。AI的进化正在悄无声息的改变工程师工作的环境。目前主流的AI工具
    的头像 发表于 04-10 18:25 208次阅读
    【诚邀体验】 安利<b class='flag-5'>一</b><b class='flag-5'>个</b>AI使用<b class='flag-5'>工具</b>!

    技术探索:获取识货商品详情数据

    ​ 在电商数据分析和比价应用中,获取各大平台的商品详情数据是关键步。识货作为知名的导购平台,其商品数据(如价格、优惠、评价等)具有很高的价
    的头像 发表于 02-25 15:23 320次阅读
    技术探索:<b class='flag-5'>获取</b>识货商品详情<b class='flag-5'>数据</b>

    ​​​​​​​使用 DMM Web API 获取搜索列表数据

    ​  DMM 平台提供了丰富的 Web API 接口,允许开发者获取其平台上的各种数据。其中常用的接口是用于获取搜索列表结果的 API。
    的头像 发表于 02-09 15:34 459次阅读
    ​​​​​​​使用 DMM Web API <b class='flag-5'>获取</b>搜索列表<b class='flag-5'>数据</b>

    调用DMM平台API获取商品详情数据的技术实践

    ​  DMM平台提供了丰富的API接口,允许开发者获取其平台上的商品数据。本文将介绍如何调用其中关键接口—— 商品详情
    的头像 发表于 02-09 15:15 445次阅读
    调用DMM平台API<b class='flag-5'>获取</b>商品详情<b class='flag-5'>数据</b>的技术实践

    如何从Target平台获取搜索列表数据的API接口

    ​   在现代Web开发中,API(应用程序接口)是实现平台数据交互的核心工具。本文将以Target平台为例,详细介绍如何通过其API接口获取搜索列表
    的头像 发表于 02-03 17:49 287次阅读
    如何从Target平台<b class='flag-5'>获取</b>搜索列表<b class='flag-5'>数据</b>的API接口

    调用乐天平台API获取商品详情数据

    ​   乐天平台提供了丰富的API接口,允许开发者获取平台上的各类数据。其中,获取商品详情(通常称为 letian 详情)是常见的需求。
    的头像 发表于 02-02 16:25 403次阅读
    调用乐天平台API<b class='flag-5'>获取</b>商品详情<b class='flag-5'>数据</b>

    如何使用wireshark进行远程

    、概述 通常我们使用wireshark进行包分析的时候,在远端设备抓取一部分数据包后,再回传到本地,然后使用wireshark进行分析。
    的头像 发表于 01-16 16:05 1234次阅读
    如何使用<b class='flag-5'>wireshark</b>进行远程<b class='flag-5'>抓</b>包

    房产数据平台安家go获取地区列表数据的API接口

    ​ 在房产数据平台“安家go”中,获取地区列表数据常见需求,它允许开发者访问全国或特定区域的行政区划信息,如省、市、区县等。这对于构建
    的头像 发表于 11-21 14:38 551次阅读
    房产<b class='flag-5'>数据</b>平台安家go<b class='flag-5'>获取</b>地区列表<b class='flag-5'>数据</b>的API接口

    大家用的OTA升级打包工具都是用什么制作的,能否拿到QBoot的打包器源码拿来开发呢?

    大家用的OTA升级打包工具都是用什么制作的,能否拿到QBoot的打包器源码拿来开发呢?
    发表于 09-25 06:16

    请问wireshark如何抓取星火号上rw007wifi模块发送的的数据包?

    开发板连的wifi和开发板连的笔记本连接的wifi是同一个wireshark直接笔记本连的wlan没有开发板的ip发的包,wireshark上的usbpcap识别不到开发板,同时无
    发表于 09-24 06:05

    产品列表获取API接口详解

    ​ 在现代软件开发中,API(应用程序编程接口)是获取产品列表的核心工具,它允许开发者从远程服务器高效地检索数据。本文将逐步介绍如何设计和使用产品列表
    的头像 发表于 07-24 14:29 968次阅读
    产品列表<b class='flag-5'>获取</b>API接口详解

    如何使用协议分析仪进行数据分析与可视化

    使用协议分析仪进行数据分析与可视化,需结合数据捕获、协议解码、统计分析及可视化工具,将原始数据转化为可解读的图表和报告。以下是详细步骤及关键方法,涵盖从
    发表于 07-16 14:16

    【汇思博SEEK100开发板试用体验】04 网络连接及获取和风天气数据

    1 前言 接着开发天气APP。这次要实现通过http请求获取和风天气的数据,然后将其解析到我们制定好的模型中,以便调用赋值。 2 http数据请求API 2.1 介绍 应用通过HTTP
    发表于 07-08 19:26

    单片机有没有串口包工具推荐的,纯小白,想像网络协议那样直接curl协议转化为代码

    能否做到像网络协议那样包重放呢?刚刚涉及 esp32 单片机开发,不太懂这方面的知识点
    发表于 06-01 11:04

    PCBA包工包料:用专业力量为企业生产“减负增效”

    站式PCBA加工厂家今天为大家讲讲什么是PCBA包工包料服务?PCBA包工包料服务的优势。随着电子制造行业的快速发展,越来越多的企业选择PCBA包工包料服务,以降低成本、提高生产效率
    的头像 发表于 05-26 09:34 764次阅读