wireshark过滤http包

本文详细介绍了如何使用Wireshark工具进行HTTP数据包的过滤,包括基本的HTTP协议过滤,如显示所有HTTP请求和响应,以及通过特定关键词、URL、请求方法等进行精确过滤。此外,还涵盖了内容关键词过滤,如服务器标识、内容类型和编码等,帮助用户更高效地分析网络流量。

Wireshark filter: Protocol = “HTTP” 显示过滤http数据包

  1. List item

利用wireshark 工具内置的filter
直接点击"Filter", 打开"display Filter"对话框,选择"HTTP",然后点击"Expression",使用工具已经识别到的那些过滤条件表达式。
Display Filter
2. http 关键词过滤

  • 只访问某指定域名:http.host==“域名”
  • 访问包含了指定字符串的 : http.[host] contains “内容”
  • 只显示Referer头部内容为 http://www.packtpub.com的请求 : http.referer == “http://www.packtpub.com”
  1. HTTP请求方法的显示过滤器

    • 显示所有HTTP请求包: http.request 或 http.request == 1
    • GET请求的所有HTTP包: http.request.method == GET
    • POST请求的所有HTTP包: http.request.method==POST
    • 过滤请求的uri: http.request.uri==”/upload” //取值是域名后的部分
    • 过滤整个uri:http.request.full_uri==“http://task.browser.360.cn/upload”
    • http.request.version == “HTTP/1.1”
  2. HTTP响应数据包 :

    • http.response 或者 http.response == 1

    • 包含错误码的HTTP响应包:http.response.code >=400

    • 显示包含HTTP客户端错误状态码的HTTP响应包: http.response.code >=400 and http.response.code <=499

    • 显示包含HTTP服务端错误状态码的HTTP响应包: http.response.code >=500 and http.response.code <=599

    • 过滤http响应中的phrase http.response.phrase == “OK”

  3. 内容关键词

    http.server contains “snapshot” //过滤http头中server字段含有指定字符

    http.content_type == “text/html” //过滤content_type是text/html的http响应、post包,即根据文件类型过滤http数据包
    http.content_encoding == “gzip” //过滤content_encoding是gzip的http包
    http.transfer_encoding == “chunked” //根据transfer_encoding过滤

    http.content_length == 279
    http.content_length_header == “279” //根据content_length的数值过滤

    http.server //过滤所有含有http头中含有server字段的数据包

<think>好的,我需要帮助用户解决关于Wireshark过滤器的设置问题。用户想知道如何设置含特定条件的捕获或显示过滤规则。首先,我得回顾一下用户提供的引用内容,确保答案准确。 根据引用[1],用户已经区分了显示过滤器和捕获过滤器的基本概念。捕获过滤器在捕获时应用,使用BPF语法,而显示过滤器在之后应用,语法更复杂。引用[3]和[4]详细说明了捕获过滤器的语法结构,括协议、方向、主机等参数。引用[2]提到了一些具体的例子,比如排除特定主机的捕获过滤器。 接下来,我需要整理这些信息,分步骤说明如何设置这两种过滤器。对于捕获过滤器,应该按照协议、方向、主机和逻辑操作来构建规则,例如只捕获TCP流量或排除某个IP。显示过滤器则需要使用Wireshark的特定语法,支持字段匹配和运算符,比如过滤HTTP请求或特定状态码。 还要注意用户可能需要实际例子来理解语法,所以提供多个示例会比较有帮助。比如,捕获特定端口的SSH流量,或者显示过滤含特定字符串的数据。同时,需要指出两者的区别和注意事项,比如捕获过滤器无法在捕获后修改,而显示过滤器更灵活。 最后,生成相关问题,帮助用户进一步学习,比如不同协议的过滤方法或常见错误排查。确保整个回答结构清晰,步骤明确,引用正确,符合用户的需求。</think>### Wireshark过滤器设置方法分步说明 #### 一、捕获过滤器设置(BPF语法) 1. **语法结构** 遵循`<协议> <方向> <主机/端口> <逻辑运算符> <条件>`四元组结构[^3][^4] 示例: $$ \text{tcp dst port 80 and not host 192.168.1.1} $$ 2. **常用组合** | 需求类型 | 示例 | 说明 | |---|---|---| | 协议过滤 | `udp` | 只捕获UDP协议 | | 端口过滤 | `port 22` | 捕获SSH流量 | | IP排除 | `not net 10.0.0.0/8` | 排除内网流量 | | 复合条件 | `tcp port 443 and host 1.1.1.1` | 精确到HTTPS会话 | 3. **配置位置** 通过菜单栏:捕获 -> 捕获过滤器 -> 新建/选择规则 #### 二、显示过滤器设置(Wireshark语法) 1. **字段匹配规则** 使用`协议.字段 运算符 值`格式[^2] 示例: $$ \text{http.request.method == "GET"} $$ 2. **高级运算符** | 运算符 | 说明 | 示例 | |---|---|---| | `contains` | 含字符串 | `http contains "admin"` | | `==` | 完全匹配 | `tcp.port == 8080` | | `&&` | 逻辑与 | `ip.src==192.168.1.1 && tcp` | 3. **协议分层过滤** $$ \text{eth.type == 0x0800 && ip.proto == 6} $$ 表示:过滤IPv4下的TCP协议 #### 三、核心区别对照表 | 特性 | 捕获过滤器 | 显示过滤器 | |---|---|---| | 执行阶段 | 数据捕获时[^1] | 数据解析后[^1] | | 语法类型 | BPF语法[^2] | Wireshark专用语法 | | 修改灵活性 | 捕获前设置[^2] | 实时修改 | | 性能影响 | 减少系统负载[^2] | 不影响已捕获数据 | #### 四、典型场景示例 1. **捕获指定VLAN流量** `vlan 100 && tcp port 80` 2. **显示重传数据** `tcp.analysis.retransmission` 3. **提取登录请求** `http.request.uri contains "login.php"`
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值