还在为复杂的网络安全抓包分析头疼?别慌!今天就带你玩转Wireshark,让你从入门到精通,轻松搞定网络安全!🚀
WireShark,这可是网络安全界的“显微镜”🔬,能帮你把网络里跑的每一个数据包都看得清清楚楚。想成为网络安全工程师?想在网络分析领域大展身手?那就赶紧跟着我,一起解锁Wireshark的正确姿势吧!
本文为你准备了:
- Wireshark主界面深度揭秘:带你熟悉每个角落,就像老朋友一样亲切。
- WireShark抓包实战演练:手把手教你抓取、查看和分析数据包,小白也能秒变大神!
- Wireshark过滤器高级应用:各种过滤姿势,让你在海量数据中精准定位目标,效率翻倍!
准备好了吗?让我们一起开始这场刺激的网络安全探索之旅吧!
初识Wireshark:界面不再陌生
首先,让我们来认识一下这位“老朋友”——Wireshark的主界面。
是不是感觉有点复杂?别怕,跟着我的节奏,保证你很快就能上手!
这就是Wireshark的主战场!接下来,我们要做的就是选择合适的“武器”,开始我们的抓包之旅。
打开菜单栏的 "Capture -> Option",找到你正在使用的网卡(不知道选哪个?看看你的IP地址对应的网卡就知道了!)。然后,点击 "Start",开始抓包!
Wireshark已经进入“监听”状态,准备捕捉网络中的每一个数据包。
Wireshark抓包实战:Ping一下,世界都安静了
- 执行抓包操作:比如,我们可以 ping 一下 www.baidu.com。
- 数据包到手:操作完成后,相关的数据包就被抓取到了!为了避免被无用的数据包干扰,我们可以在过滤栏设置条件,只看我们关心的内容。比如,输入
ip.addr == 119.75.217.26 and icmp
,就可以只显示ICMP协议,且源或目标IP为119.75.217.26的数据包。
- 抓包完成:是不是很简单?后面的内容会更精彩,教你如何玩转过滤器,深入分析数据包!
Wireshark抓包界面详解:颜色背后的秘密
注意到了吗?数据包列表区里,不同的协议用了不同的颜色来区分。想知道这些颜色代表什么?点击菜单栏 "View --> Coloring Rules",一探究竟!
WireShark的“三大件”:过滤器、数据包列表、详细信息
- Display Filter(显示过滤器):设置过滤条件,快速定位目标数据包。菜单路径:Analyze --> Display Filters。
- Packet List Pane(数据包列表):这里展示了抓取到的数据包,包括编号、时间戳、源/目标地址、协议、长度和信息。不同协议的数据包用不同的颜色区分,一目了然。
-
Packet Details Pane(数据包详细信息):选中一个数据包,这里会显示它的所有详细信息。这是最重要的面板,可以查看协议中的每一个字段。
各行信息分别代表:
(1)Frame: 物理层的数据帧概况
(2)Ethernet II: 数据链路层以太网帧头部信息
(3)Internet Protocol Version 4: 互联网层IP包头部信息
(4)Transmission Control Protocol: 传输层TCP的数据段头部信息
(5)Hypertext Transfer Protocol: 应用层的信息,这里是HTTP协议
TCP包的具体内容:
从下图可以看到wireshark捕获到的TCP包中的每个字段。
- Dissector Pane(数据包字节区):展示数据包的原始字节数据,一般用于高级分析。
Wireshark过滤器:数据海洋里的指南针
刚开始用Wireshark,面对海量的数据包,是不是感觉像大海捞针?别担心,Wireshark自带两种神器——抓包过滤器和显示过滤器,帮你快速锁定目标!
(1) 抓包过滤器:先过滤,再抓取
捕获过滤器的菜单栏路径为Capture --> Capture Filters。用于在抓取数据包前设置。
使用方法:在抓取数据包前设置过滤条件。
比如,ip host 60.207.246.216 and icmp
表示只捕获主机IP为60.207.246.216的ICMP数据包。
(2) 显示过滤器:抓到了,再筛选
显示过滤器用于在抓取数据包后,设置过滤条件来筛选数据包。通常在抓取数据包时设置条件相对宽泛,抓取的数据包内容较多时使用显示过滤器设置条件顾虑以方便分析。
比如,我们先抓取所有数据包,然后执行ping www.huawei.com
,得到如下数据包列表:
可以看到,列表中包含大量无效数据。这时,我们可以设置显示过滤器 ip.addr == 211.162.2.183 and icmp
,提取出我们需要的信息。
总的来说,如果组网不复杂或者流量不大,用显示过滤器进行抓包后处理就足够了。下面我们来深入了解一下这两种过滤器的语法和区别。
Wireshark过滤器表达式:规则就是力量
1、抓包过滤器语法和实例
抓包过滤器由Type(host、net、port)、Dir(src、dst)、Proto(ether、ip、tcp、udp、http、icmp、ftp等)、逻辑运算符(&& 与、|| 或、!非)组成。
(1)协议过滤
直接在抓包过滤框中输入协议名即可。
TCP
:只显示TCP协议的数据包列表HTTP
:只查看HTTP协议的数据包列表ICMP
:只显示ICMP协议的数据包列表
(2)IP过滤
host 192.168.1.104
src host 192.168.1.104
dst host 192.168.1.104
(3)端口过滤
port 80
src port 80
dst port 80
(4)逻辑运算符
src host 192.168.1.104 && dst port 80
:抓取主机地址为192.168.1.80、目的端口为80的数据包host 192.168.1.104 || host 192.168.1.102
:抓取主机为192.168.1.104或者192.168.1.102的数据包! broadcast
:不抓取广播数据包
2、显示过滤器语法和实例
(1)比较操作符
比较操作符有==
(等于)、!=
(不等于)、>
(大于)、<
(小于)、>=
(大于等于)、<=
(小于等于)。
(2)协议过滤
直接在Filter框中输入协议名即可。注意:协议名称需要输入小写。
tcp
:只显示TCP协议的数据包列表http
:只查看HTTP协议的数据包列表icmp
:只显示ICMP协议的数据包列表
(3)IP过滤
ip.src ==192.168.1.104
:显示源地址为192.168.1.104的数据包列表ip.dst==192.168.1.104
:显示目标地址为192.168.1.104的数据包列表ip.addr == 192.168.1.104
:显示源IP地址或目标IP地址为192.168.1.104的数据包列表
(4)端口过滤
tcp.port ==80
:显示源主机或者目的主机端口为80的数据包列表。tcp.srcport == 80
:只显示TCP协议的源主机端口为80的数据包列表。tcp.dstport == 80
:只显示TCP协议的目的主机端口为80的数据包列表。
(5)Http模式过滤
http.request.method=="GET"
:只显示HTTP GET方法的。
(6)逻辑运算符
过滤多个条件组合时,使用and
/or
/not
。比如,获取IP地址为192.168.1.104的ICMP数据包表达式为ip.addr == 192.168.1.104 and icmp
(7)按照数据包内容过滤
以IMCP层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。
右键单击选中后出现如下界面
选中Select后在过滤器中显示如下
后面条件表达式就需要自己填写。我想过滤出data数据包中包含"abcd"内容的数据流。包含的关键词是contains
后面跟上内容。
Wireshark实战:TCP三次握手,握住安全的钥匙
(1) TCP三次握手连接建立过程
Step1:客户端发送一个SYN=1,ACK=0标志的数据包给服务端,请求进行连接,这是第一次握手;
Step2:服务端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让客户端发送一个确认数据包,这是第二次握手;
Step3:服务端发送一个SYN=0,ACK=1的数据包给客户端端,告诉它连接已被确认,这就是第三次握手。TCP连接建立,开始通讯。
(2) wireshark抓包获取访问指定服务端数据包
Step1:启动wireshark抓包,打开浏览器输入www.huawei.com。
Step2:使用ping www.huawei.com获取IP。
Step3:输入过滤条件获取待分析数据包列表 ip.addr == 211.162.2.183
图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。
第一次握手数据包
客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。
数据包的关键属性如下:
- SYN :标志位,表示请求建立连接
- Seq = 0 :初始建立连接值为0,数据包的相对序列号从0开始,表示当前还没有发送数据
- Ack =0:初始建立连接值为0,已经收到包的数量,表示当前没有接收到数据
第二次握手的数据包
服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1,即0+1=1。
数据包的关键属性如下:
- [SYN + ACK]: 标志位,同意建立连接,并回送SYN+ACK
- Seq = 0 :初始建立值为0,表示当前还没有发送数据
- Ack = 1:表示当前端成功接收的数据位数,虽然客户端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位。(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)
第三次握手的数据包
客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段写ISN的+1。
数据包的关键属性如下:
- ACK :标志位,表示已经收到记录
- Seq = 1 :表示当前已经发送1个数据
- Ack = 1 : 表示当前端成功接收的数据位数,虽然服务端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)。
就这样通过了TCP三次握手,建立了连接。开始进行数据交互
下面针对数据交互过程的数据包进行一些说明:
数据包的关键属性说明
- Seq: 1
- Ack: 1: 说明现在共收到1字节数据
- Seq: 1
- Ack: 951: 说明现在服务端共收到951字节数据
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG。
- SYN表示建立连接,
- FIN表示关闭连接,
- ACK表示响应,
- PSH表示有DATA数据传输,
- RST表示连接重置。
Wireshark进阶:常用操作,效率翻倍
Wireshark分析常用操作
调整数据包列表中时间戳显示格式。调整方法为View -->Time Display Format --> Date and Time of Day。调整后格式如下:
这些就是WireShark的常用操作了。
一般Wireshark软件也可以与各主流厂家的模拟器一起使用,更适合于项目准确配置。
好了,今天的Wireshark秘籍就分享到这里。是不是感觉网络安全也没那么难了?快去实践一下,成为真正的网络安全专家吧!💪
黑客/网络安全学习包
资料目录
-
成长路线图&学习规划
-
配套视频教程
-
SRC&黑客文籍
-
护网行动资料
-
黑客必读书单
-
面试题合集
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
3.SRC&黑客文籍
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
**
**
6.面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
更多内容为防止和谐,可以扫描获取~
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************