Wireshark协议解析器提取与tshark在Linux/安卓上的应用

需积分: 14 4 下载量 51 浏览量 更新于2024-08-06 2 收藏 72KB DOCX 举报
"提取Wireshark中的协议解析器 - 副本.docx" 本文档主要介绍了如何提取Wireshark的协议解析器,并在Linux或Android系统上使用tshark工具来解析数据流并输出定制内容。作者Mr.zjl在2016年10月12日整理了这一学习过程。 Wireshark是一款强大的网络封包分析软件,它能够捕获网络流量并详细解析各种网络协议。tshark是Wireshark的命令行版本,具有类似的功能,适用于自动化脚本和非图形环境。 提取Wireshark协议解析器的目的是为了定制特定协议的解析规则,以便更好地理解和分析特定类型的数据流。这可能对网络故障排查、安全审计或开发自定义通信协议的开发者非常有用。 在学习分析阶段,作者提到可以使用Linux命令将LTE-RRC(Long Term Evolution - Radio Resource Control)数据转换为pcap文件,以便于Wireshark查看。例如,通过`od`命令将二进制数据转换为文本,然后使用`text2pcap`创建pcap文件: ```bash od -Ax -tx1 -v lte_rrc.dat | text2pcap -l147 -lte_rrc.pcap ``` 这里,`-l147`指定了数据链路类型(DLT),这是Wireshark识别特定协议的标识。 在处理数据时,作者给出了一个示例数据结构,其中包含固定长度的部分和需要解析的“应用内容”。黄色部分代表可变长度的应用数据,而灰色部分是固定结构,通常包含了时间戳和数据包长度等信息。时间部分可以通过转换为Unix时间戳来理解,长度部分表示应用数据的实际长度。 在命令行中,tshark提供了丰富的选项来控制其行为。`-h`选项用于显示所有帮助信息,`-o`选项用于重载配置,如自定义解析规则。例如,以下命令会解析LTE-RRC.pcap文件,并将结果输出到lte_log.log文件: ```bash tshark -o "uat:user_dlts:\"User0(DLT=147)\",\"lte-rrc.bcch.dl.sch\",\"0\",\"\",\"0\",\"\"" -r lte_rrc.pcap -V > lte_log.log ``` 解决思路阶段,作者建议将原始LTE-RRC数据按特定结构重新封装,去除不必要的头部信息,并保存为txt文件。然后,通过调用tshark并传入相应的参数,可以解析这个自定义格式的文件,比如使用`-o`设置自定义的协议名称(如`PROTOCL`)。 提取Wireshark协议解析器和利用tshark在Linux或Android环境中解析数据流是一项复杂但实用的技术,可以帮助网络专业人员深入理解网络通信细节,尤其对于处理专有协议或定制通信格式的情况。通过定制解析规则,用户可以根据自己的需求获取更精确的分析结果。