Wireshark抓取数据包_wireshark如何抓取clink数据包-程序员宅基地

技术标签: 网络抓包  WireShark  

分析ICMP协议数据包

实验原理

ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。

实验步骤

在过滤条件中分别输入“icmp”

点击开始抓包,为了抓取使用ICMP的包,我们要设置过滤条件,点击“选项”。

这是可以看到抓包过滤按钮后面的文本框出现了ICMP字样,说明过滤条件设置成功:点击开始,发现现在抓取不到任何包:

打开命令行窗口,执行命令:ping www.baidu.com:

这时可以看到数据包抓取页面抓取到了8包,与命令行显示的已发送和已接受的包的数量是一致的:

ICMP报文的格式为:

在这个试验中,可以发现,icmp的报文就只有两种,请求和应答:

请求:

应答:

这两个报文的type不一样,8代表请求,0代表应答;code都为0,表示为回显应答;标示符和序列号都是一样的,表示这两个报文是配对的 。

DHCP数据包分析
使用DHCP获取IP地址:
  • (1)打开命令窗口,启动Wireshark。
  • (2)输入“ipconfig /release”。这条命令会释放主机目前的IP地址,此时,主机IP地址会变为0.0.0.0

  • (3)然后输入“ipconfig /renew”命令。这条命令让主机获得一个网络配置,包括新的IP地址。

  • (4)等待,直到“ipconfig /renew”终止。然后再次输入“ipconfig /renew” 命令。

  • (5)当第二个命令“ipconfig /renew” 终止时,输入命令“ipconfig /release” 释放原来的已经分配的IP地址

  • (6)停止分组俘获。如下图:

    分析

    • 由截图可知,本机发起DHCP Discover包,用来寻找DHCP服务器,源ip是0.0.0.0,因为刚开始还不知道,目的地址是255.255.255.255的广播地址,广播到整个网段。

    • 此字段表示DHCP客户端的报文类型:

      • 这是UDP上的DHCP,本机发起的端口是68,目标端口是67。
    Offer(提供)

    • DHCP服务器收到客户端发的DHCP Discover之后,会在自己的地址池中拿出一个没有分配的地址以及配套的参数(如:掩码、DNS、网关、域名、租期……),然后以一个DHCP Offer包发送出去。
    • 此时源IP是DHCP服务器的IP,目的IP是255.255.255.255的广播。这时候本机还无法获得IP,所以DHCP服务器只能用广播来回应。
    • Message type为2表明是回复包。
    • 给客户端的IP地址:192.168.42.86,但是现在还没有确认。
    • 中断地址(网关):Relay agent IP address:0.0.0.0

    • 此截图表明通过UDP传输,客户端端口号68,服务器是67。

    DHCP服务器地址 :

    Request(请求)

    • 客户端收到这个DHCP Offer后,会再发出一个DHCP Request给服务器来申请这个Offer中包含的地址。这个时候,客户端还没有正式拿到地址,所以还需要向DHCP服务器申请。

    • 此时客户端的源IP还是0.0.0.0,目的IP还是255.255.255.255。

    • 将这些都广播出去,告诉其他DHCP服务器和分配给本机的服务器。
    确认回复

    • 被客户机选择的DHCP服务器在收到DHCPREQUEST广播后,会广播返回给客户机一个DHCPACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该广播包发给客户机。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yusakul/article/details/81279174

智能推荐

CentOS 7部署laravel_centos 7 laravel框架的.env-程序员宅基地

文章浏览阅读1.4k次。目录LNMP环境安装安装和配置 git安装 Composer安装 redisLaravel 项目安装拉取 github 上的 Laravel 项目代码安装依赖配置环境变量数据配置权限配置Nginx 配置elasticsearch0.安装JDK111.下载Elasticsearch72.下载完了解压压缩包3.移动目录4.新建一..._centos 7 laravel框架的.env

android 插入耳机 使用自身mic录音_苹果iPhone 12携最新系统强势登场,10款主流TWS耳机兼容性测试...-程序员宅基地

文章浏览阅读517次。北京时间2020年10月14日凌晨,苹果第二次秋季发布会成功落幕,会上发布了旗下搭载最新 iOS14 系统的 iPhone 12 系列智能手机和最新一代 HomePod mini 智能音箱,为了环保理念,苹果在此次发布会之后,官方商店在售 iPhone 系列所有产品均已不再标配 EarPods 有线耳机。因此购买了 iPhone 12 的小伙伴就需要自行配置耳机,而TWS真无线耳机凭借着..._android 耳机录音

Java - PAT - 1003. 我要通过!(20)_java实现1003-程序员宅基地

文章浏览阅读2.7k次。题目地址:1003. 我要通过!(20)1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;3. 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a, b, c 均或者是空字符串,或者是仅由字母 A 组成的字符串。_java实现1003

TCP通信丢包主要问题及具体问题分析_tcp的客户端发送报文给服务器,不产生丢包或网络阻塞,但是数据不一致是因为-程序员宅基地

文章浏览阅读7.3k次。今天在公司问老大,公司的项目底层,是使用的TCP,因为可靠,自动断线重连,在底层都实现了,但是我记得TCP也会有掉包的问题,所以这文章就诞生了——关于TCP掉包的问题,TCP是基于不可靠的网络实现可靠的传输,肯定也会存在掉包的情况。 如果通信中发现缺少数据或者丢包,那么,最大的可能在于程序发送的过程或者接收的过程出现问题。 例如服务器给客户端发大量数据,Send的频率很高,_tcp的客户端发送报文给服务器,不产生丢包或网络阻塞,但是数据不一致是因为

docker php7.2 mac,PHP开发环境01 - Mac下使用Docker配置PHP环境(只限于学习)-程序员宅基地

文章浏览阅读193次。视频地址学徒卡夫 - 卡夫的Mac 03 - Mac下使用Docker配置PHP环境https://www.bilibili.com/vide...安装 Docker下载镜像# 安装基础镜像 - ubuntu:14.04# 拉取镜像(拉取镜像经常会失败,尝试几次就好了)docker pull ubuntu:14.04# 设置以守护进程在后台运行docker run -dit --name my-l..._mac laravel php7docker环境镜像

numpy中的高斯分布函数 normal 的具体详解_numpy normal-程序员宅基地

文章浏览阅读1.5w次,点赞5次,收藏18次。1、高斯分布的概率密度函数为:2、 在numpy中:numpy.random.normal(loc=0.0, scale=1.0, size=None)3、具体参数详解loc:float 此概率分布的均值(对应着整个分布的中心centre)scale:float 此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)size:int o..._numpy normal

随便推点

Vscode的相对路径读取问题及处理_解决vscode 相对路径-程序员宅基地

文章浏览阅读3.8w次,点赞43次,收藏96次。Vscode的相对路径读取问题及处理差异首先说一下vscode相对路径与一般编辑器的不同符号vscode一般的“./2.txt”相对于工作路径(.vscode文件夹所在的位置)相对于当前运行文件“2.txt”相对于工作路径相对于当前运行文件“/2.txt”相对于磁盘根目录相对于磁盘根目录问题处理案例:工作路径如下,执行文件为 readfi..._解决vscode 相对路径

MySQL 基本操作_alter table zhsq_yw_person drop birth-程序员宅基地

文章浏览阅读922次。MySQL_alter table zhsq_yw_person drop birth

世界上最著名的操作系统是用什么语言编写的?_操作系统是用什么写的-程序员宅基地

文章浏览阅读2.9w次,点赞96次,收藏250次。Unix 与 C 语言的关系Unix 确实是用 C 语言编写的,而且是世界上第一个用 C 语言编写的操作系统。但是 Unix 是怎么产生的?C 语言又是怎么产生的?Unix 为什么要用 C 语言来编写?相信看完这篇文章你很快就会有了答案。Multics 和 Unix1964年,在 Unix 诞生之前,美国贝尔实验室、通用电气、和麻省理工学院联合开发了一个项目,叫做 Multics操作系统。Multics 在当时取得了巨大的成功,因为它给了人们一个真正可用并且很稳定的操作系统。当时从学校._操作系统是用什么写的

webservice接口调用报错 org.apache.cxf.service.factory.ServiceConstructionException: Failed to create servi-程序员宅基地

文章浏览阅读4.4w次。org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service. at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:76) at org.apach..._org.apache.cxf.service.factory.serviceconstructionexception: failed to creat

LeGO-LOAM 源码阅读笔记(imageProjecion.cpp)_lego_loam full_cloud_info-程序员宅基地

文章浏览阅读6.7k次,点赞21次,收藏89次。LeGO-LOAM是一种在LOAM之上进行改进的激光雷达建图方法,建图效果比LOAM要好,但是建图较为稀疏,计算量也更小了。本文原地址:wykxwyc的博客github注释后LeGO-LOAM源码:LeGO-LOAM_NOTED关于代码的详细理解,建议阅读:1.地图优化代码理解2.图像重投影代码理解3.特征关联代码理解4.LeGO-LOAM中的数学公式推导以上博客会随时更新,如果..._lego_loam full_cloud_info

36: ansible基础 、 Ansible ad-hoc 、 总结和答疑_unsupported parameters for (file) module: register-程序员宅基地

文章浏览阅读695次。CASE Top NSD AUTOMATION DAY01 案例1:部署Ansible 案例2:Ansible ad-hoc应用一 案例3:Ansible ad-hoc应用二 ..._unsupported parameters for (file) module: register. supported parameters inc