最近在開發一個PCRF系統,和PCEF之間使用的是Gx接口,是基於Diameter協議的,調試過程中出現了點問題,本來想把消息轉換成xml格式看看的,不過太麻煩了,於是想到了Wireshark,查了一下居然能夠支持Diameter協議.
首先在使用tcpdump在服務器上抓包:
sudo tcpdump -s 0 -vvv -i lo tcp and host 127.0.0.1 and /( port 6868 or port 5868 /) -w gx.cap
PCRF的Gx端口使用的5868,PCEF使用的6868,將抓包結果輸入到gx.cap文件中.文件下到本地後用Wireshark打開,發現只能解析到傳輸層協議,看不到我要的Diameter格式.
估計是因爲我用的端口都不是Diameter的標準端口,所以沒有辦法將我的報文識別爲Diameter消息了.
首先選擇一個Diameter報文,然後在wireshark菜單裏選擇Analyze,選擇Decode As,出現下面的對話框:
在右邊選擇diameter協議,目的端口選擇6868,這樣WireShark就能成功識別Diameter消息了,能直接看到AVP的感覺真好.