
我最近買了一個智慧恆溫器,它可以連接到我的無線網路。我可以透過手機上的應用程式控制裝置。
該應用程式還有一些不足之處,我想在桌上型電腦上編寫自己的腳本來連接設備,以便控制和記錄其中的數據。
我可以在路由器管理介面的已連接設備清單中看到設備的 MAC 位址和 IP 位址,但我無法確定設備使用哪個連接埠與手機上的應用程式進行通訊。
如果該設備有一個桌面應用程序,我只會使用 fiddler 來嗅探流量,但由於該應用程式在我的手機上,我不知道還有什麼其他選擇。
我嘗試了多個端口掃描器並掃描了設備 IP 上的所有端口,但沒有結果。
如何找出應用程式如何與設備通信,以便對其進行逆向工程?
額外詳細資訊:製造商提供的應用程式位於 Android 上,我想從 Windows PC 與裝置進行通訊。
編輯:我嘗試按照此處的說明進行操作:https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureForAndroid透過 fiddler 重新導向我手機的流量。在使用手機上的瀏覽器時,我可以看到 fiddler 中記錄的流量,但使用恆溫器應用程式時,沒有記錄任何內容。奇怪的。
答案1
要找出您的應用程式使用了哪個端口,您可以在使用該應用程式時嗅探您的設備連接(來自評論中的連結)薩魯·林德斯托克)或者您在 Android 手機上安裝終端模擬器並使用該netstat
命令。
netstat -lt
列出您的裝置或軟體正在偵聽並等待 TCP 連線的所有連接埠(netstat -lu
對於 UDP 連線也是如此)。
netstat -t
列出目前所有正在進行的 TCP 連線。使用應用程式時使用此命令可查看此特定應用程式正在使用的連接埠。 (netstat -u
對於UDP)