wireshark

72 阅读3分钟

wireshark

概述

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

环境搭建

安装winPCAP

image-20240305101116924

安装wireshark

image-20240305101929148

image-20240305102022116

image-20240305102056888

image-20240305102234145

主界面

image-20240305105443709

捕获模式

混杂模式

  • 捕获经过指定网卡的所有数据包,包括发往指定网卡或非发往指定网卡的数据包;

image-20240305105825588

非混杂模式

  • 只捕获发往指定网卡的数据包;

image-20240305105852950

捕获界面

image-20240305111213672

添加或取消列

添加

  • 选中目标数据,鼠标右键,选择应用为列

image-20240305111630264

取消

  • 选中标题行的目标列,鼠标右键,取消不显示列前的

地址解析

  • MAC地址解析、网络名称地址解析、传输名称地址解析
  • 无特殊要求情况下,不建议开启

image-20240305112040224

数据包显示时间格式

image-20240305113747164

设置或取消时间参考数据包

  • 选中目标数据包,鼠标右键,选择设置/取消设置时间参考

image-20240305113959014

导出数据包

  • 选中目标数据包(按住ctrl不释放,配合鼠标左键可实现多选),菜单->文件->导出特定分组;

image-20240305114415229

捕获过滤器

概述

  • 用于筛选要捕获的数据包,编写对应过滤规则,实现符合对应规则的数据包捕获。

image-20240305121430937

image-20240305121521592

规则

  • 基于协议:arp、ip、icmp、tcp、udp
  • 基于主机:host
  • 基于端口:port
  • 基于方向:src、dst
  • 逻辑运算符:and(并且)、or(或者)、!(非)、not(不是)
  1. #筛选捕获tcp协议数据包
  2. tcp
  3. #只捕获源IP或目标IP为180.97.103.3的数据包
  4. host 180.97.103.3
  5. # 只捕获源IP为180.97.103.3的数据包
  6. src host 180.97.103.3
  7. #只捕获源端口或目标端口为443的数据包
  8. port 443
  9. #只捕获源端口为443的数据包
  10. src port 443
  11. #只捕获目的端口为443且源IP为192.168.102.179的数据包
  12. dst port 443 and src host 192.168.102.179
  13. #只捕获原始IP不是192.168.102.176的数据包
  14. !(src host 192.168.102.176)
  15. #只捕获原始IP不是192.168.102.176的数据包
  16. not (src host 192.168.102.176)

显示过滤器

概述

  • 用于筛选要显示的数据包,编写过滤规则,实现符合对应规则的数据显示。

image-20240305142534118

image-20240305142602464

规则

  • 基于协议:arp、ip、icmp、tcp、udp、http、tls、ftp、dns、dhcp等
  • 基于主机:ip.addr
  • 基于主机方向:ip.src、ip.dst
  • 基于端口:tcp.port、udp.port
  • 基于端口方向:tcp.srcport、tcp.dstport、udp.srcport、udp.dstport
  • 基于MAC:eth.addr、
  • 基于MAC方向:eth.src、eth.dst
  • 比较运算符:==、>、<、!=
  • 逻辑运算符:and(并且)、or(或者)、!(非)、not(不是)
  1. #只显示http协议数据包
  2. http
  3. #只显示源IP或目标地址为192.168.102.176数据包
  4. ip.addr==192.168.102.176
  5. #只显示源IP地址为192.168.102.176数据包
  6. ip.src==192.168.102.176
  7. #只显示tcp协议源端口为443的数据包
  8. tcp.srcport==443
  9. #只显示源MAC地址为8C-16-45-EF-68-75数据包
  10. eth.src==8C-16-45-EF-68-75
  11. #只显示源IP为192.168.102.176并且目的端口为443的数据包
  12. ip.src==192.168.102.176 and tcp.dstport==443