wireshark中filter属性设置 .

本文介绍了Wireshark这一开源网络协议分析软件的功能与使用技巧,对比了它与Iris等同类软件的区别,并通过实例展示了如何利用Wireshark的过滤器功能来提高网络开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你是一位网络应用开发者,你在开发过程中肯定会使用到网络协议分析器(network protocol analyzer), 我们也可以称之为“嗅探器”。eEye 公司有一款很不错的网络协议分析器产品 “Iris”, 我一直使用它的 4.07 版本,由于其功能完备,一直没有太多的关注其他同类软件,但此版本不能工作在 Windows Vista 上,也不能对无线网络适配器进行分析,而我恰好要在 Vista 上做很多开发工作,又经常使用无线网络连接的笔记本电脑,Iris 4.07 无法满足我的工作需求了。

幸运的是,Wireshark(线鲨)一款基于 winpcap/tcpdump 的开源网络协议分析软件对vista和无线网络的兼容都很好。他的前身就是Ethereal。他具备了和 Iris 同样强大的 Decode 能力,甚至线性截包的能力超过 iris。要用好分析器很重要的一点就是设置好 Filter(过滤器),在这一点上 Wireshark 的过滤表达式更显强大。

我们来看个几个简单的过滤器例子:

ip.dst==211.244.254.1” (所有目标地址是211.244.254.1的ip包)

tcp.port==80″ (所有tcp端口是80的包)

你可以把上述表达式用 and 连接起来

“(ip.dst==211.244.254.1) and (tcp.port==80)”

或者再稍加变换

“(ip.dst==211.244.254.1) and !(tcp.port==80)” (所有目的ip是211.244.254.1 80 端口)

使用表达式设置过滤器比之在界面上选择/填空更加快捷灵活,如果你不熟悉这些表达式,Wireshark 也提供了设置界面,并且最终生成表达式,这样也方便了使用者学习。

Wireshark 还提供了更高级的表达式特性,请看如下表达式

(tcp.port==80) and (ip.dst==211.244.254.1) and (http[5:2]==7075)

对象 http 就是 wireshark 解码以后的 http 数据部分 http[5:2] 就是指从 下标 5 开始的两个字节,请思考一下这样的http 请求

GET /pu*****

怎么样,如果你在浏览器中访问 http://www.google.com/pu 或者 http://www.google.com/put 或者 http://www.google.com/pub 都会被记录下来,匹配 *****pu***… 了

这样我们就可以方便的将我们需要检测的某个特别的网络指令过滤出来。

比如我在帮某硬件编写上位机程序的时候,指令总是以固定格式发送的,很容易我们就能过滤掉烦人的无用的信息,大大的提升了工作效率。

### 使用 Wireshark 进行 RSL 协议分析 Wireshark 是一款功能强大的网络协议分析工具,支持多种协议的捕获和解析。对于无线通信领域中的 **Radio Subsystem Link (RSL)** 协议,可以通过其内置的支持来实现数据包捕获与过滤。 #### 1. 数据包捕获设置 为了捕获 RSL 流量,需确保设备已配置为能够监听到相关的流量源。通常情况下,这可能涉及 GSM 或其他蜂窝网络接口。如果硬件支持这些类型的流量,则可以在启动捕获前指定相应的接口[^1]。 ```bash sudo wireshark & ``` 或者通过命令行方式运行 tshark 工具: ```bash tshark -i any -f "port 777" # 假设端口 777 被用于传输 RSL 数据流 ``` 上述 `-i` 参数指定了要监控的网卡名称或编号;而 `-f` 则定义了一个简单的 BPF(Berkeley Packet Filter)表达式以初步筛选目标流量。 #### 2. 显示过滤器应用 一旦完成原始帧抓取之后,可以利用显示过滤器进一步细化查看范围至仅限于感兴趣的字段上。例如针对 RSL 特定消息类型可尝试如下语法结构: - `rsl.message_type == 0x??`: 替换问号处为你所关注的消息码值。 具体可用选项可通过查阅官方文档获取更多信息: ```plaintext https://www.wireshark.org/docs/dfref/r/rsl.html ``` 此链接提供了关于 rsl.* 属性列表及其含义说明,有助于构建精确匹配条件下的查询语句。 #### 3. 高级特性运用 除了基础的数据捕捉外,Wireshark还提供了一些高级功能帮助深入理解复杂交互过程: - 创建自定义颜色标记规则以便快速识别特定事件; - 导出选定会话统计信息供后续离线处理. 以上提到的功能均建立在其丰富的显示滤镜机制之上,因此熟练掌握如何有效组合不同参数至关重要. ```python import pyshark cap = pyshark.LiveCapture(interface='eth0', bpf_filter='tcp port 80') for pkt in cap.sniff_continuously(): try: if hasattr(pkt['RSL'], 'message_type'): print(f'RSL Message Type: {pkt.rsl.message_type}') except AttributeError: pass ``` 上面展示了一段 Python 脚本片段演示怎样借助 PyShark 库自动化提取并打印每条符合条件的 RSL 报文中包含的信息。 --- 问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值