wireshark使用教程


Wireshark是什么

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

wireshark官网https://www.wireshark.org/

wireshark维基(英文)https://wiki.wireshark.org/

wireshark中文维基https://wiki.archlinux.org/title/Wireshark_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

中文相关软件:科来网络分析系统

抓包原理

网络原理

本机环境:通过wireshark直接抓取本机网卡进出流量

集线器环境(已淘汰):流量防护,同一冲突域,wireshark可以抓到整个局域网的包

交换机环境

a. 有交换机权限

  1. wireshark通过端口镜像(端口映射、span)抓包

b. 没有交换机权限

  1. 使用ARP攻击软件Cain&Abel,通过获得广播包,发送欺骗包伪装成接收者,劫持流量
  2. MAC泛洪,通过发送大量数据包,使得交换机MAC表报表出错,流量无法识别出现泛洪溢出

底层原理

  1. Win-/libpcap:Wireshark抓包是依赖的库文件
  2. Capture:抓包引擎,利用libpcap/WinPcap从底层抓取网络数据包,libpcap/WinPcap提供了通用的抓包接口,能从不同类型的网络接口(包括以太网,令牌环网,ATM网等)获取数据包
  3. Wiretap:格式支持,从抓包文件中读取数据包,支持多种文件格式
  4. Core:核心引擎,通过函数调用将其他模块连接在一起,起到联动调度的作用
  5. GTK1/2:图形工具,处理用户的输入输出显示

快速抓包

  1. 进入一个活跃的连接
  2. 开始抓包
  3. 一段时间后停止抓包
  4. 保存包

显示介绍

初始界面

列介绍

NO:包序号

Time:抓到的时间

Source:发送的IP

Destination:接收的IP

Protocol:协议类型

Length:长度

Info:包内容

Time to live:生存时间值

数据包操作

  1. 特定协议数据包着色
  2. 修改默认的配色方案:首选项->外观子栏->字体和颜色
  3. 高亮(标记数据包)
  4. 针对会话进行颜色修改
  5. 数据包注释(add a new common)
  6. 合并数据包(做数据包整合)
  7. 打印数据包成PDF
  8. 导出特定数据包,选择数据包,所有数据包
  9. 导出CSV格式

首选项设置

首先进入首选项

在首选项界面即可设置下面的内容

  1. 设置默认路径:在外观里设置为最近使用路径
  2. 设置布局界面:可以在用外观下的布局设置窗口的排列
  3. 可在Name Resolution里开启IP解析(resolve network(IP) addresses)和名称解析(resolve network names)
  4. 开启混杂模式:可以抓取发送给别人的包

  1. 开启自动抓包:

image-20220305102551889

使用:这里输入文件名,选择自动创建文件,并且设置创建规则即可自动抓包

这里的已经100000分组:抓到100000个包以后停止并创建下 一个文件

这里的use a ring buffer with 2 files:创建2个包然后轮巡覆盖

作用:自动抓包常用于分布式网络,大型网络,防止爆内存

  1. 开启实时数据流

点击show capture information during live capture即可显示实时数据流的占比。

过滤器

抓包过滤器

capture filter for selected interfaces

语法说明

**BPF语法(Berkeley Packet Filiter)**:基于libpcap/wincap库

类型Type:host、net、port

方向Dir:src、dst

协议Proto:ether、ip、tcp、udp、http、ftp

逻辑运算符:&&(与)、||(或)、!(非)

例子:

  1. src host 192.168.1.1 && dst port 80:抓取源地址为192.168.1.1,目的为80端口的流量
  2. host 192.168.1.1||host 192.168.1.2:抓取192.168.1.1和192.168.1.2的流量
  3. !broadcast:不要抓取广播包
实践说明

过滤MAC地址案例

  1. ether host 00:88:ca:86:f8:0d:只抓这个MAC相关的数据包
  2. ether src host 00:88:ca:86:f8:0d:只抓这个MAC发送的数据包
  3. ether dst host 00:88:ca:86:f8:0d:只抓这个MAC接受的数据包

过滤主机IP地址

  1. host 192.168.1.1:只抓这个IP相关的数据包
  2. src host 192.168.1.1:只抓这个IP发送的数据包
  3. dst host 192.168.1.1:只抓这个IP接收的数据包

过滤端口

  1. port 80:只抓取80端口包
  2. ! port 80:不抓取80端口包
  3. dst port 80:只抓取接收的80端口包
  4. src port 80:只抓取发送的80端口包

过滤协议

  1. arp(地址解析协议)
  2. icmp(Internet控制报文协议)

综合过滤器:

host 192.168.100 && port 8080

显示过滤器

注意

显示过滤器和抓包过滤器的语法不同

抓包过滤器会把其他流量丢掉,不利于做全局分析

在流量不大的情况下只需要使用显示过滤器即可

语法说明

比较操作符:==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)

逻辑操作符:and 两个条件同时满足、or其中一个条件被满足、xor有且仅有一个条件被满足、not没有条件被满足

ip地址:ip.addr、ip.src、ip.dst

端口过滤:tcp.port、tcp.srcport、tcp.dstport、tcp.flag.sym、tcp.flag.ack

协议过滤:arp、ip、icmp、udp、tcp、bootp、dns、oicq(腾讯协议)

实践说明

过滤IP案例

ip.addr == 192.168.1.1:只抓192.168.1.1的包

ip.src == 192.168.1.1:只抓192.168.1.1发送的包

ip.dst == 192.168.1.1:只抓192.168.1.1接收的包

ip.src == 192.168.1.100 and ip.dst == 58.250.135.156

过滤端口案例

tcp.port == 80:只抓80端口包

tcp.srcport == 80:只抓80端口发送的包

tcp.dstport == 80:只抓80端口接收的包

tcp.flag.syn == 1:只抓开始同步会话请求的包

过滤协议案例:想要什么协议的包直接写入即可

综合过滤案例

ip.src == 192.168.1.100 and tcp.dstport == 80:抓取192.168.1.100:80 tcp协议发送的包

ip.addr == 192.168.1.106 and udp.port == 4000:抓取192.168.1.106:4000 udp协议发送的包

应用快捷标签

点击应用过滤器旁的加号可以快速添加该语法的标签,以供频繁使用

数据流追踪

功能:将TCP、UDP、SSL等数据流进行重组并完整呈现出来

操作:在数据列表右键TCP协议包选择追踪流,选择TCP即可追踪TCP流。在分析选项中也可以选择追踪流

同理,右键UDP协议包选择追踪UDP流,SSL协议则追踪SSL流

image-20220305150523732

专家信息说明

功能:可以对数据包中特定的协议状态进行警告说明

操作:在分析选项中选择专家信息

统计摘要说明

功能:对抓取的数据包进行全局统计

操作:统计->捕获文件属性

协议分层统计

功能:统计通信流量中不同协议占用的百分比

通过这个工具可以对全网流量有直观的了解,到底整个网络哪些流量占用最多哪些占用最少等等

操作:统计->协议分级

网络节点和会话统计

网络会话(conversations)

功能:统计通信会话之间接收和发送的数据包和字节数

通过这个工具可以找出网络中哪个会话(IP地址或端口号)最占用带宽,可以进一步做网络策略

操作:统计->会话

一般查看IPv4最多,点击bytes可以让数据从高到低统计

可以在网络会话查看流追踪

网络节点(endpoint)

功能:统计通信会话中每个节点接收和发送的数据包和字节数

通过这个工具可以找出网络中哪个节点(IP地址或端口号)最占用带宽

操作:统计->端点

数据包长度统计

功能:统计数据流量中包长度的分布,检测巨型帧(帧长大于1522字节的以太网帧)攻击,碎片化数据攻击

操作:统计->分组长度

从40-319是小型帧:ICMP、DNS、ARP、SMP等协议

320-2559:TCP协议

640-1279:OICQ协议

图表分析

IO图表

功能:对网络中的吞吐量进行实时图形显示

操作:分析->I/O图表

数据流图

功能:将会话通信过程图形可视化出来

操作:统计->流量图


文章作者: wqa
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wqa !
  目录