wireshark--流量分析利器

🎼个人主页:金灰

😎作者简介:一名简单的大一学生;易编橙·终身成长社群的嘉宾.✨

专注网络空间安全服务,期待与您的交流分享~

感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

🍊易编橙·终身成长社群🍊 : http://t.csdnimg.cn/iSLaP 期待您的加入~

免责声明:本文仅做分享...

目录

官方文档

WireShark简介

WireShark的应用

WireShark快速分析数据包技巧

混杂/普通模式介绍:

切换模式

过滤器使用:

 筛选源地址或目的地址

TCP协议 包 

  3 次握手

握手1 

握手2 

握手3

4次挥手

udp协议 包

ARP 协议 包

广播请求的包 (request)

应答的包 (reply)

小结

ICMP 协议 包

请求包

应答包

HTTP 协议 包


官方文档

https://www.wireshark.org/docs/


WireShark简介

Wireshark是一个网络封包分析软件。

网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用 WinPCAP 作为接口,直接与网卡进行数据报文交换。

WireShark的应用

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协议除错,普通使用者使用Wireshark来学习网络协议的相关知识。

当然,有的人也会“居心回测”的用它来寻找一些敏感信息....


WireShark快速分析数据包技巧

(1)确定Wireshark的物理位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一一些与自己无关的数据。
(2)选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。
(3)使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获数据。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。
(4)使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。
(5)使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。
(6)构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况。
(7)重组数据。当传输较大的图片或文件时,需要将信息分布在多个数据包中。这时候就需要使用重组数据的方法来抓取完整的数据。Wireshark的重组功能,可以重组一个会话中不同数据包的信息,或者是重组一个完整的图片或文件

混杂/普通模式介绍:

混杂模式:混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证
MAC 地址。(一般来说,混杂模式不会影响网卡的正常工作,多在网络监听工具上使用.)

普通模式下网卡 只接收发给本机的包 (包括广播包)传递给上层程序,其它的包一律丢弃。 

切换模式

停止抓包-->捕获--->选项--->在所有接口上使用混杂模式-->开始


过滤器使用:

开始监听后,就有非常多的包包--->那么通过过滤器---根据自己的条件筛选自己想要的数据包。 

 


 筛选源地址或目的地址

ip.addr == xxx.xxx.xxx.xxx
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 表示目的地址 
我们中间用 or 进行了拼接,表示或 当然我们也可以使用 and 表示与,or 表示满足左右其中一个条
件就会显示符合条件的数据包,and 表示左右 2 个条件都满足才会显示。 



TCP协议 包 

tcp

tcp.flags.ack == 1

  3 次握手 4 次断开.

  3 次握手

握手1 

一个 SYN 数据包,SYN=1 表示发送一个链接请求。这时 Seq 和 ACK 都是 0  


握手2 

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


握手3


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


4次挥手

第一次挥手:服务端发送一个[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 状态并关闭本端的会话接口,释放相应资源。

udp协议 包

我们使用过滤器输入“udp”以筛选出 udp 报文。但是为什么输入 udp 之后出现那么多种协议呢?
-->原因就是 oicq 以及 dns 都是基于 udp 的传输层之上的协议 

扩展:
客户端向 DNS 服务器查询域名,一般返回的内容都不超过 512 字节,用 UDP 传输即可。
不用经过三次握手,这样 DNS 服务器负载更低,响应更快。
理论上说,客户端也可以指定向 DNS 服务器
查询时用 TCP,但事实上,很多 DNS 服务器进行配置的时候,仅支持 UDP 查询包。


ARP 协议 包

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

广播请求的包 (request)

参考

 


应答的包 (reply)

参考

 


小结

总结:我们可以看到到应答包补全了自己的 MAC 地址,目的地址和源地址做了替换.
两个数据包的请求和过程: 
 (一问一答)
192.168.1.2 广播:谁有 192.168.1.1 的 MAC 地址? 
192.168.1.1 应答:192.168.1.1 的 MAC 地址是 xxxxxxxxxxx 


ICMP 协议 包

ping 

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

请求包

参考


应答包


HTTP 协议 包

我们还是筛选 TCP 协议因为 HTTP 是 TCP 的上层协议,所以我们过滤 TCP 的数据会包含 HTTP 协
议的数据包.
  
curl -I baidu.com 
curl 是一个在命令行下工作的文件传输工具,我们这里用来发送 http 请求 
-I 大写的 i 表示仅返回头部信息。 
我们可以看到我们抓到了 TCP 的 3 次握手 4 次断开 

第一步:我们我们发送了一个 HTTP 的 HEAD 请求 
第二步:服务器收到我们的请求返回了一个 Seq/ACK 进行确认 
第三步:服务器将 HTTP 的头部信息返回给我们客户端 状态码为 200 表示页面正常 
第四步:客户端收到服务器返回的头部信息向服务器发送 Seq/ACK 进行确认 
发送完成之后客户端就会发送 FIN/ACK 来进行关闭链接的请求。 

右键--追踪流.


......

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值