wireshark正确将tcp&sctp解析为diameter协议
在现网中经常使用到diameter协议,例如EPC的Gx,Gy,S6a接口,IMS网络中有更多的是diameter接口,一般与PCRF和HSS交互的接口使用的都是diameter协议。
但是有时候我们wireshark抓到的diameter数据包,打开时没能正确显示成diameter协议,所以我们就无法看到里面承载的信息,我们知道wireshark软件查看数据包就是识别网络并解析网络协议的功能。wireshark之所以没有解析出diameter协议,就是因为其没有识别到此协议,所以我们需要对diameter的协议端口(上层协议识别下层协议的端口)进行手动解码,就是让wireshark关联diameter协议解码。
例如如下分别是sctp和tcp承载的diameter协议无法协议的情况:
- 1、我们首先看下tcp协议承载diameter协议的解码问题
光标放在需要解码的数据包右键选择协议解码,在如下栏选择diameter即可,效果如下:
有没有发现有个问题,4个tcp的diameter包,只解码了前两个,后两个还是tcp协议,这是为啥呢,我们看#7,9号包的tcp层的***都是1,tcp自动做重传分析时因为tcp层***相同认为是重传,所以没有解码,下面我们处理一下,关闭tcp层的重传分析。
编码》首选项》protocol,找到tcp协议,将如下框里的勾去掉,就一切OK,如下,不过记得如果以后分析实际tcp协议数据包时候,需要wireshark帮助做重传分析时记得再勾选上,否则wireshark不会自动给做重传分析。
- 2、sctp承载diameter的解码
注意:有点不同吆
同样光标放到要解码包,右键选中协议解码,找到用diameter解析,不过有时候可能wireshark没有识别到sctp协议和端口,需要我们手动去指定,如下:
看下数据包里实际的sctp端口号
在当前处选择diameter解析即可。
总结延申:
实际这种方法在wireshark里可以广泛使用,不仅仅时diameter不能解析时使用,其他协议也适用,而且如果某个协议解析不如我们意,我们也可以去研究一下协议首选项,找到该协议,看看是不是某些项需要勾选,或者多勾选了。
--------如有问题需要讨论可以给我留言哦