Wireshark抓包(PING命令)

本次抓包 通过抓取本机连接到我校校园网 CUG 中产生的数据包进行分析,主要分析了ping命令以及TCP三次握手和四次挥手。

PING分析

过程简介

首先打开 wireshark 抓包软件开始抓包 , 接着调出 cmd 命令窗口执行 ping 命令 , 以此来获取校园网的 IP 地址. 打开浏览器输入校园网的网址 , 在加载完毕后关闭页面 , 等待几秒后终止抓包进程, 通过 wireshark过滤器过滤出和目的IP 地址相关的数据包进行分析 .

PING测试

cmd 命令窗口输入 ping www.cug.edu.cn , 可以得到如图所示内容.
可以得到以下信息 .
目的网络 IP 地址为 202.114.198.182, 发送的 4 个数据包均被成功接收 , 字节数和 TTL 都相同 , 往返时间略有差异. 丢包率为 0%, 并且可以得到往返时间的最短值 , 最长值和平均值 .
可见这是一组成功的 Ping 测试结果 , 说明与目标服务器之间的网络连通性良好 , 无数据包丢失 , 延迟稳定.

抓包分析

PING请求与回复
wireshark 中抓取 ping 测试的 icmp 数据包如图所示 , 包含四次请求与四次回复 . 下面我将分别以第一次请求与第一次回复的icmp 数据包为例进行分析 .
第一次请求
第一次请求的数据包内容如图所示 .
可以得到以下信息 .
IP 层信息
  • 协议版本:IPv4
  • 标志字段Don't Fragment : 设置为0, 表明该数据报可以分片
  • IP地址: 172.26.229.54
  • 目标IP地址:202.114.198.182
  • TTL生存时间:128 

ICMP 协议信息

  • ICMP类型: 8 (Echo 请求,Ping 请求)
  • 代码: 0 (无子类型)

  • 校验和: 0x4cf8, 状态为正确
  • 标识符: Big Endian: 0x0001 Little Endian: 0x0100
  • 序列号: Big Endian: 99 Little Endian: 25344
第一次回复
第一次回复的数据包内容如图所示 .
可以得到以下信息 .
IP 层信息
  • 协议版本:IPv4
  • 标志字段Don't Fragment : 设置为1, 表明该数据报不可分片
  • IP地址: 202.114.198.182
  • 目标IP地址:172.26.229.54
  • TTL生存时间:252
ICMP 协议信息
  • ICMP类型: 0 (Echo 回复,Ping 回复)
  • 代码: 0 (无子类型)
  • 校验和: 0x54f8, 状态为正确
  • 标识符: Big Endian: 0x0001 Little Endian: 0x0100
  • 序列号:Big Endian: 99 Little Endian: 25344
三次握手
wireshark 中抓取三次握手的 TCP 数据包如图所示 . 下面我将分别介绍这三个数据包的内容 .
第一次握手
第一次握手的数据包内容如图所示 .
可以得到以下信息 .
  • IP地址
    • IP地址: 172.26.229.54
    • 目标IP地址: 202.114.198.182
  • 端口号
    • 源端口号: 61186
    • 目的端口号: 443
  • 序列号( Sequence Number) : 0. 表示这是连接初始化时发送的 SYN , 其相对序列号为 0
  • 确认号( Acknowledgment Number): 0. 因为这是第一次握手, 还没有收到任何数据, 所以确认号为0
  • TCP 标志位
    • SYN: 设置为 1. 这是标志 TCP 连接初始化的 SYN
    • FINACK : 均未设置. 表示当前不是连接关闭(FIN) 或数据确认(ACK)的包
  • 解释: 这是 TCP 三次握手的第一步. 客户端向服务器发送一个SYN=1的报文,并指定一个客户端的初始序列号seq以请求与目标建立连接. 这时, 客户端进入SYN-SENT(同步已发送) 状态, 这个动作启动了TCP连接的建立.
第二次握手
第二次握手的数据包内容如图所示 .
可以得到以下信息 .
  • IP地址
    • IP地址: 202.114.198.182
    • 目标IP地址: 172.26.229.54
  • 端口号
    • 源端口号: 443
    • 目的端口号: 61186
  • 序列号(Sequence Number) : 0. 说明目标主机在建立连接时的初始序列号(相对序列号0) 0
  • 确认号(Acknowledgment Number) : 1. 表示目标主机已成功接收到来自源主机的 SYN (第一次握手) .这里的确认号是对源主机的初始序列号加1
  • TCP 标志位
    • SYN: 设置为 1. 这表明目标主机同意建立连接
    • ACK: 设置为 1. 这是对源主机第一次握手( SYN ) 的确认
    • 其他标志位: 均未设置. 表示这是一个正常的连接初始化响应
  • 解释: 这是 TCP 三次握手的第二步. 服务器收到客户端的SYN报文后, 需要确认客户的SYN( ack=x+1), 同时自己也发送一个SYN报文 ( SYN=1) , SYN+ACK报文, 此时服务器端将进入SYN-RCVD( 步收到) 状态.
第三次握手
第三次握手的数据包内容如图所示 .
可以得到以下信息 .
  • IP地址
    • IP地址: 172.26.229.54
    • 目标IP地址: 202.114.198.182
  • 端口号
    • 源端口号: 61186
    • 目的端口号: 443
  • 序列号(Sequence Number) : 1. 源主机发送的相对序列号为 1, 说明之前发送的 SYN 数据包序列号 0, 现在的序列号已经加 1
  • 确认号( Acknowledgment Number) : 1. 表明源主机已经成功接收了目标主机的 SYN-ACK , 并确认目标主机的初始序列号加 1
  • TCP 标志位
    • SYN: 未设置. 表明当前是第三次握手, 而不是初始的 SYN
    • ACK: 设置为 1. 表示这是一个确认数据包, 用于确认目标主机发送的 SYN-ACK
    • 其他标志位: 均未设置. 表示这是一个普通的确认包, 没有携带其他控制信息
  • 解释: 这是 TCP 三次握手的第三步. 客户端收到服务器的SYN+ACK报文后, 会发送一个确认报文ACK(ack=y+1) , 这个报文发送完毕后, 客户端和服务器端都进入ESTABLISHED(已建立连接) 状态, 成三次握手, TCP连接建立成功
过程总结
三次握手过程 :
        1. 第一次握手 (SYN) : 源主机发起连接请求 , 提供初始序列号
        2. 第二次握手 (SYN-ACK) : 目标主机确认收到 SYN, 并发送自己的 SYN 请求
        3. 第三次握手 (ACK) : 源主机确认目标主机的 SYN-ACK, 完成连接建立
从此抓包分析可以确认 , 三次握手过程是完整且成功的 , 双方已经可以进行正式的通信
四次挥手
wireshark 中抓取四次挥手的 TCP 数据包如图所示 . 下面我将分别介绍这四个数据包的内容 .
第一次挥手
第一次挥手的数据包内容如图所示.
可以得到以下信息 .
  • IP地址
    • IP地址: 172.26.229.54
    • 目标IP地址: 202.114.198.182
  • 端口号
    • 源端口号: 61197
    • 目的端口号: 443
  • 序列号(Sequence Number) : 1872. 当前数据包的相对序列号为1872确认号( Acknowledgment Number) : 148. 表示源主机确认了目标主机之前的所有数据, 其确认号为目标主机的序列号加 1
  • TCP 标志位
    • FIN: 设置为1. 表明这是一个请求断开连接的包. 源主机请求结束当前连接
    • ACK: 设置为 1. 表明此包同时包含对之前数据的确认
    • 其他标志位: 均未设置. 表示这是一个正常的关闭请求, 没有其他特殊的控制信息
  • 解释: 这是 TCP 四次挥手的第一步. 源主机发送 FIN , 请求断开连接. 这表示源主机已经完成数据发送, 进入半关闭状态, 等待目标主机的响应
第二次挥手
第二次挥手的数据包内容如图所示 .
可以得到以下信息 .
  • IP地址
    • IP地址: 202.114.198.182
    • 目标IP地址: 172.26.229.54
  • 端口号
    • 源端口号: 443
    • 目的端口号: 61197
  • 序列号(Sequence Number) : 148. 当前数据包的相对序列号为 148
  • 确认号( Acknowledgment Number) : 1873. 表示目标主机确认了源主机在第一次挥手中发送的 FIN , 其序列号为 1872, 所以确认号为 1873( 1872 + 1)
  • TCP 标志位
    • ACK: 设置为 1. 表示这是一个确认数据包, 用于确认源主机发送的 FIN
    • 其他标志位: 均未设置. 表明此包只是一个确认数据包, 没有其他控制信息
  • 解释: 这是 TCP 四次挥手的第二步. 用于确认源主机的 FIN , 通过此确认包, 源主机可以放心地进入半关闭状态, 目标主机将在稍后发送自己的 FIN 包请求断开连接
第三次挥手
第三次挥手的数据包内容如图所示 .
可以得到以下信息 .
  • IP地址
    • IP地址: 202.114.198.182
    • 目标IP地址: 172.26.229.54
  • 端口号
    • 源端口号: 443
    • 目的端口号: 61197
  • 序列号(Sequence Number) : 148. 当前数据包的相对序列号为 148
  • 确认号( Acknowledgment Number) : 1873. 表示目标主机确认了源主机在第一次挥手中发送的 FIN , 其序列号为 1872, 所以确认号为 1873( 1872 + 1)
  • TCP 标志位
    • FIN: 设置为1. 表示目标主机请求断开连接
    • ACK: 设置为 1. 表示目标主机对源主机的FIN包的确认
    • 其他标志位: 均未设置. 说明此包仅用于断开连接的请求和确认
  • 解释: 这是 TCP 四次挥手的第三步. 目标主机发送FINACK, 确认源主机的断开请求, 并发出自己的断开请求
第四次挥手
第四次挥手的数据包内容如图所示 .
可以得到以下信息 .
  • IP地址
    • IP地址: 172.26.229.54
    • 目标IP地址: 202.114.198.182
  • 端口号
    • 源端口号: 61197
    • 目的端口号: 443
  • 序列号(Sequence Number) : 1873. 当前数据包的相对序列号为1873
  • 确认号( Acknowledgment Number) : 149. 表示源主机确认了目标主机在第三次挥手中发送的FIN, 其确认号为目标主机的序列号加1(148+1)
  • TCP 标志位
    • ACK: 设置为 1. 表示这是一个确认数据包用, 于确认目标主机的FIN
    • 其他标志位: 均未设置. 表明此包只是一个确认包, 没有其他控制信息
  • 解释: 这是 TCP 四次挥手的第四步. 源主机通过此ACK包确认了目标主机在第三次挥手中发送的FIN 包, 表明连接正式关闭
过程总结
四次挥手过程 :
        1.第一次挥手 : 源主机发送 FIN , 表示希望断开连接
        2.第二次挥手 : 目标主机发送 ACK , 确认接收到源主机的 FIN
        3.第三次挥手 : 目标主机发送 FIN , 表示自己也准备断开连接
        4.第四次挥手 : 源主机发送 ACK , 确认接收到目标主机的 FIN 包,连接正式关闭
从此抓包分析可以确认 , 四次挥手过程是完整且成功的 , 双方的连接彻底关闭 !
### 回答1Wireshark是一款网络协议分析工具,可以用来抓取网络数据包并进行分析。Ping是一种常用的网络工具,用于测试网络连接是否正常。下面是使用Wireshark抓包并分析Ping的步骤: 1. 打开Wireshark并选择要抓取的网络接口。 2. 在过滤器中输入“icmp”,这样Wireshark就只会显示ICMP协议的数据包。 3. 在命令行中执行ping命令,例如“ping www.baidu.com”。 4. 在Wireshark中可以看到所有ping关的数据包,包括请求和响应。 5. 可以通过分析数据包的源地址、目的地址、时间戳等信息来判断网络连接是否正常。 总之,使用Wireshark抓包并分析Ping可以帮助我们更好地了解网络连接的情况,从而更好地维护网络。 ### 回答2: Wireshark是一款非常强大的网络协议分析工具,它的功能十分强大,可以用来抓包并分析网络数据包。其中,对于ping命令抓包分析,也是Wireshark常用的操作之一。 首先,我们可以通过Wireshark选择需要抓取数据包的网络接口,比如以太网接口、无线网卡、虚拟网卡等。接着,在过滤条件面板中输入“icmp”,选择“icmp echo request”过滤条件,点击“start”按钮开始抓包。 当我们在另一台电脑上使用ping命令ping该网络接口时,我们就可以在Wireshark中看到应的ping数据包,其中会包含源IP地址、目标IP地址、TTL值、数据长度等信息。我们可以通过Wireshark可以很轻松地分析该包的详细信息,比如:请求响应时间、往返时间、TTL值以及其他诸多参数,从而更深入地了解网络通信的一些基本参数。 Ping命令抓包分析常常被用于网络现问题的排查过程中,通过分析ping包可以判断某个节点的网络状况,以及是否存在延时、丢包等问题。同时,对于网络攻击防御也十分有用,比如可以分析DOS攻击中ping flood过程的细节,从而有效防御异常的ping请求等网络攻击行为。 总之,Wireshark抓包分析ping命令是非常实用的网络工具,尤其对于网络维护安全方面有着极其重要的作用。掌握这两个功能,对于网络管理人员,必不可少。 ### 回答3: Wireshark是一款流行的网络抓包工具,它可以通过在网络接口上监听数据包来进行数据抓包。其中,ping是一个常用的网络命令,能够检测网络连接是否正常,通过使用Wireshark可以对ping命令进行抓包分析,以了解网络延迟、丢包等问题。 在开始进行Wireshark抓包前,首先需要在网络适配器上设置过滤条件。以ping命令为例,可以使用以下过滤条件:icmp和ip.addr==<目标IP>。这将只过滤ICMP数据包以及目标IP地址匹配的数据包。接下来,运行ping命令并同时运行Wireshark进行抓包Wireshark在捕获到数据包后,可以进行详细的分析和解析。 在Wireshark中,可以通过查看ping命令发送的ICMP数据包来分析网络延迟和丢包情况。中可以看到,有多个ICMP数据包从源IP地址发送到目标IP地址,并且每个包的序号依次递增。在此基础上,通过观察时间戳可以计算每个数据包的延迟时间,以判断网络连接的速度和质量。 此外,Wireshark还可以分析ping命令的回应。当目标IP地址接收到ping数据包时,会向源IP地址返回一个回应数据包。在Wireshark中,可以通过查看回应数据包的序号和时间戳来分析网络延迟和丢包情况。如果回应数据包的序号和时间戳发送数据包不符,则说明存在丢包现象。通过这些分析,可以更好地了解网络连接的质量和性能问题。 总之,Wireshark抓包和分析ping命令是网络工程师必备的技能之一,通过这些技能,可以更好地了解网络的性能和质量问题,为网络优化和故障排除提供有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值