系列文章目录
最近入职了一家企业,就是专门负责网络部分,wireshark对于网络开发同学们是相当重要,并且wireshark也就相当于网络开发同学们中的显微镜,一些病毒,木马的研究却少不了的工具。
目录
目录
一、为什么要学习wireshark工具?
wireshark是一种网络抓包及分析工具,是网络分析人员手中的显微镜。
主要也就是解决一下几个问题
1.网络通讯的真实内容?
2.网络故障分析?
3.程序网络接口分析?
4.木马通讯数据内容?等等
二、学习wireshark的目的
- 为后期学习计算机网络通讯协议做准备
- 后期的所有涉及网络的问题都会用到它
- 跨平台性,降低学习好吃呢根本
- 作为其他抓包工具的后期分析软件
三、wireshark工作原理和功能模块
1.wireshark 抓包原理
1.网络原理:那种网络情况能够抓到包?
网络 情况分成三种情况:本机环境,集线器环境,交换机环境
本机环境:本机网卡进出的网络流量
集线器环境:可以抓取同一个集线器网域下的所有物理机发送的数据包(集线器已淘汰)
交换机环境:使用更多的(交换机环境下,两个主机通信的时候用的是mac表)
1.端口镜像(SPAN):通过在交换机上把两个通信的主机的接口复制一份,然后本机的wireshark调成混杂模式,就可以抓取到两个电脑的数据流量。
混杂模式是指一台主机能够接受所有经过它的数据流,不论这个数据流的目的地址是不是它,它都会接受这个数据包。也就是说,混杂模式下,网卡会把所有的发往它的包全部都接收。在这种情况下,可以接收同一集线器局域网的所有数据
2.ARP欺骗:通过cain&abel工具进行arp攻击是可以进行欺骗交换机,从而拿到其他主机通往的数据
3.MAC泛洪:泛洪垃圾包,产生大量的MAC地址,把MAC地址表进行挤出去,然后本来发送MAC二的数据,就会发送到我们的主机
2.底层原理:抓包的底层架构是什么?
GTK1/2:图形化的处理工具,处理用户的输入输出显示
Core : 核心引擎,通过函数调用其他的插件和引擎,进行联动调度的功能
wiretap: 格式支持引擎,从抓包文件中读取数据包,支持多种文件格式
Capture:抓包引擎,利用libpacp从底层抓取网络数据包,能从不同类型的网络接口进行抓包
WIN-/libcap :wireshark抓包依赖的库文件
2.wireshark的功能模块
2.wireshark协议转码
因为HTTP协议底层实现是TCP所以可以转码成TCP协议进行数据分析,向QICQ协议就可以转码成UDP协议一样。
3.wireshark数据分析
可以指定分析那种协议的数据通过图标,表格等形式进行表示出来
四、如何抓取数据包?
首先,需要设置过滤器,如果不设置过滤器也可以进行抓包,但是抓的包是所有协议的数据包,看起来回头很大滴!
1.如何设置过滤器?
Capture Filters(捕获过滤器)
语法:<Protocal name> <Direction> <Host(s)><value><Logical operations><Expression>
例子:
1. tcp src port 443 :只抓取源端口是443的tcp数据
2. not arp :不获取arp数据
3. port 80 :获取端口80的数据,
4. src 192.168.1.121 and port 233 :获取源ip是192.168.1.121端口是233的数据
1.<Protocal name> <Direction> <Host><value> 是为一个组或者叫一个表达式
2.<Logical operations> 是可以链接多个表达式的
<Protocal name> <Direction> <Host(s)><value><Logical operations>
1.Protocal 可选值:ether,fddi,ip,arp,rarp,tcp,udp等。默认为全部协议
2.Direction 可选值:src,dst,src and dst, src or dst. 默认是src or dst
3.Host(s) 可选值:net ,port ,host,portange. 默认为host(有主机,网络,端口,端口范围等意思)
4.Logical 可选值:not ,and ,or ;
运算优先级: not 是最高优先级, or 和 and具有相同的优先级
运算顺序:从左到右
五、如何展示过滤器?
1.展示的首要问题:选择
Display Filters (展示过滤器)
语法:<Protocal>. <string1>. <string2>. <Comparison operator><value> <logical operators><experssions>
实例:
1. tcp.port==80 展示端口是80的数据
2. !arp 不展示ARP协议的数据
3. ip.addr==192.168.1.111 只展示地址是有192.168.1.111的数据,不论来源还是目标地址
4.(ip.dst == 42.156.152.144)and (ip.dst == 42.156.152.144)
六、wireshark保存抓包文件
可以通过设置捕获->选项->输出 ,来保存什么格式的和捕获了多少数据,或者多少秒之后的数据
七、如何具体分析每个数据包?
可以自己添加列表项
图中的time表示多少毫秒后抓到的数据包,也可以进行点对应的列选项,可以进行排序