网络安全:WireShark 抓包及常用协议分析
WireShark 抓包及常用协议分析
打开kali终端进入wireshark
进入到wireshark点击选项
勾选选项混杂模式开始抓包
进入终端打开火狐,打开百度进行抓包
这时我们抓到了很多类型的数据包
上方的过滤器可以指定类型数据宝或者指定源地址目标地址等等,例如现在抓取arp协议的数据包
我们ping一个地址
我们可以用语法对源地址和目标地址进行过滤,ip.src_host代表源地址,ip.dst_host代表目标地址
使用 WireShark 对常用协议抓包并分析原理
1.ARP
地址解析协议 是一个解析网络层地址来找寻数据链路层地址的网络传输协议,ARP通过网络地址来定位MAC地址
开始过滤arp
我们用nmap来基于arp协议进行扫描
回到wireshark中我们选择第一个抓到的arp协议数据包进行分析
1.Address Resolution Protocol (request) //ARP地址解析协议 request请求包
2.Harfware type:Ethernet (1) //硬件类型
3.Protocol type:IPv4 (0x0800) //协议类型
4.Hardware size:6 //硬件地址
5.Protocol size:4 //协议长度
6.Opcode:request (1) //操作码 1表示请求包
7.Sender MAC address:VMware_91:59:6a (00:0c:29:91:59:6a) //源MAC地址
8.Sender IP address:192.168.91.132 //源IP地址
9.Target MAC address:00:00:00_00:00:00 (00:00:00_00:00:00) //目标MAC地址
10.Target IP address:192.168.91.2 //目标IP地址
下面分析下一个ARP应答数据包
1.Address Resolution Protocol (reply) //ARP地址解析协议 reply回复包
2.Harfware type:Ethernet (1) //硬件类型
3.Protocol type:IPv4 (0x0800) //协议类型
4.Hardware size:6 //硬件地址
5.Protocol size:4 //协议长度
6.Opcode:request (2) //操作码 2表示回复包
7.Sender MAC address:VMware_ff:2a:74 (00:50:56:ff:2a:74) //源MAC地址
8.Sender IP address:192.168.91.2 //源IP地址
9.Target MAC address:VMware_91:59:6a (00:0c:29:91:59:6a) //目标MAC地址
10.Target IP address:192.168.91.132 //目标IP地址
通过图片很好理解,192.168.91.132发出广播发出arp请求,请求192.168.91.2的MAC地址,然后192.168.91.2收到请求后,回复给192.168.91.132自己的MAC地址
2.ICMP
ping一个IP地址,然后过滤ICMP协议的数据包
1.Type:8
//协议类型8
2.Code:0
//代码0 表示回显请求(ping请求)
3.Checksum: 0xb151 [correct]
//检验和 用于检查错误数据
4.[Checksum Status: Good]
//检验状态 Good
5.Identifier (BE): 34896 (0x8850)
6.Identifier (LE): 20616 (0x5088)
//ID值 在应答包中返回该字段
7.Sequence Number (BE): 1 (0x0001)
8.Sequence Number (LE): 256 (0x0100)
//序列号依旧在应答包中返回该字段
9.Response frame:4
//响应帧的序列号:7
10.Data (48 bytes)
//填充数据 共48字节
应答包同理
3.tcp
模拟tcp会话建立,简单的方式就是利用Xshell远程连接kali,就会捕获到tcp的三次握手
下面我们分析TCP的数据包
TCP协议的核心概念无非就是三次握手四次挥手,我们先来看三次握手
1.Source Port: 49164
//源端口
2.Destination Port: 22
//目的端口
3.Sequence Number: 0 (relative sequence number)
//序列号
4.Sequence Number (raw): 328436414
[Next Sequence Number: 1 (relative sequence number)]
//确认序列号
5.1000 . . . . =Header Length: 32 bytes (8)
//头部长度
6.Flags: 0x002 (SYN)
//标志位SYN
7.Window: 64240
//windows窗口大小
8.Checksum: 0xddd4 [unverified]
[Checksum Status: unverified]
//校验和
打开标志位查看详细信息
从以上信息可以看出这是一个SYN数据包,SYN=1 表示发送一个链接请求,这时seq和ACK都为0
第二个数据包
不同的是序列号 seq=0 ACK=1
标志位SYN/ACK 表示这是TCP三次握手的第二个数据包
服务端收到SYN连接请求返回数据包SYN=1,ACK=1 表示回应第一个包
下面看第三个数据包
可以看到seq=1 等于上一帧的确认序列号
ACK=1 确认序列号有效
这样三次握手的过程就结束了
我们可以生成一个图表来观察数据交互的过程
点击流量图
灰色的那三个就是三次握手
我们清空一下数据包看一下断开链接时什么样的过程
找到最下面灰色的部分
这时我们直接来看流量图更直观一些
我们分析一下过程,我们在终端输入 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 状态并关闭本端的会话接口,释放相应资源。
4.HTTP
直接过滤TCP协议,因为HTTP协议是TCP的上层协议
前面三个和后面四个是tcp的三次握手四次挥手,中间的4到7是http请求部分
第一步:我们我们发送了一个 HTTP 的 HEAD 请求
第二步:服务器收到我们的请求返回了一个 Seq/ACK 进行确认
第三步:服务器将 HTTP 的头部信息返回给我们客户端 状态码为 200 表示页面正常
第四步:客户端收到服务器返回的头部信息向服务器发送 Seq/ACK 进行确认
发送完成之后客户端就会发送 FIN/ACK 来进行关闭链接的请求
网络安全:WireShark 抓包及常用协议分析相关推荐
- (44.1)【APP应用漏洞发现】抓包工具、协议分析、逆向工程
目录 APP应用漏洞发现 一.抓包工具: 1.1.http/https 1.1.1.Burpsuite: 1.1.2.Charies: 1.1.3.Fiddler: 1.1.4.抓包精灵(安卓): 1 ...
- Wireshark抓包及常用过滤方法
一.抓包 实际遇到组件服务间的报错问题时,通过日志无法快速看出原因,可通过抓包的方式来快速查看接口返回信息及错误提示,使用如下命令可实现对某个端口进行抓包: tcpdump -i any -w /op ...
- wireshark抓包使用教程,适合新手
版本更新至:Wireshark 3.4.5 Wireshark软件安装 Wireshark 3.4.5 绿色便携版(访问密码:1112)(最终支持 Windows XP 或更高版的版本) 如果你是Wi ...
- Linux下wireshark抓包验证telnet明文传输密码
Host-A IP:192.168.56.129 OS:RHEL5.9 32bit Service:telnet-server Host-B IP:192.168.56.128 OS:RHEL5.9 ...
- 用wireshark抓包疯狂聊天实验
文章目录 实验目的 实验环境 软件获取 实验过程 禁用其他网卡 启动疯狂聊天 启动WireShark 数据查看 分析 分析此程序网络连接采用的是哪种协议(TCP.UDP)和什么端口号 解释该程序为何能 ...
- Wireshark抓包分析之ICMP协议包
Wireshark抓包分析之ICMP协议包 一. Wireshark简介:(前身为Ethereal,2006年改名为wireshark) Wireshark 是一个网络封包分析软件.网络封包分析软件的 ...
- FTP协议的Wireshark抓包分析
文章目录 1.理论介绍 2.ftp安装 3.windows上连接ftp服务器 3.1.通过浏览器访问 3.2.通过资源管理器访问 3.3.通过命令行进行访问(本次采用方式,使用主动模式连接) 4.Wi ...
- 用wireshark抓包分析TCP协议的三次握手连接、四次握手断开
用wireshark抓包分析TCP协议的三次握手连接.四次握手断开 一.TCP三次握手图解 二.TCP得四次挥手过程 三.用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程 一.TCP三 ...
- 用Wireshark抓包分析协议 计算机网络
此篇博客记录使用Wireshark抓包分析协议. 目录 一.DNS 二.分析TCP握手过程 三.TLS报文 四.HTTP协议 五.SMTP 六.ARP 七.RTP 八.RTMP 一.DNS DNS是域 ...
最新文章
- Java常量池的大概理解
- 【网络安全】如何搭建MySQL恶意服务器读取文件?
- Cause: org.postgresql.util.PSQLException: ERROR: column province_id does not exist
- 12款优秀的 JavaScript 日历和时间选择控件
- 《Unit Testing》1.3 使用覆盖率指标来度量测试套件的好坏
- CMakeList.txt中设置一个可变的变量的值(bool)
- xposed 修改参数_【Android 原创】2020春节红包第三题Xposed框架Hook的应用
- 简单的php代理 Simple PHP Proxy
- 解封装(九):av_read_frame和av_seek_frame代码示例分析内存占用和清理情况
- java连接数据库的详细步骤?
- 计算机唱歌按键学猫叫6,电脑键盘按键的功能介绍(最全的键盘各键及组合键功能说明)...
- ArcGis 拓扑检查——缺顶点、悬挂检查代码 C#
- 达梦数据库DCA培训总结
- 关于ActionForm的一些问题
- 四十五、 Redis云平台CacheCloud搭建之二进制文件
- 软件测试面试的自我介绍
- 脸上长了黄褐斑怎么办
- 元宵节要到了,给大家猜几个谜语
- STM32开发,串口和PC机通信(串口中断、FIFO机制),安富莱+正点原子程序合并
- clickhouse初体验之create insert update select group by