抓包工具
抓包工具是拦截查看网络数据包内容的软件。抓包工具由于其可以对数据通信过程中的所有lP报文实施捕获并进行逐层拆包分析,一直是传统固网数通维护工作中罐常用的故障排查工具,业内流行的抓包软件有很多:Wireshark、SnifferPro、Snoop以及Tcpdump等各抓包软件界面,应用平台稍有差别外,基本功能大同小异。
功能
抓包工具常用数通分析功能有:
1、TCP/UDP/ICMP等报文交互过程分析
这是抓包工具最基本的功能
2、数据包传输时延分析
抓包工具支持记录每一抓取报文的时间点,还支持用任一报文与前一报文的时间差来作为记录报文抓取的时间点。据此可以实现对特定时间点报文的分析和对节点转发报文时延的计算。
3、L3-L7层IP数据报文分析
实现对IP报文的L3层IP地址头、L4层TCP/UDP头直到7层的内部信息的直观分析。
4、数传丢包分析
通过比对某节点进出两侧的抓包的IP报文中经节点转发后保持不变的identification字段,或者利用TCP通信的SEQ及ACK序列号分析节点或链路丢包情况,可分析判断转发报文的设备(路由器、交换机、SGSN、GGSN)是否发生了故障或出现了报文转发瓶颈。
Wireshark
安装
a.windows下安装直接到官网下载
b.linux下安装
如果是命令行版的系统需要安装桌面包
#安装图形包
yum -y groupinstall GNOME Desktop
#安装插件
yum -y groupinstall "X Window System"
#启动
startx
然后打开终端安装wireshark
#安装wireshark模块
yum -y install wireshark
#安装wireshark界面组件
yum -y install wireshark-gnome
#启动wireshark,在命令行中输入wireshark即可启动
** Wireshark抓包原理 **
Wireshark使用的环境大致分为两种,一种是电脑直连互联网的单机环境,另外一种就是应用比
较多的互联网环境,也就是连接交换机的情况。
「单机情况」下,Wireshark直接抓取本机网卡的网络流量;
「交换机情况」下,Wireshark通过端口镜像、ARP欺骗等方式获取局域网中的网络流量。
端口镜像:利用交换机的接口,将局域网的网络流量转发到指定电脑的网卡上。
ARP欺骗:交换机根据MAC地址转发数据,伪装其他终端的MAC地址,从而获取局域网的网络流量。
**Wireshark使用 **
选择网卡
打开 Wireshark 后,会直接进入「网卡选择界面」,WLAN 是我连接无线的网卡,我们抓一下这个网卡的流量,双击网卡名,自动开始抓包。
停止抓包
点击左上角的「红色按钮」,可以停止抓包
保存数据
点击右上角的「文件」,选择「保存」,可以保存抓包的数据
界面介绍
Wireshark 的主界面包含6个部分:
菜单栏:用于调试、配置
工具栏:常用功能的快捷方式
过滤栏:指定过滤条件,过滤数据包
数据包列表:核心区域,每一行就是一个数据包
数据包详情:数据包的详细数据
数据包字节:数据包对应的字节流,二进制
基础操作
接下来,我们学习一下Wireshark常用的操作。
调整界面大小
工具栏中的三个「放大镜」图标,可以调整主界面数据的大小
从左到右依次是:放大、缩小、还原默认大小。
- 设置显示列
数据包列表是最常用的模块之一,列表中有一些默认显示的列,我们可以添加、删除、修改显示
的列。
a.添加显示列
想要在数据列表中显示某一个字段,可以将这个数据字段添加至显示列中。
左键选中想要添加为列的字段,右键选择「应用为列」。
b.隐藏显示列
暂时不想查看的列,可以暂时隐藏起来。
在显示列的任意位置右键,取消列名的「勾选」,即可隐藏显示列。
设置时间
数据包列表栏的时间这一列,默认显示格式看起来很不方便,我们可以调整时间的显示格式。
点击工具栏的「视图」,选择「时间显示格式」,设置你喜欢的格式。
标记数据包
对于某些比较重要的数据包,可以设置成高亮显示,以达到标记的目的。
选中需要标记的数据包,右键选择最上面的「标记/取消标记」。
导出数据包
演示快速抓包时,我们讲过保存数据包的操作,保存操作默认保存所有已经抓取的数据包。但有
时候,我们只需要保存指定的数据包,这时候可以使用导出的功能。
a.导出单个数据包
选中数据包,点击左上角的「文件」,点击「导出特定分组」。
在「导出分组界面」,选择第二个 「Selected packets only」,只保存选中的数据包。
b.导出多个数据包
有时候我们需要导出多个数据包,Wireshark有一个导出标记的数据包的功能,我们将需要导出的数据包都标记起来,就可以同时导出多个数据包。
点击左上角的「文件」,点击「导出特定分组」。
在「导出分组界面」,勾选第三个 「Marked packets only」,只导出标记的数据包。
开启混杂模式
局域网的所有流量都会发送给我们的电脑,默认情况下,我们的电脑只会对自己mac的流量进行
解包,而丢弃其他mac的数据包。
开启混杂模式后,我们就可以解析其他mac的数据包,因此,我们使用Wireshark时,通常都会
开启混杂模式。
点击菜单栏的「捕获」按钮,点击「选项」。
过滤器操作
过滤器是Wireshark的核心功能,也是我们平时使用最多的一个功能。
Wireshark提供了两个过滤器:抓包过滤器 和 显示过滤器。两个过滤器的过滤思路不同。
抓包过滤器:重点在动作,需要的包我才抓,不需要的我就不抓。
显示过滤器:重点在数据的展示,包已经抓了,只是不显示出来。
抓包过滤器
抓包过滤器在抓包前使用,它的过滤有一个基本的语法格式:BPF语法格式。
1)BPF语法
BPF(全称 Berkeley Packet Filter),中文叫伯克利封包过滤器,它有四个核心元素:类型、
方向、协议 和 逻辑运算符。
- 类型Type:主机(host)、网段(
net)、端口(port)
方向Dir:源地址(src)、目标地址(dst)
协议Proto:各种网络协议,比如:tcp、udp、http
逻辑运算符:与(&& )、或( || )、非( !)
四个元素可以自由组合,比如:
src host 192.168.31.1:抓取源IP为 192.168.31.1 的数据包
tcp || udp:抓取 TCP 或者 UDP 协议的数据包
2)使用方式
使用抓包过滤器时,需要先停止抓包,设置完过滤规则后,再开始抓包。
停止抓包的前提下,点击工具栏的捕获按钮,点击选项。
提示:抓包过滤器的输入框,会自动检测语法,绿色代表语法正确,红色代表语法错误。
显示过滤器
显示过滤器在抓包后或者抓包的过程中使用。
1)语法结构
显示过滤器的语法包含5个核心元素:IP、端口、协议、比较运算符和逻辑运算符。
IP地址:ip.addr、ip.src、ip.dst
端口:tcp.port、tcp.srcport、tcp.dstport
协议:tcp、udp、http
比较运算符:> < == >= <= !=
逻辑运算符:and、or、not、xor(有且仅有一个条件被满足)
5个核心元素可以自由组合,比如:
ip.addr == 192.168.32.121:显示IP地址为 192.168.32.121 的数据包
tcp.port == 80 :显示端口为 80 的数据包
2)使用方式
在过滤栏输入过滤语句,修改后立即生效。
版权归原作者 ...狂风... 所有, 如有侵权,请联系我们删除。