WireShark简介
WireShark是一个网络封包分析软件。网络封包分析软件的功能是截取网络的封包,并尽可能显示出最为详细的网络封包资料。WireShark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
WireShark的应用
- 网络管理员使用WireShark来检测网络的问题
- 网路安全工程师使用WireShark来检查咨询安全相关问题
- 开发者使用WireShark来为新的通讯协议除错
- 普通使用者使用WireShark来学习网络协议的相关知识
WireShark快速分析数据包技巧
- 确定WireShark的物理位置。如果没有一个正确的位置,启动WireShark后会花费很长的时间捕获一些和自己无关的数据
- 选择捕获接口。一般都是选择连接到Internet网络接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其他数据对自己也没有任何帮助。
- 使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获数据。这样用户自分析数据时,也不会受其他数据干扰。而且,还可以为用户节约大量的时间。
- 使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。
- 使用着色规则,通常使用捕获过滤器过滤后的数据,都是有用的数据包。如果想要更加突出的显示某个会话,可以使用着色规则高亮显示。
- 构建图表。如果用户想要更明显的看出一个网络中数据变化情况,使用图表的形式可以很方便的展现数据分布情况。
- 重组数据。当传输较大的图片或文件时,需要将信息分布在多个数据包中。这时候就需要使用重组数据的方法来抓取完整的数据。WireShark的重组功能,可以重组一个会话中不同数据包的信息,或者是重组一个完整的图片或文件。
常见协议包
- ARP协议
- ICMP协议
- TCP协议
- UDP协议
- DNS协议
- HTTP协议
- FTP协议
使用WireShark进行抓包
混杂模式介绍
混杂模式就是接受所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址。普通模式下网卡只接收发给本机的包(包括广播包)传递给上层程序,其他的包一律丢弃。一般来说,混杂模式不会影响网卡的正常工作,多在网络监听工具上使用。
WireShark的过滤器使用
开始混杂模式来做一下感受,再次捕获,在所有接口上使用混杂模式就可以直接进行抓包了。
捕捉ip是36.152.44.96的发送和接受的包
用过滤器筛选TCP的数据包
用过滤器筛选ARP的数据包
用过滤器筛选UDP的数据包
我们使用过滤器输入“upd”以筛选出udp报文。但是输入udp之后,会出现多种协议,原因是oicq以及dns都是基于udp的传输层之上的协议。
扩展:客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过三次握手,这样DNS服务器负载更低,响应更快。理论上说,客户端也可以指定向DNS服务器查询时用TCP,但事实上,很多DNS服务器经行配置的时候,仅支持UDP查询包。
- ip.src_host == 192.168.112.131 表示源ip地址
- ip.dst_host == 192.168.112.1 表示目标地址
- 我们中间用or进行了拼接,表示或;当然我们也可以使用and表示与
使用WireShark对常用协议抓包并分析原理
常用协议分析---ARP协议
地址解析协议(Address Resolution Protocol),是一个通过解析网络层地址来寻找数据链路层地址的网络传输协议,它在IPv4中及其重要。ARP是通过网络地址来定位MAC地址。
常用协议分析---ICMP协议