我想建立「SIP嗅探器」爲我的項目,以提醒從VoIP的communication.I來電試圖從我的智能手機打電話給我的筆記本電腦和Wireshark的檢查輸入數據包。我看到所有的SIP消息(INVITE,BYE,TRYING)。我知道SIP的基礎,它使用UDP端口5060包嗅探器不能嗅出SIP電話(VoIP)數據包
接下來,我使用http://www.binarytides.com/python-packet-sniffer-code-linux/ < <這個代碼---最後一個碼,最長代碼(我嘗試粘貼,但我不能粘貼框代碼)運行Raspberry PI通過LAN電纜連接到筆記本電腦。
該程序可以嗅探UDP包,我檢查的Wireshark它正確的90%(IP地址和IP目的地不正確)端口和淨荷是否正確。我從以太網頭部檢查頭部===> IP頭部===> udp頭部 它與SIP-INVITE沒有區別,它們只有不同的有效負載(通過wireshark檢查)。
但我儘量VoIP呼叫我的筆記本電腦,這是不行的,它從來沒有嗅出5060或SIP數據包(有一次我看到呼出數據:「SIP:[email protected]」)
爲什麼我可以嗅探其他,但VoIP不能。
對不起,我英文很差。 感謝您的建議。
不是這個代碼。它是最長的代碼。 原始套接字S = socket.socket(socket.AF_PACKET,socket.SOCK_RAW,socket.ntohs(爲0x0003)) 它嗅出所有傳入和傳出的數據包 但我只想要進入的UDP 我試圖改變像你的建議,但它只嗅探MAC地址, THX爲您的advie。 – RinnaMo
能否請你在你的代碼更改此: 協議= IPH [6] 到 協議= ntohs和(IPH [6]) 你可以就IPH打印[6],並檢查它的值是恰當,我們可以解僱永久性問題。 – Pramod
錯誤說:名字'ntohs'沒有定義 – RinnaMo