51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 4908|回复: 9
打印 上一主题 下一主题

求助: wireshark 协议端口解码 [复制链接]

Rank: 8

义 超级之星 勤 论坛核心会员

跳转到指定楼层
楼主
发表于 2012-10-10 12:33:27 |只看该作者 |倒序浏览
一键分享 一键分享
使用wireshark的时候经常遇到这样的情况

比如Gb口的数据
明知UDP上面是NS层
但由于现网NS的UDP端口太多,wireshark无法识别
手动的decode as的话只能一个个的,特别是对于很大的数据包文件,每调整一个就要刷新很久

就想问下,wireshark有没有这个功能呢?:
指定某一协议层上一层是什么协议?
也即,比如UDP的上一层,即使端口不认识,我都让wireshark理解为NS层。

谢谢

欢迎多多交流

PS CORE & SS7 & SIGTRAN & IP

有相关的专业技术网站/Q群也多谢推荐

Rank: 8

VIP 论坛核心会员 特殊贡献奖

沙发
发表于 2012-10-10 13:19:14 |只看该作者
貌似没有。decode as选择both稍微好一些。

使用道具 举报

Rank: 9Rank: 9

懒

板凳
发表于 2012-10-10 21:08:43 |只看该作者

有这个功能。在设置里面可以设置一个端口范围,例如100-200,然后指定为NS协议。然后就都按NS解码。

点评

yonka  谢谢爱总,貌似E的SGSN的NS层会有指定端口段,这样就比较方便了 但其他厂商的就不清楚了  发表于 2012-10-13 16:03:32
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 8

VIP 论坛核心会员 特殊贡献奖

地板
发表于 2012-10-12 17:40:51 |只看该作者
edit->preference->protocols->GPRS-NS->UDP ports 0-19999

慎用吧。。。建议用完了改回到初始值去,否则可能会对其他一些知名端口解析造成错误。。。

点评

yonka  多谢,这个是永久配置吗?不能像 decode as一样只对本次有效?  发表于 2012-10-13 16:04:02

使用道具 举报

Rank: 8

VIP 论坛核心会员 特殊贡献奖

5#
发表于 2012-10-15 10:44:44 |只看该作者
不知道。。。反正我的wireshark是永久配置。改完了之后,GTP就解不出来了。
既然是临时修改,那么上限再大点也无妨

使用道具 举报

Rank: 4Rank: 4Rank: 4Rank: 4

6#
发表于 2012-10-16 15:59:26 |只看该作者
我也遇到了LZ类似的问题,今天试了一下hycl5410 的方法,发现不是端口号范围的问题,而是当你用wireshark打开一个比较大的包时,ds时默认的端口号就是第1帧的udp端口号,即使你选择both,那也是第一帧的端口双向,跟第一帧端口号不相同的其它UDP包也就无法解析了···
解析前信令端口如下图所示:
DS选项里面的UDP端口默认为第一帧端口18255的双向,DS应用后就只解析出源或目的为18255的UDP包,其它端口的仍旧无法解析。
  

这里的问题是解析器默认选择了第1帧 的端口号,解析里里面也无法设定一个端口号范围,也不能全选所有包,让其自动识别所有帧端口号进行解析。然而在edit->preference->protocols->GPRS-NS->UDP ports 0-19999里面设置的端口号范围根本无法应用到DS选项里面。针对此问题暂时无解,期待高手解答。
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

使用道具 举报

Rank: 4Rank: 4Rank: 4Rank: 4

7#
发表于 2012-10-16 16:03:48 |只看该作者
上面的三张图片,依次是解析前的数据、DS选项窗口、解析后的数据。

使用道具 举报

Rank: 8

VIP 论坛核心会员 特殊贡献奖

8#
发表于 2012-10-16 16:41:04 |只看该作者
我用自己的wireshark测试了一下,edit->preference->protocols->GPRS-NS->UDP ports很好用啊,点了apply之后,几乎所有的UDP上层都会被识别成GPRS-NS。跟是否应用到DS里没有关系。打个不恰当的比方,DS就像静态路由,而edit->preference-> 就像default 路由。。。不知道楼上为啥会出现这种情况。。。

再说一下我测试的情况,又做了一点简单的优化UDP ports 3000-59999,2157,2158
这样可以避免某些知名端口(53,123,2123,2152等)的误判。

另外一些意料外情况,那就只能手动去用DS了,或者设置合适的端口范围。

使用道具 举报

Rank: 4Rank: 4Rank: 4Rank: 4

9#
发表于 2012-10-16 17:44:12 |只看该作者
本帖最后由 望到天那边 于 2012-10-16 18:00 编辑

hycl5410 ,你的比喻有点滴意思,那么既然DS像静态路由,数据肯定是先走静态路由的,只有在直连、静态及其它高级路由走不通的情况下才会走default 路由。
现在的问题在静态路由走不通的情况下,DS没有切换到default 路由。
我仔细查看了一下,主要原因是这类UDP包的源端口和目的端口一样,如上面的图2都为18255。其它数据包大多数能够解析出来,是因为正好你选择的那一帧的UDP源端口和目的端口是个比较大的范围差,包含在这一范围内的UDP包都能被解析。而在这个范围外的UDP包仍无法解析,你可以验证一下!或者我把我的数据截一小段给你验证。

补发数据包于此:


附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

使用道具 举报

Rank: 8

VIP 论坛核心会员 特殊贡献奖

10#
发表于 2012-10-17 10:15:19 |只看该作者
“包含在这一范围内的UDP包都能被解析。而在这个范围外的UDP包仍无法解析.”

就应该是这样的啊。。。。否则我们设置端口范围的目的是什么呢?设置的目的是为了尽可能把大部分的gbip包识别出来而已。
wireshark做的再智能,也判断不出来某一个随机的udp端口是否承载了GPRS-NS吧?
我拿default路由做例子确实是有一个问题:default路由会保证cover所有情况,而edit->preference则不是。判断条件应该为
1. DS
2. edit->preference
3. well-known
4. none
测试过,2 比3 的优先级高。也就是说,如果我设置UDP 0-65535解析成GPRS-NS,那么DNS (53)是不会被解析成DNS的,而是GPRS-NS
这就是为什么我设置的条件要尽量避开一些知名端口。补充一下,楼上给的我的包里有WTP的,所以还可以继续优化一下UDP端口设置条件,把9200~9202也剔除出去。

或者说,2是1的批量处理,1指定的是某一个/一对端口,而2可以指定一个端口范围。

none就是我们什么都不配置的初始状态,也就是什么也解不出来。所有不满足1-3条件的,都按4处理。

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-5-6 02:07 , Processed in 0.031057 second(s), 14 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部