https://edu.51cto.com/partner/view/id-15.html
https://edu.51cto.com/course/3721.html?source=so 参考视频
Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息……。Wireshark相对于tcpdump而言,界面更友好,功能更强大
是目前全球使用最广泛额开源抓包软件。
软件功能:1.分析网络底层协议 2.解决网络故障问题 3.找寻网络安全问题
相关网址: 官网:https://www.wireshark.org/
https://www.wiresharkbook.com/ 书籍推荐
https://wiki.wireshark.org/ 拓展
1.本机环境:直接抓包本机网卡进出流量
wireshark绑定本机的一个网卡,不需要第三方设备,交换机等。
2.集线器环境:网络防洪,同一冲突域
wireshark绑定在PC1上,如果PC2,PC3发一个虚拟包到集线器的网络里面,这个冲突域或者广播域,因为集线器是物理层产品,看不懂IP地址,MAC地址,他的处理方式就是收到一个包它会往其他的所有(除了接受包的源端口),因为只要电脑安装了wireshark软件,就可以抓到从一个集线器其他电脑发送的虚拟包,这是典型的老网络。现在很少看到这种网络拓扑。
也就是可以抓整个局域网里面的包了,第一种是只能抓取本机的包。
3.交换机环境(目前最常用)
1.端口镜像
和第二种方式拓扑一样,把集线器换成了交换机。
集线器是物理层产品,交换机是链路层产品,甚至将是网络层产品,转发虚拟包完全是按照交换机上面的一张MAC表进行通信的,因此PC2,PC3相互通信的时候PC1抓不到包的。我们可以在交换机做策略,叫SPAN即端口镜像,把交换机其他两个接口的流量拷贝一份到PC1,PC1网卡设置为混杂模式,默认装了wireshark都会帮你调成混杂模式,因为就可以进行抓包了。对整个网络流量进行监控或者是一个付费的产品来监控整个网络的流量。就是这种方案。
2.ARP欺骗
就是没有权限在交换机上做端口镜像技术。又想获取整个局域网流量,侦听PC2,3流量。因此使用Cain&Abet攻击软件。
正常流程就是PC2发送一个请求出来,交换机首先把包发给PC1,3因为是广播嘛,正常情况PC1丢弃包,因为问的是IP3,然后IP3回复它的MAC3地址,如果安装了ARP攻击软件,做 ARP欺骗,回复我是IP3,对应的MAC1,因为ARP有个特性是后到优先,ARP软件发送多个包导致PC2的ARP表进行了错误的绑定,IP3-MAC1,因此当PC2给PC3发送包的时候交换机把数据包发送给了PC1,实现了局域网中流量劫持。很典型的一种局域网攻击。非正常的抓包。
3.MAC泛洪(也是一种攻击方式)
也是没有权限对交换机做端口镜像,无法通过端口镜像把PC2,3的流量拷贝过来,可以通过泛洪垃圾包,产生大量的MAC地址,看图中的圈2,交换机中的MAC地址表会变成右边的这张表,相当于爆表,把其他电脑发送的MAC2,MAC3挤出去,按照交换机的处理原理,如果交换机收到的虚拟机是未知帧,那么就会对外泛洪,非正常的抓包方式。
wireshark流量过来是怎么处理的。
安装wireshark必须要有的工具就是libpcap,是抓包的底层驱动,一般下载wireshark之后已经 有这个驱动工具了。(底层支持,库支持)
Capture:有了libpcap,Capture就可以抓取有线的,无线的,USB上的数据包。因此Capture,libpcap形成了抓包的部分。
Wiretap:因为抓取的数据包都是0和1,因此要转换为图形化的,根据不同的协议,进行解读。格式支持。
core:核心引擎,有很多外置的插件,过滤器,插件,协议树,(做一些插件支持)
GTK1/2:最后转换为用户所看到的界面,(图形化出来)
Harddisk:把包抓取之后存储在硬盘。
TShark 基本的网络分析协议器
基本的插件,基本的工具包支持,帮助文档。
后面的一直下一步(都是默认的)
1.初始界面
2.选择网卡 Interface List 网卡列表
3.停止抓包(点击上方的红色按钮)
4.保存数据包 FIle--->Save As
wireshark支持超多的抓包格式, 保存格式:我们应该是pcapng下的版本
注意:第一次抓包的时候是没有办法保存的,SAVE As是灰色的。因此需要首先点击上方的红色按钮停止抓取数据包,点击 FIle--->Save As 完成保存。
标题栏 虚拟网卡的名字
菜单栏 Capture(抓包栏)比较重要:有网卡选择,过滤器等 Analyze(分析栏):显示过滤器,流追踪(TCP,UDP)
工具栏 相当于基本的快捷方式,有网卡选择,查看系统选项,
数据包过滤栏 过滤协议等
数据包列表区 每一行那个就是一个数据包 源地址给目的地址什么时间通过什么协议发了什么内容,实时流量显示过程,时间都是从0秒开始的,数据包长度,数据包内容(抓包软件对数据包的解读)等
数据包详细区 详细的解包能力:分析包的字段等
数据包字节区 研究IP字节,端口字节,特定的某个字段或字节等一个长度大小,可通过二进制,十六进制的方式查看
数据包统计区 虚拟包统计区域,告诉总共抓多少个包,有多少个字节,显示了多少个包,丢了多少个包
增加列
添加一列生存时间
修改列
1.设置时间格式 2.设置参考时间
发现已经转换成域名了
手工设置:
但是这种方式流量大,资源消耗大。
还有端口解析映射的名字
不需要解析就Capture--->options再关闭掉网络层,运输层的解析。
可以看到下面的数据包多了一个数据包说明packet comments
例如1分钟抓了10个包,想做流量统计,就需要数据包合并
显示不会被合并,需要先存储,点击save,命名
之后再次弹出文件,选择要合并的数据包
例如:只想导出http某个特定数据包
这时候可以查看导出的这一个数据包,如果选贼ALL,那么就导出所有的http包