【认识】wireshark使用教程

时间:2022-12-21 07:54:02

本文章,是简单粗暴学习Wireshark的抓包功能后,记录的一些笔记。

1 Wireshark简介及抓包原理及过程

1.1 简介

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

1.2 应用

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协议出错,普通使用者使用Wireshark来学习网络协议的相关知识。当然也有人使用寻找敏感信息。

1.3 快速分析数据包技巧

1)确定Wireshark的物理位置,如果没有1个正确的位置,启动Wireshark后会花费很长的时间捕获一些与自己无关的数据。

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

1.4 Wireshark实战

首先查看电脑自身网卡
windows版本:命令ipconfig
Linux版本:ifconfig
【认识】wireshark使用教程
打开Wireshark,捕获你需要的网卡
【认识】wireshark使用教程
点击开始就开始进行抓包
【认识】wireshark使用教程

1.4.1 混杂模式

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

普通模式,就是取消勾选混杂模式
【认识】wireshark使用教程

1.4.1 Wireshark过滤器使用、协议分析

在所有接口上使用混杂模式就可以直接进行抓包。
实例1:在过滤器上面输入tcp等关键字就可以进行抓包
【认识】wireshark使用教程
筛选udp,会筛选udp报文。但是输入udp后出现那么多种协议,原因就是oicq以及dns都是集运udp传输层之上的协议。
扩展:客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过三次握手,这样DNS服务器负载更低,响应更快。理论上,客户端也可以指定向DNS服务器查询时使用TCP,但是,很多DNS服务器进行配置的时候,仅仅支持UDP查询包。
实例2:筛选源地址或目标地址筛选
【认识】wireshark使用教程
实例3 筛选ip地址(这里没有指定是原地址、目标地址)
【认识】wireshark使用教程
实例4 抓包arp
地址解析协议:arp是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,在ipv4极其重要。arp是通过网络地址来定位mac地址。
【认识】wireshark使用教程
总结:应答包补全自己的mac地址,目的地址和源地址做了替换。
【认识】wireshark使用教程

实战5 常用协议分析-ICMP协议
【认识】wireshark使用教程
传输过程:本机发送ICMP Echo Request包。接收方返回1个ICMP Echo Replay,包含接收到数据拷贝和一些其他命令。

实战6 常用协议分析-TCP
【认识】wireshark使用教程
模拟tcp会话建立。三次握手见截图
【认识】wireshark使用教程
图表三次连接
【认识】wireshark使用教程
四次挥手图表:
第一次挥手:服务端发送1个【FIN+ACK】,表示自己没有数据要发送了,想断开连接,并进入FIN_WAIT_1状态
第二次挥手:客户端收到FIN后,知道不会再有数据从服务端传来,发送ACK进行确认,确认序号为收到序号+1(与SYN相同,1个FIN占用1个序号),客户端进入CLOSE_WAIT状态.
第三次挥手:客户端发送(FIN+ACK)给对方,表示自己没有数要发送了,客户端进入LAST_ACK状态,然后直接断开TCP会话的连接,释放相应的资源。
第四次挥手:服务端收到客户端的FIN信令后,进入TIMED_WAIT状态,并发送ACL确认消息。服务端在TIMED_WAIT状态下,等待一段时间,没有数到来,就认为对面已经收到了自己发送的ACK并正确关闭进入close状态,自己也断开TCP连接,释放所有资源。当客户端收到服务端ACK回应后,会进CLASE状态并关闭本端的会话接口,释放相应资源。
【认识】wireshark使用教程
实例7:
修改ttl为2
【认识】wireshark使用教程
修改为原来的ttl为64,这里显示的ttl值是52,以及对应抓包ip信息
【认识】wireshark使用教程
【认识】wireshark使用教程
Time to live exceeded是超过生存时间。
我们判断和目标之间经过多少个网络设备是根据目标返回给我们的ttl值来判断的,因为发送的数据包看不到。
【认识】wireshark使用教程
【认识】wireshark使用教程
使用 mtr加域名地址,可以看见12个网络质量
【认识】wireshark使用教程

--------如有侵权,请联系删除-------------