Wireshark使用介绍

文章目录


Wireshark介绍

Wireshark 是一款非常流行的网络协议分析工具,主要用于捕获和分析网络数据包,广泛应用于网络故障排查、安全分析、性能优化以及协议开发等领域。

Wireshark 的官方网站: https://www.wireshark.org/

Wireshark使用

工作模式介绍

Wireshark 的工作模式主要包括混杂模式普通模式 ,此外在无线网络环境下还会用到监视模式。以下是详细介绍:

1. 混杂模式(Promiscuous Mode)

混杂模式是 Wireshark 的一种重要工作模式,允许网卡接收所有经过网络接口的数据包,而不仅仅是发给本机的数据包。在这种模式下,网卡不会根据 MAC 地址过滤数据包,因此可以捕获局域网内其他设备之间的通信数据包。

  • 应用场景:混杂模式常用于网络分析、故障排查以及安全检测等场景,能够帮助用户全面了解网络流量情况。
  • 开启方法:在 Wireshark 的菜单栏中,选择"捕获"->"选项",在弹出的"捕获选项"对话框中,勾选"启用混杂模式"选项。

2. 普通模式(Normal Mode)

普通模式是 Wireshark 的默认工作模式。在这种模式下,网卡只会接收发给本机的数据包(包括广播包),其他设备的数据包会被丢弃。这意味着用户只能捕获与本机相关的网络通信数据,无法捕获局域网内其他设备之间的通信数据。

3. 监视模式(Monitor Mode)

监视模式仅用于无线网络环境。在这种模式下,无线网卡可以捕获无线网络中的所有数据包,而无需与特定的接入点关联。这使得用户可以分析无线网络中的通信情况,检测无线网络的安全性和性能问题。

  • 应用场景:监视模式主要用于无线网络的分析和安全检测,例如检测无线网络中的未授权接入点或无线信号干扰。
  • 开启方法:监视模式的开启方式与混杂模式类似,但具体操作可能会因无线网卡的驱动程序和操作系统而有所不同。

界面分区

Wireshark 是一款功能强大的网络协议分析工具,它可以帮助用户捕获、分析和显示网络数据包。根据您提供的截图和描述,以下是 Wireshark 界面的主要组成部分及其功能的介绍:

  1. 菜单栏
    • 位于窗口顶部,包含文件、编辑、捕获、显示、统计、分析、工具和帮助等菜单选项。这些菜单提供了各种操作和设置功能,如保存捕获的数据包、设置捕获选项、应用显示过滤器等。
  2. 抓包列表
    • 显示捕获到的数据包的列表,包括时间戳、源地址、目的地址、协议、长度和信息等字段。用户可以通过这个列表查看和选择特定的数据包进行分析。
  3. 协议树
    • 在选择某个数据包后,显示该数据包的协议层次结构。用户可以展开各个协议层查看详细信息,如 TCP、IP、以太网等协议的字段和值。
  4. 字节视图
    • 显示选中数据包的原始字节数据,通常以十六进制和ASCII格式显示。这允许用户查看数据包的原始内容,包括协议头和数据负载。
  5. 过滤器栏
    • 位于抓包列表上方,用户可以在这里输入显示过滤器表达式,以筛选和显示特定的数据包。例如,输入 tcp.port == 80 可以显示所有使用 TCP 端口 80 的数据包。
  6. 状态栏
    • 位于窗口底部,显示当前捕获的状态,如捕获的总数据包数、已丢弃的数据包数等。
  7. 详细视图
    • 在协议树下方,提供所选数据包的详细信息,如字段值、注释等。用户可以在这里查看数据包的详细内容和分析结果。

捕获过滤器语法

Wireshark 的捕获过滤器(Capture Filter)用于在捕获数据包时对数据包进行筛选,只捕获符合特定条件的数据包。这有助于减少捕获的数据量,提高分析效率。以下是一些常用的捕获过滤器语法:

基本语法

  • 协议过滤:指定要捕获的协议类型。

    复制

    tcp          # 只捕获 TCP 协议的数据包
    udp          # 只捕获 UDP 协议的数据包
    icmp         # 只捕获 ICMP 协议的数据包
    http         # 只捕获 HTTP 协议的数据包
    
  • IP 地址过滤:指定源或目的 IP 地址。

    复制

    ip.addr == 192.168.1.1  # 捕获源或目的 IP 为 192.168.1.1 的数据包
    ip.src == 192.168.1.1  # 捕获源 IP 为 192.168.1.1 的数据包
    ip.dst == 192.168.1.1  # 捕获目的 IP 为 192.168.1.1 的数据包
    
  • 端口过滤:指定源或目的端口。

    复制

    tcp.port == 80  # 捕获 TCP 协议的 80 端口的数据包
    udp.port == 53  # 捕获 UDP 协议的 53 端口的数据包
    tcp.srcport == 8080  # 捕获 TCP 协议的源端口为 8080 的数据包
    tcp.dstport == 8080  # 捕获 TCP 协议的目的端口为 8080 的数据包
    

逻辑运算符

  • 与(AND):同时满足多个条件。

    tcp && ip.src == 192.168.1.1 && ip.dst == 192.168.1.2
    
  • 或(OR):满足任一条件。

    tcp || udp
    
  • 非(NOT):不满足某个条件。

    !icmp
    

高级语法

  • IP 地址范围:指定 IP 地址范围。

    ip.addr == 192.168.1.1-192.168.1.10  
    # 捕获 IP 地址在 192.168.1.1 到 192.168.1.10 之间的数据包
    
  • 端口范围:指定端口范围。

    tcp.port >= 80 && tcp.port <= 90  
    # 捕获 TCP 协议的 80 到 90 端口之间的数据包
    
  • 协议和端口组合:组合协议和端口条件。

    tcp.port == 80 || udp.port == 53  
    # 捕获 TCP 协议的 80 端口或 UDP 协议的 53 端口的数据包
    
  • MAC 地址过滤:指定源或目的 MAC 地址。

    复制

    ethernet.src == 00:11:22:33:44:55  
    # 捕获源 MAC 地址为 00:11:22:33:44:55 的数据包
    ethernet.dst == 00:11:22:33:44:55  
    # 捕获目的 MAC 地址为 00:11:22:33:44:55 的数据包
    

使用示例

  • 捕获所有 ICMP 数据包:

    icmp
    
  • 捕获源 IP 为 192.168.1.1 且目的端口为 80 的 TCP 数据包:

    tcp && ip.src == 192.168.1.1 && tcp.dstport == 80
    
  • 捕获源 MAC 为 00:11:22:33:44:55 且目的 IP 为 192.168.1.1 的数据包:

    ethernet.src == 00:11:22:33:44:55 && ip.dst == 192.168.1.1
    
  • 捕获除了 ICMP 之外的所有数据包:

    !icmp
    

官方说明文档:https://biot.com/capstats/bpf.html

以下是从您提供的图片中提取的内容:

捕获过滤器-速查表

过滤条件 示例 说明
源 IP 地址 src host 192.168.1.1 捕获源 IP 为 192.168.1.1 的数据包
目的 IP 地址 dst host 192.168.1.2 捕获目的 IP 为 192.168.1.2 的数据包
任意 IP 地址 host 192.168.1.3 捕获源或目的 IP 为 192.168.1.3 的数据包
源端口 src port 80 捕获源端口为 80 的数据包
目的端口 dst port 443 捕获目的端口为 443 的数据包
任意端口 port 53 捕获源或目的端口为 53 的数据包
TCP 协议 tcp 捕获所有 TCP 数据包
UDP 协议 udp 捕获所有 UDP 数据包
ICMP 协议 icmp 捕获所有 ICMP 数据包
特定协议 ip proto 1 捕获所有协议类型为 1 的数据包(例如 ICMP)
特定数据包长度 len <= 100 捕获长度小于等于 100 字节的数据包
特定数据包内容 tcp[13] & 8 != 0 捕获 TCP 数据包中具有 PSH 标志的数据包
特定数据包标志 tcp[tcpflags] == 0x02 捕获 TCP SYN 数据包
特定网络接口 ether host 00:11:22:33:44:55 捕获 MAC 地址为 00:11:22:33:44:55 的数据包
特定 VLAN vlan and (src host 192.168.1.1) 捕获 VLAN 中源 IP 为 192.168.1.1 的数据包
特定 IP 范围 net 192.168.1.0/24 捕获源或目的 IP 在 192.168.1.0 到 192.168.1.255 范围内的数据包
特定子网 src net 10.0.0.0/8 捕获源 IP 在 10.0.0.0 到 10.255.255.255 范围内的数据包

显示过滤器语法

显示过滤器(Display Filter)是Wireshark中用于筛选和显示捕获数据包的语法规则。与捕获过滤器不同,显示过滤器仅影响用户界面中显示的数据包,而不会影响实际捕获的数据包。以下是一些常用的显示过滤器语法:

基本语法

  • 协议过滤:指定要显示的协议类型。

    复制

    tcp          # 显示所有 TCP 协议的数据包
    udp          # 显示所有 UDP 协议的数据包
    icmp         # 显示所有 ICMP 协议的数据包
    http         # 显示所有 HTTP 协议的数据包
    
  • IP 地址过滤:指定源或目的 IP 地址。

    复制

    ip.addr == 192.168.1.1  # 显示源或目的 IP 为 192.168.1.1 的数据包
    ip.src == 192.168.1.1  # 显示源 IP 为 192.168.1.1 的数据包
    ip.dst == 192.168.1.1  # 显示目的 IP 为 192.168.1.1 的数据包
    
  • 端口过滤:指定源或目的端口。

    复制

    tcp.port == 80  # 显示 TCP 协议的 80 端口的数据包
    udp.port == 53  # 显示 UDP 协议的 53 端口的数据包
    tcp.srcport == 8080  # 显示 TCP 协议的源端口为 8080 的数据包
    tcp.dstport == 8080  # 显示 TCP 协议的目的端口为 8080 的数据包
    

逻辑运算符

  • 与(AND):同时满足多个条件。

    tcp && ip.src == 192.168.1.1 && ip.dst == 192.168.1.2
    
  • 或(OR):满足任一条件。

    tcp || udp
    
  • 非(NOT):不满足某个条件。

    !icmp
    

高级语法

  • IP 地址范围:指定 IP 地址范围。

    ip.addr == 192.168.1.1-192.168.1.10  
    # 显示 IP 地址在 192.168.1.1 到 192.168.1.10 之间的数据包
    
  • 端口范围:指定端口范围。

    tcp.port >= 80 && tcp.port <= 90  
    # 显示 TCP 协议的 80 到 90 端口之间的数据包
    
  • 协议和端口组合:组合协议和端口条件。

    tcp.port == 80 || udp.port == 53  
    # 显示 TCP 协议的 80 端口或 UDP 协议的 53 端口的数据包
    
  • MAC 地址过滤:指定源或目的 MAC 地址。

    复制

    ethernet.src == 00:11:22:33:44:55  
    # 显示源 MAC 地址为 00:11:22:33:44:55 的数据包
    ethernet.dst == 00:11:22:33:44:55  
    # 显示目的 MAC 地址为 00:11:22:33:44:55 的数据包
    

使用示例

  • 显示所有 ICMP 数据包:

    icmp
    
  • 显示源 IP 为 192.168.1.1 且目的端口为 80 的 TCP 数据包:

    tcp && ip.src == 192.168.1.1 && tcp.dstport == 80
    
  • 显示源 MAC 为 00:11:22:33:44:55 且目的 IP 为 192.168.1.1 的数据包:

    ethernet.src == 00:11:22:33:44:55 && ip.dst == 192.168.1.1
    
  • 显示除了 ICMP 之外的所有数据包:

    !icmp
    
  • 显示特定协议类型为 1 的数据包(例如 ICMP):

    ip.proto == 1
    
  • 显示长度小于等于 100 字节的数据包:

    frame.len <= 100
    
  • 显示 TCP 数据包中具有 PSH 标志的数据包:

    tcp.flags.psh == 1
    
  • 显示 TCP SYN 数据包:

    tcp.flags.syn == 1
    
  • 显示 VLAN 中源 IP 为 192.168.1.1 的数据包:

    vlan && ip.src == 192.168.1.1
    
  • 显示源或目的 IP 在 192.168.1.0 到 192.168.1.255 范围内的数据包:

    ip.addr == 192.168.1.0/24
    
  • 显示源 IP 在 10.0.0.0 到 10.255.255.255 范围内的数据包:

    ip.src == 10.0.0.0/8
    
相关推荐
互联网杂货铺几秒前
软件测试之压力测试
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
etcix1 小时前
实现一个简单的拉取网络todo app
网络
网络安全(华哥)1 小时前
网络安全服务实施流程管理 网络安全服务体系
运维·服务器·网络
查理养殖场2 小时前
计算机网络之TCP的可靠传输
网络·tcp/ip·计算机网络
六六六六六66662 小时前
企业组网IP规划与先关协议分析
服务器·网络·tcp/ip
roman_日积跬步-终至千里2 小时前
【Flink实战】Flink网络内存和托管内存
服务器·网络·flink
成都纵横智控科技官方账号3 小时前
工业路由器和工业交换机,打造高效稳定的工业网络?
网络·物联网·自动化
黑客KKKing4 小时前
(网络安全)渗透测试
网络·安全·web安全·电脑
Hacker_Fuchen4 小时前
android 网络防护 手机网络安全怎么防
网络·web安全·智能手机
Lxyand15 小时前
网工项目实践2.4 北京公司安全加固、服务需求分析及方案制定
运维·服务器·网络·安全·智能路由器