Wireshark

一.基本的抓包原理

1.主机环境:直接抓包本机网卡进出的流量

mac wireshark 抓包 Android wireshark抓包mac地址_抓包

2.集线器:

由于集线器属于物理层设备,所以可以抓到从集线器发来的所有网络的包

mac wireshark 抓包 Android wireshark抓包mac地址_mac地址_02

3.交换机:

端口镜像:交换机属于物理层设备,根据其mac地址表进行通信。所以在通信时PC2和PC3的流量流不到PC1。但是可以通过端口镜像,将交换机相关端口的流量复制一份到PC1.一般在企业级环境会用这种模式。

mac wireshark 抓包 Android wireshark抓包mac地址_IP_03


ARP欺骗:通过攻击软件cain或abel进行ARP欺骗,从而获得其他主机的流量

mac wireshark 抓包 Android wireshark抓包mac地址_mac地址_04


MAC泛洪:通过发送大量的mac地址从而达到刷新mac表的目的

mac wireshark 抓包 Android wireshark抓包mac地址_mac地址_05

二.显示设置:

  • 列设置:将某一具体信息放置在列表上。如将Time to live 放置在列表上
  • mac wireshark 抓包 Android wireshark抓包mac地址_mac地址_06


  • mac wireshark 抓包 Android wireshark抓包mac地址_IP_07

  • 时间设置:可以通过视图界面对时间格式进行修改
  • 名字解析:wireshark内置了基本的名字解析库可以将mac地址,ip地址,端口号等转换成名字,方便记忆,默认开启mac地址解析。(开启IP地址和端口解析可以加大可读性,但也会出现解读错误并消耗大量资源的情况)
  • 手动开启IP地址和端口解析:Capture——options
  • mac wireshark 抓包 Android wireshark抓包mac地址_抓包_08

三.过滤器设置

1. 抓包过滤器:用于决定将什么样的信息记录在捕捉结果中。

语法说明(BPF语法):

  • 类型Type:host,net,port
    注:一般认为host为默认类型
  • 方向Dir:src,dst
    注:如果没有明确方向,则默认src dst 方向都有
  • 协议Proto: ip,tcp,udp,http,ftp
    注:如果没有明确协议类型则默认抓捕所有支持的协议
  • 逻辑运算符:&& ! ||
    举例说明:
  • src host 192.168.1.1 && dst port 80 抓取源地址为192.168.1.1,目的端口为80的流量
  • host 192.168.1.1|| 192.168.1.2 抓取192.168.1.1或192.168.1.2的流量
  • !broadcast 不要抓取广播包
2.显示过滤器:对捕捉到的数据包依据协议或包的内容进行过滤

注意:当网络中的流量不是很大的时候直接用显示过滤器即可

语法说明:
比较操作符:

  • 等于 ==
  • 不等于!=
  • 大于:>
  • 小于:<
  • 大于等于:>=
  • 小于等于:<=
    逻辑操作符:
  • 两个条件同时满足:and
  • 其中一个条件满足:or
  • 有且只有一个条件被满足:xor
  • 没有条件满足:not
    IP地址:ip.addr ,ip.src,ip.dst
    端口过滤:tcp.port, tcp.dstport, tcp.srcport

实验演示:
过滤IP地址:

  • ip.addr == 192.168.1.1
  • ip.src == 192.168.1.1
  • ip.dst ==192.168.1.1
  • ip.src == 192.168.1.1 and ip.dst == 192.168.1.2

端口过滤:

  • tcp.port == 80
  • tcp.srcport == 80
  • tcp.dstport == 80

过滤协议:

  • arp
  • tcp
  • not http
  • not udp

综合案例:

  • ip.src == 192.168.1.1 and tcp.dstport == 80
  • ip.addr == 192.168.1.1 and udp.port ==4000

四.常用功能

1.数据流追踪

将tcp,udp ,ssl 等数据进行重组并完整的显现出来

mac wireshark 抓包 Android wireshark抓包mac地址_IP_09

例如HTTP流为:

mac wireshark 抓包 Android wireshark抓包mac地址_IP_10

2.专家信息说明

可以对数据包中的特定状态进行警告说明,大多时候用于分析错误包的问题以及所对应的IP。

mac wireshark 抓包 Android wireshark抓包mac地址_mac地址_11

如果网络中的error和warning太多则说明网络不够稳定

mac wireshark 抓包 Android wireshark抓包mac地址_mac地址_12

3.统计摘要说明

对抓取的数据进行全局统计

mac wireshark 抓包 Android wireshark抓包mac地址_抓包_13

当设置过滤器时还可以显示过滤包所占所有包的比重:

mac wireshark 抓包 Android wireshark抓包mac地址_抓包_14

4.协议分层统计

统计通信流量中不同协议所占用的百分比,通过这个工具可以对全网的流量有一个直观的了解

mac wireshark 抓包 Android wireshark抓包mac地址_IP_15


可以很直观的观察到各种协议所占的百分比,可以通过某些协议所占比例异常判断相应的问题。

如当ARP,DNS,DHCP这类协议所占比例过大时有可能遭到了泛洪攻击。

mac wireshark 抓包 Android wireshark抓包mac地址_抓包_16

5.网络会话

统计通信会话之间接受和发送的数据包和字节数,可以找出网络中会话所占用的带宽。

注意:该功能与以上统计的不同之处在于该功能统计到了具体的会话上,可以直观的观察每一个会话的相关信息,并可以对其进行流追踪。

mac wireshark 抓包 Android wireshark抓包mac地址_IP_17


mac wireshark 抓包 Android wireshark抓包mac地址_mac地址_18


而对于网络节点统计,则是一IP为单位,网络对话是以对话为单位

网络节点:

mac wireshark 抓包 Android wireshark抓包mac地址_抓包_19


网络会话与网络节点一般会一起使用.