Kali Linux --《网络安全》-- 使用 WireShark 对常用协议抓包并分析原理

前言

作为一款高效免费的抓包工具,wireshark可以捕获并描述网络数据包,其最大的优势就是免费、开源以及多平台支持,在GNU通用公共许可证的保障范围下,用户可以免费获取软件和代码,并拥有对其源码修改和定制的权利,如今其已是全球最广泛的网络数据包分析软件之一。接下来我就带大家用WireShark 实战:使用 WireShark 对常用协议抓包并分析原理

常用协议分析-ARP 协议

地址解析协议(英语:Address Resolution Protocol,缩写:ARP)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,它在 IPv4 中极其重要。ARP 是通过网络地址来定位 MAC 地址。

开始抓包—过滤 arp

我们使用 nmap 来基于 ARP 协议进行扫描

┌──(root xuegod53)-[~]└─# nmap-sn192.168.1.1

我们看一下我们抓取到的数据包

分析第一个请求包

查看 Address Resolution Protocol (request) ARP 请求包内容:

Address ResolutionProtocol(request)#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 地址

我们来分析第二个数据包 ARP 的应答数据包

查看: Address Resolution Protocol (reply) ARP 地址解析协议

Address ResolutionProtocol(reply)#ARP 地址解析协议 reply 表示回复包Hardware type:Ethernet(1)#硬件类型Protocol type:IPv4(0x0800)#协议类型Hardware size:6#硬件地址Protocol size:4#协议长度Opcode:_reply(2)#操作码,该值为2表示 ARP 回复包Sender MAC address:XXXXXXXXXXXX(9c:61:21:75:55:50)#源 MAC 地址Sender IP address:192.168.1.1#源 IP 地址Target MAC address:VMware_f1:35:ee(00:0c:29:f1:35:ee)#目标 MAC 地址Target IP address:192.168.1.53#目标 IP 地址

总结:我们可以看到到应答包补全了自己的 MAC 地址,目的地址和源地址做了替换我们再来看两个数据包的请求和过程

192.168.1.53 广播:谁有 192.168.1.1 的 MAC 地址?

192.168.1.1 应答:192.168.1.1 的 MAC 地址是 xxxxxxxxxxx

很有趣的一个过程不是吗?

常用协议分析-ICMP 协议

我们把之前的数据包清空掉然后筛选 ICMP 协议的数据包

打开一个终端

┌──(root xuegod53)-[~]└─# ping xuegod.cn-c1

我们只发送一个 ping 包,方便我们分析发送完之后停止抓包即可。

我们先看请求包的内容我们可以看到这是个 4 层的协议包

下面我们开始分析 ICMP 协议包:

ICMP 协议分析请求包

ICMP 协议分析应答包

工作过程:

本机发送一个 ICMP Echo Request 的包

接受方返回一个 ICMP Echo Reply,包含了接受到数据拷贝和一些其他指令

常用协议分析-TCP 协议

首先是清空数据包然后筛选 tcp 开始抓包

我们模拟一下 tcp 会话建立,那最简单的方式是什么呢?

我们通过 Xshell 远程连接 Kali Linux 就会捕获到完整的 TCP3 次握手的链接。

抓完数据包之后我们就停止抓包,接下来我们开始分析 TCP 的数据包

TCP 协议最核心的概念无非就是 3 次握手 4 次断开,我们先讲 TCP 的 3 次握手

查看 TCP 协议:

我们先来看第一个数据包 SYN 数据包

下面这样图是打开标志位的详细信息

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

ACK 都是 0

我们分析第二个数据包

Flags 位信息

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

包。

我们看第三个数据包

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

我们生成一个图表来观察数据交互的过程

点击显示过滤器

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

大小改变。

我们清空一下数据包来看一下断开链接是一个什么样的过程.

我们在 Xshell 窗口中输入 exit 退出

我们重新到 WireShark 生成图标

们分析一下过程,我们在终端输入 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 协议

我们还是筛选 TCP 协议因为 HTTP 是 TCP 的上层协议,所以我们过滤 TCP 的数据会包含 HTTP 协

议的数据包

我们打开一个终端输入下面命令。

┌──(rootxuegod53)-[~]└─# curl-I baidu.com

curl 是一个在命令行下工作的文件传输工具,我们这里用来发送 http 请求

-I 大写的 i 表示仅返回头部信息。

我们可以看到我们抓到了 TCP 的 3 次握手 4 次断开

第 4 个和第 6 个是我们的 HTTP 数据包

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

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

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

第四步:客户端收到服务器返回的头部信息向服务器发送 Seq/ACK 进行确认

发送完成之后客户端就会发送 FIN/ACK 来进行关闭链接的请求

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容