准备

Wireshark 是开源的
image.png

如果打开软件找不到本地接口,没有上面这些东西,要先安装Win10Pcap

然后选择你正在使用的网卡,比如连的wifi就选择WLAN,连的网线就选择以太网,就会开始捕获你的网络流量了

显示过滤器

Wireshark会捕获你全部的网络流量,你可以使用一些表达式来只显示你需要的数据

符号

  • 判断相等要使用 ==
  • 正则表达式 ~
  • 位操作 &
  • 表达式组合 && 也可以写成 and
  • || or
  • ^^ xor
  • ! not

    针对ip的过滤

  • 对源地址进行过滤

    1. ip.src == 192.168.0.1
  • 对目的地址进行过滤

    1. ip.dst == 192.168.0.1
  • 对源地址或者目的地址进行过滤

    1. ip.addr == 192.168.0.1
  • 如果想排除以上的数据包,只需要将其用括号囊括,然后使用 “!” 即可

    1. !(ip.addr == 192.168.0.1)

    针对协议的过滤

  • 获某种协议的数据包,表达式很简单仅仅需要把协议的名字输入即可

    1. http
  • 捕获多种协议的数据包

    1. http or telnet
  • 排除某种协议的数据包

    1. not arp 或者 !tcp

    针对端口的过滤(视传输协议而定)

  • 捕获某一端口的数据包(以tcp协议为例)

    1. tcp.port == 80
  • 捕获多端口的数据包,可以使用and来连接,下面是捕获高于某端口的表达式(以udp协议为例)

    1. udp.port >= 2048

    针对长度和内容的过滤

  • 针对长度的过虑(这里的长度指定的是数据段的长度)

    1. udp.length < 20
    2. http.content_length <=30
  • 针对uri 内容的过滤

    1. http.request.uri matches "user" (请求的uri中包含“user”关键字的)
    2. http.request.uri contains "User" (请求的uri中包含“user”关键字的)

    注意:matches 后的关键字是不区分大小写的!
    注意:contains 后的关键字是区分大小写的!
    **

    针对http请求的一些过滤实例。

  • 过滤出请求地址中包含“user”的请求,不包括域名;

    1. http.request.uri contains "User"
  • 精确过滤域名

    1. http.host==baidu.com
  • 模糊过滤域名

    1. http.host contains "baidu"
  • 过滤请求的content_type类型

    1. http.content_type =="text/html"
  • 过滤http请求方法

    1. http.request.method=="POST"
  • 过滤tcp端口

    1. tcp.port==80
    2. http && tcp.port==80 or tcp.port==5566
  • 过滤http响应状态码

    1. http.response.code==302
  • 过滤含有指定cookie的http数据包

    1. http.cookie contains "userid"

捕获过滤器

可以选择只捕获你需要的内容,而显示捕获器是显示需要的内容,但会捕获所有内容
工具栏中 捕获->捕获过滤器,可以添加自定义的过滤器

符号

  • && and
  • || or
  • ! not

    常用过滤表达式

  • 源地址过滤

    1. src www.baidu.com
  • 目的地址过滤

    1. dst www.baidu.com
  • 目的地址端口过滤

    1. dst post 80
  • 协议过滤

    1. udp