首页 > 其他分享 >wireshark过滤源IP和目的IP,Wireshark 抓包过滤命令大全,收藏这篇就够了

wireshark过滤源IP和目的IP,Wireshark 抓包过滤命令大全,收藏这篇就够了

时间:2024-11-11 14:14:57浏览次数:3  
标签:IP 捕获 流量 过滤 过滤器 数据包 特定 wireshark

Wireshark 是一款开源软件,最早由 Gerald Combs 在 1998 年创建,原名 Ethereal。2006 年,由于商标问题,Ethereal 更名为 Wireshark。作为一个网络协议分析器,Wireshark 能够捕获网络接口上的数据包,并提供详细的解码和分析功能。Wireshark 支持多种操作系统,包括 Windows、macOS 和 Linux。

目录:

  • 抓包过滤基础

  • 显示过滤器

  • 常用的显示过滤器

  • 过滤 HTTP 流量

  • 过滤 DNS 流量

  • 过滤 TCP 流量

  • 过滤 UDP 流量

  • 过滤 ICMP 流量

  • 显示过滤器的高级用法

  • 捕获过滤器

  • 常用的捕获过滤器

  • 捕获 HTTP 流量

  • 捕获 DNS 流量

  • 捕获 TCP 流量

  • 捕获 UDP 流量

  • 捕获 ICMP 流量

  • 捕获过滤器的高级用法

  • 高级过滤技巧

  • 组合过滤条件

  • 使用正则表达式

  • 字段存在检查

  • 使用偏移量和掩码

Wireshark 的主要功能包括:

  • 实时数据捕获:能够捕获实时流量并对其进行分析。

  • 数据包解码:支持数百种网络协议,能够解码并显示各种协议的详细信息。

  • 过滤功能:提供强大的过滤功能,可以根据特定条件筛选数据包。

  • 数据包重组:能够重组和分析分片的数据包,以查看完整的通信内容。

  • 统计和图表:提供多种统计和图表功能,帮助用户进行流量分析和趋势预测。

Wireshark 的界面设计简洁明了,主要包括以下几个部分:

  1. 菜单栏和工具栏
  • 菜单栏:提供文件操作、编辑、查看、捕获、分析等选项,可以通过菜单访问各种功能。

  • 工具栏:常用功能的快捷按钮,包括开始和停止捕获、打开和保存捕获文件、显示过滤器等。

  1. 捕获选项和启动按钮
  • 捕获接口选择:选择要捕获数据包的网络接口,可以是以太网、Wi-Fi等。

  • 捕获选项:配置捕获参数,如数据包长度、捕获过滤器、环形缓冲区等。

  • 启动按钮:开始和停止数据包捕获。

  1. 数据包列表窗口
  • 数据包列表:显示捕获的数据包,每个数据包一行,包含时间戳、源地址、目的地址、协议、长度等基本信息。

  • 列排序和过滤:可以根据不同列进行排序和过滤,方便查找特定数据包。

  1. 数据包详情窗口
  • 数据包解码详情:选中一个数据包后,在详情窗口中显示其解码信息,按照协议层次结构显示,包括链路层、网络层、传输层和应用层的详细字段。

  • 展开和折叠:可以展开和折叠各协议层次,查看具体字段的值和含义。

  1. 数据包字节窗口
  • 字节视图:以十六进制和ASCII格式显示选中数据包的原始字节数据,帮助用户查看数据包的实际内容。

  • 字节高亮:与数据包详情窗口联动,高亮显示对应字段的字节数据。

  1. 显示过滤器输入框
  • 过滤器输入框:用于输入显示过滤器,筛选显示满足条件的数据包。

  • 过滤器提示:提供过滤器语法提示和自动完成功能,帮助用户快速输入正确的过滤器。

抓包过滤基础

Wireshark 中的过滤器是其最强大和最常用的功能之一。通过使用过滤器,用户可以从庞大的数据包捕获中筛选出感兴趣的特定数据包,从而更高效地进行网络分析和故障排除。

抓包过滤是指在数据包捕获和分析过程中,使用特定的规则和条件,筛选出满足条件的数据包。Wireshark 提供了两种主要的过滤器类型:显示过滤器和捕获过滤器。

  • 显示过滤器:用于在捕获后筛选和显示特定的数据包。显示过滤器是在数据包已经被捕获之后应用的,它不会影响实际的数据包捕获过程。

  • 捕获过滤器:用于在捕获过程中筛选数据包。捕获过滤器是在数据包捕获之前应用的,它会直接影响捕获到的数据包数量和内容。

Wireshark 支持两种类型的过滤器:显示过滤器和捕获过滤器。它们的语法和使用方式有所不同。

下面我们详细介绍一下这两种过滤器。

显示过滤器

显示过滤器是 Wireshark 中用于在数据包捕获之后,根据特定条件筛选和显示数据包的工具。显示过滤器的语法相对简单,使用字段名、运算符和值来构建过滤条件。

显示过滤器的基础语法包括:

  • 字段名:指定要过滤的数据包字段,如 ip.addrtcp.port 等。

  • 运算符:用于比较字段值的运算符,如 ==!=><>=<= 等。

  • :与字段名进行比较的值,可以是数值、字符串、布尔值等。

示例:

  • 过滤特定 IP 地址的数据包:
ip.addr == 192.168.1.1   

  • 过滤特定端口的数据包:
tcp.port == 80   

  • 过滤特定协议的数据包:
http   

常用的显示过滤器

一些常用的显示过滤器包括:

  1. IP 地址过滤
  • 过滤特定源 IP 地址的数据包:
ip.src == 192.168.3.9   

瑞哥本机地址是192.168.3.9

  • 过滤特定目的 IP 地址的数据包:
ip.dst == 192.168.3.66   

  • 过滤特定 IP 地址的数据包(无论源还是目的):
ip.addr == 192.168.3.9   

  1. 端口号过滤
  • 过滤特定源端口的数据包:
tcp.srcport == 80   

  • 过滤特定目的端口的数据包:
tcp.dstport == 443   

  • 过滤特定端口的数据包(无论源还是目的):
tcp.port == 80   

  1. 协议过滤
  • 过滤 HTTP 协议的数据包:
http   

  • 过滤 TCP 协议的数据包:
tcp   

  • 过滤 ICMP 协议的数据包:
icmp   

  1. 排除特定流量
  • 排除 ICMP 协议的数据包:
!icmp   

过滤 HTTP 流量

HTTP 流量是网络分析中常见的一部分,通过显示过滤器可以筛选和分析特定的 HTTP 请求和响应。

  1. 过滤所有 HTTP 流量
http   

  1. 过滤特定主机的 HTTP 流量
http.host == "www.example.com"   

  1. 过滤特定 URI 的 HTTP 请求
http.request.uri contains "/login"   

  1. 过滤特定方法的 HTTP 请求
http.request.method == "POST"   

  1. 过滤特定状态码的 HTTP 响应
http.response.code == 200   

过滤 DNS 流量

DNS 流量也是网络分析中常见的内容,通过显示过滤器可以筛选和分析 DNS 查询和响应。

  1. 过滤所有 DNS 流量
dns   

  1. 过滤特定域名的 DNS 查询
dns.qry.name == "example.com"   

  1. 过滤特定类型的 DNS 查询
dns.qry.type == 1  // A记录查询   

  1. 过滤特定响应码的 DNS 响应
dns.flags.rcode == 0  // No error   

  1. 过滤特定 IP 地址的 DNS 响应
dns.a == 192.168.1.1   

过滤 TCP 流量

TCP 是传输层的主要协议之一,通过显示过滤器可以筛选和分析特定的 TCP 会话和流量。

  1. 过滤所有 TCP 流量
tcp   

  1. 过滤特定源端口的 TCP 流量
tcp.srcport == 80   

  1. 过滤特定目的端口的 TCP 流量
tcp.dstport == 443   

  1. 过滤特定 TCP 标志位的流量
tcp.flags.syn == 1  // SYN 包   

  1. 过滤特定 TCP 会话的流量
tcp.stream eq 1   

过滤 UDP 流量

UDP 是传输层的另一主要协议,通过显示过滤器可以筛选和分析特定的 UDP 会话和流量。

  1. 过滤所有 UDP 流量
udp   

  1. 过滤特定源端口的 UDP 流量
udp.srcport == 53   

  1. 过滤特定目的端口的 UDP 流量
udp.dstport == 123   

  1. 过滤特定 UDP 会话的流量
udp.stream eq 1   

过滤 ICMP 流量

ICMP 是网络层的重要协议,通过显示过滤器可以筛选和分析特定的 ICMP 报文。

  1. 过滤所有 ICMP 流量
icmp   

  1. 过滤特定类型的 ICMP 报文
icmp.type == 8  // Echo Request   

  1. 过滤特定代码的 ICMP 报文
icmp.code == 0   

  1. 过滤特定 ID 的 ICMP 报文
icmp.ident == 0x1234   

  1. 过滤特定序列号的 ICMP 报文
icmp.seq == 0x1   

显示过滤器的高级用法

显示过滤器还支持更复杂的条件组合和表达式,例如:

  1. 多个条件的组合
  • 过滤特定源 IP 和目标端口的数据包:
ip.src == 192.168.3.9 && tcp.dstport == 8080   

  1. 范围过滤
  • 过滤帧长度在 100 到 200 字节之间的数据包:
frame.len >= 100 && frame.len <= 200   

  1. 使用正则表达式
  • 过滤 URI 包含 “login” 的 HTTP 请求:
http.request.uri matches ".*login.*"   

  1. 复杂逻辑过滤
  • 过滤源 IP 为 192.168.1.1 且目的端口为 80,或源 IP 为 192.168.1.2 且目的端口为 443 的数据包:
(ip.src == 192.168.3.9 && tcp.dstport == 80) || (ip.src == 192.168.3.66 && tcp.dstport == 443)   

捕获过滤器

捕获过滤器在数据包捕获过程中起作用,通过预先定义的条件,仅捕获满足条件的数据包。捕获过滤器使用 Berkeley Packet Filter (BPF) 语法,能够在捕获时减少不必要的数据包,提升捕获效率。

捕获过滤器的基础语法包括:

  • 字段名:指定要过滤的数据包字段,如 hostportnet 等。

  • 运算符:用于比较字段值的运算符,如 ==!=><>=<= 等。

  • :与字段名进行比较的值,可以是数值、字符串、布尔值等。

标签:IP,捕获,流量,过滤,过滤器,数据包,特定,wireshark
From: https://blog.csdn.net/logic1001/article/details/143683737

相关文章

  • 对 Wireshark、SolarWinds、Fiddler、TCPdump、NetworkMiner、Charles、JMeter、Fireb
    对Wireshark、SolarWinds、Fiddler、TCPdump、NetworkMiner、Charles、JMeter、Firebug、HTTPWatch和AntiARPSniffer等网络分析工具的详细对比分析,内容包括功能、特点、适用场景、平台支持等方面。表格总结了它们的主要区别与特点。工具名称功能适用场景平台支持优......
  • 【热门主题】000040 探索 ECMAScript:从起源到未来
    前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • JavaScript基础总结
             JavaScript(简称JS)是一个广泛使用的客户端脚本语言,常用于网页开发中。它可以在浏览器中运行,执行交互操作和动态效果。以下是JavaScript基础的所有核心知识点,按主题分类列出。1.基本语法声明变量使用var、let和const来声明变量:varname='Alice';/......
  • JavaScript题目一 根据成绩给出学生考评
            根据学生的成绩给出考评,可以通过if或switch语句来实现。下面是一个简单的JavaScript代码示例,根据学生的成绩返回不同的评语。示例代码:functionevaluateStudent(score){letevaluation;if(score>=90){evaluation='优秀';}else......
  • JavaScript题目二 实现猜数字游戏
    实现一个猜数字游戏的过程,通常包括以下几个步骤:生成一个随机数:计算机随机生成一个目标数字。用户输入猜测:玩家猜测数字并提交。比较用户输入与目标数字:计算机检查玩家的猜测,给出提示(比如“猜小了”或“猜大了”)。循环进行:直到玩家猜对为止,或者达到预设的次数。1.HTML文件(......
  • JavaScript题目三 制作简易计算器
    目标:提供四个基本的运算功能:加、减、乘、除。支持数字输入和运算符输入。显示结果。1.HTML文件(index.html)<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,i......
  • 【论文系列】之 ---- CLIP
    CLIP(ContrastiveLanguage-ImagePre-Training)从名字显而易见:语言-图像,预训练,主要用于学习图像该模型的核心思想是使用大量图像和文本的配对数据进行预训练,以学习图像和文本之间的对齐关系CLIP模型有两个模态,一个是文本模态,一个是视觉模态,包括两个主要部分内容该模型的核心思......
  • 怎么手机一键切换ip?一文读懂
    随着互联网的普及和深入应用,IP地址已成为个人或设备在网络中的唯一标识。但在某些特定情况下,保持IP地址的固定性可能会带来不便或风险。例如,频繁使用同一IP地址进行网络活动可能暴露个人隐私,同时,某些网站或服务可能因地域限制而拒绝访问。因此,掌握手机一键切换IP地址的技巧变得......
  • 家里电脑ip地址怎么设置?详细指导
    在家庭网络环境中,正确设置电脑的IP地址是确保设备能够顺利接入互联网以及实现局域网内设备间通信的基础步骤。对于大多数家庭用户而言,IP地址的设置通常是通过路由器自动分配(动态IP)来完成的,这得益于DHCP(动态主机配置协议)的广泛应用。然而,在某些特定情况下,比如需要固定某台设备的......
  • brew 安装软件提示 Can't locate IPC/Cmd.pm in @INC 解决
    在使用brew安装OpenSSL时遇到如下错误:==>perl./Configure--prefix=/data2/lx/.local/opt/homebrew/Cellar/openssl@3/3.4.0--openssldir=/data2/lx/.local/opt/homebrew/etc/openssl@3--libdir=libno-ssl3no-ssl3-methodno-zlibLast15linesfrom/data2/lx/.cach......