WireShark 抓包及常用协议分析

admin 2025年1月12日00:02:40评论3 views字数 1789阅读5分57秒阅读模式

常见协议包

常见协议包

ARP 协议

ICMP 协议

TCP 协议

UDP 协议

DNS 协议

HTTP 协议

混杂模式介绍

1、混杂模式概述:混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC 地址。普通模式下网卡只接收发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。 一般来说,混杂模式不会影响网卡的正常工作,多在网络监听工具上使用。

2、关闭和开启混杂模式方法关闭和开启混杂模式前,需要停止当前抓包。

ip.src_host == 192.168.1.53 or ip.dst_host == 192.168.1.1

ip.src_host == 192.168.1.53 表示源 IP 地址

ip.dst_host == 192.168.1.1 表示目的地址

ARP协议

Address Resolution Protocol (reply)#ARP 地址解析协议 request 表示请求包

Hardware type: Ethernet (1)#硬件类型

Protocol type: IPv4 ( 0x0800 )#协议类型

Hardware size: 6#硬件地址

Protocol size: 4#协议长度
Opcode:_ request ( 1 )#操作码,该值为 1 表示 ARP 请求包

Sender MAC address: VMware_f1:35:ee (00:0c:29:f1:35:ee)#源 MAC 地址

Sender IP address: 192.168.1.53#源 IP 地址

Target MAC address: 00:00:00_ 00: 00:00 (00: 00: 00 :00: 00:00)#目标 MAC 地址

Target IP address: 192.168.1.1#目标 IP 地址

ICMP协议

ICMP请求包

WireShark 抓包及常用协议分析

ICMP应答包

WireShark 抓包及常用协议分析

本机发送一个 ICMP Echo Request 的包 接收方返回一个 ICMP Echo Reply,包含了接受到数据拷贝和一些其他指令

TCP/IP协议

WireShark 抓包及常用协议分析

标志为详细信息

WireShark 抓包及常用协议分析

我们从以上信息就可以看出这是一个 SYN 数据包,SYN=1 表示发送一个链接请求。这时 Seq 和 ACK 都是 0

WireShark 抓包及常用协议分析

flag信息位

WireShark 抓包及常用协议分析

我们可以看到服务端收到SYN连接请求返回的数据包SYN=1,ACK=1 表示回应第一个SYN数据包

WireShark 抓包及常用协议分析
WireShark 抓包及常用协议分析

到这里三次握手过程就结束了

前面 3 个就是 TCP 建立链接的过程,后面的就是相互通信的过程了这个时候 seq 就会根据数据包的 大小改变

断开连接的过程: 我们分析一下过程,我们在终端输入 EXIT 实际上是在我们 Kali 上执行的命令,表示我们 SSHD 的 Server 端向客户端发起关闭链接请求。

第一次挥手:服务端发送一个[FIN+ACK],表示自己没有数据要发送了,想断开连接,并进入 FIN_WAIT_1 状态

第二次挥手:客户端收到 FIN 后,知道不会再有数据从服务端传来,发送 ACK 进行确认,确认序号 为收到序号+1(与 SYN 相同,一个 FIN 占用一个序号),客户端进入 CLOSE_WAIT 状态。

第三次挥手:客户端发送 [FIN+ACK] 给对方,表示自己没有数据要发送了,客户端进入 LAST_ACK 状态,然后直接断开 TCP 会话的连接,释放相应的资源。

第四次挥手:服务户端收到了客户端的 FIN 信令后,进入 TIMED_WAIT 状态,并发送 ACK 确认消 息。服务端在 TIMED_WAIT 状态下,等待一段时间,没有数据到来,就认为对面已经收到了自己发送的 ACK 并正确关闭了进入 CLOSE 状态,自己也断开了 TCP 连接,释放所有资源。当客户端收到服务端的 ACK 回应后,会进入 CLOSE 状态并关闭本端的会话接口,释放相应资源。

HTTP 协议

curl -I baidu.com (curl 是一个在命令行下工作的文件传输工具,我们这里用来发送 http 请求 -I 大写的 i 表示仅返回头部信息)

连接过程

WireShark 抓包及常用协议分析

第一步:我们我们发送了一个 HTTP 的 HEAD 请求

第二步:服务器收到我们的请求返回了一个 Seq/ACK 进行确认

第三步:服务器将 HTTP 的头部信息返回给我们客户端 状态码为 200 表示页面正常

第四步:客户端收到服务器返回的头部信息向服务器发送 Seq/ACK 进行确认 发送完成之后客户端就会发送 FIN/ACK 来进行关闭链接的请求。

MTR 可以检测我们到达目标网络之间的所有网络设备的网络质量, 默认系统是没有安装 MTR 工具的我们手动安装一下

apt install -y mtr

原文始发于微信公众号(泷羽Sec-shinyer安全):WireShark 抓包及常用协议分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月12日00:02:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   WireShark 抓包及常用协议分析https://cn-sec.com/archives/3620198.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息