WireShark抓包后数据分析

WireShark抓包后数据分析在分析数据之前,我们先了解一下我们传输数据的结构体系,如下图:这是两种体系,我们常知的一般都是TCP/IP体系结构。TCP/IP体系架构分析不难发现,TCP/IP体系中包含着很多我们熟悉的协议,比如说:http、smtp、https等。而我们人(使用者)是站在应用层之上的,我们想把数据上传或者说发送给别人,就要通过一些应用,如:QQ、微信、百度网盘等。然后就经过一层层加密(在数据包前加个“头”),一层层的传递。Frame层(物理层)分析这是我自己抓包的一个例子,我从我自己的QQ发了一条消息给朋友,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在分析数据之前,我们先了解一下我们传输数据的结构体系,如下图:

这是两种体系,我们常知的一般都是TCP/IP体系结构。
这是两种体系,我们常用的一般都是TCP/IP体系结构。

TCP/IP体系架构分析

在这里插入图片描述

不难发现,TCP/IP体系中包含着很多我们熟悉的协议,比如说:http、smtp、https等。而我们人(使用者)是站在应用层之上的,我们想把数据上传或者说发送给别人,就要通过一些应用,如:QQ、微信、百度网盘等。然后就经过一层层加密(在数据包前加个“头”),一层层的传递。

Frame层(物理层)分析

这是我自己抓包的一个例子,我从我自己的QQ发了一条消息给朋友,然后截了一个数据包,现在我们来分析一下。
在这里插入图片描述

1.在这里我们可以看见的是我发信息到达对方QQ的时间(Arrival Time).
2.与之前捕获的数据帧时间差0.016937秒(captured frame).
3.与之前显示的帧时间差0.02171秒(displayed frame).
4.帧的长度(Frame Length)和捕获到的长度(Capture Length)都是89字节.
5.使用的色彩规则是UDP.

Ethernet层(数据链路层)分析

在这里插入图片描述

这里我们就可以看见我和别人的Mac地址(物理地址),Destination是目标的,相对的Source就是我的啦,IPv4是我发的数据包类型。

IPv4协议(互联网层)分析

在这里插入图片描述

1.头部数据长度(Header Length)为20字节.
2.源IP地址(Source).
3.目标IP地址(Destination).

UDP/TCP协议(传输层)分析

在这里插入图片描述

因为我是发送的QQ信息,UDP传输较快(TCP传输数据比较完整),so我这里用的是UDP协议。
1.源端口(我发送信息出去用的端口)为4011.
2.目标端口(这里是发送到QQ,所以用QQ发信息都是这个)为8000.

OICQ协议(应用层)分析

在这里插入图片描述

QQ发信息用的是oicq协议,所以这里不同的数据包,所用的协议不一样,比如说:DNS、HTTP等。
这里我就不漏我的QQ号了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197297.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Zookeepers_docker workdir

    Zookeepers_docker workdir文章目录Curator客户端创建会话创建节点获取节点和数据更新数据删除节点事务节点存在事件监听其他工具类开发测试Curator客户端Curator包含了几个包:curator-framework:对zookeeper的底层api的一些封装curator-client:提供一些客户端的操作,例如重试策略等curator-recipes:封装了一些高级特性,如:Cache事件监听、选举…

    2022年10月24日
  • spring 注解验证@NotNull等使用方法「建议收藏」

    spring 注解验证@NotNull等使用方法「建议收藏」常用标签@Null被注释的元素必须为null@NotNull被注释的元素不能为null@AssertTrue被注释的元素必须为true@AssertFalse被注释的元素必须为false@Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值@Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值@DecimalMin(

  • mysql 索引中的USING BTREE 的意义

    mysql 索引中的USING BTREE 的意义

  • redis在linux安装_安装win7系统卡在安装程序

    redis在linux安装_安装win7系统卡在安装程序1、首先上官网下载Redis压缩包,地址:http://redis.io/download选择一个稳定版下载。使用工具上传压缩文件到linux系统2、通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作cdRedistar-zkvfredis.tar.gz3、执行make命令对Redis解压后文件进行编译cdredismake4、编译完成之…

  • Set集合和数组转换「建议收藏」

    Set集合和数组转换「建议收藏」publicvoidsetToArray(){Set<String>set=newHashSet<>();//错误!!!!!String[]strsFalse=(String[])set.toArray();for(Stringstr:strsFalse){System.out.println(str);}//正确String[]strsTrue=s…

  • python3 typing_python类型注解

    python3 typing_python类型注解typing介绍Python是一门弱类型的语言,很多时候我们可能不清楚函数参数的类型或者返回值的类型,这样会导致我们在写完代码一段时间后回过头再看代码,忘记了自己写的函数需要传什么类型的参数,返回什

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号