如何让wireshark解码任意层的数据

     前几天,需要解码iphone吐出的LTE-RRC数据包,对于协议解码,自然第一想到的是wireshark工具。但是wireshark的解码默认都是需要从其支持的链路层开始解码,否则是不能直接打开LTE-RRC数据包的,即使这个数据包存为了pcap文件格式。这是因为从iphone拿到的lte数据包,是从L3 RRC层开始的,并不包含链路层MAC、RLC等层。而实际上,这种情况是很多的,例如你有时只获取了TCP之上HTTP的数据包,没有底层,又想利用wireshark进行内容的详细解析。

    那么,有办法不需要从代码上改造wireshark而能达到此功能吗?答案是肯定的。

    我们知道,当wireshark读取pcap格式文件时,需要知道数据包的最底层协议类型,于是就从最底层协议开始依次往上层协议进行解码。wireshark支持的链路层协议类型多达上百种(支持的定义在http://www.tcpdump.org/linktypes.html)。而具体数据是那种链路层协议,是在数据捕获生成时就给定了,例如捕获以太网卡,就是以太类型,捕获wlan无线空口数据,就是802.11类型,捕获ss7 64k信令,就有MTP2等。但像LTE-RRC这种层3协议,想交给wireshark解码,保存为pcap文件时,链路层协议应该填多少呢?其实,pcap格式文件的链路层协议值,空出了几个给我们自己定义映射用的。他的范围是147~162(定义为:DLT_USER0 ~USER15

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值