
Ich habe vor Kurzem ein intelligentes Thermostat gekauft, das sich mit meinem WLAN verbindet. Ich kann das Gerät über eine App auf meinem Telefon steuern.
Die App lässt etwas zu wünschen übrig und ich möchte eigene Skripte auf meinem Desktop-PC schreiben, um eine Verbindung mit dem Gerät herzustellen, um es zu steuern und Daten davon zu protokollieren.
Ich kann die MAC-Adresse und die IP-Adresse des Geräts in der Liste der verbundenen Geräte in der Administratoroberfläche meines Routers sehen, kann jedoch nicht herausfinden, welchen Port das Gerät zur Kommunikation mit der App auf meinem Telefon verwendet.
Wenn es eine Desktop-App für das Gerät gäbe, würde ich einfach Fiddler verwenden, um den Datenverkehr zu überwachen. Da die App jedoch auf meinem Telefon ist, ist mir keine Alternative bekannt.
Ich habe mehrere Port-Scanner ausprobiert und alle Ports auf der IP des Geräts gescannt, aber ohne Ergebnis.
Wie kann ich herausfinden, wie die App mit dem Gerät kommuniziert, um ein Reverse Engineering durchzuführen?
Weitere Details: Die App des Herstellers ist für Android und ich möchte von einem Windows-PC aus mit dem Gerät kommunizieren.
Bearbeiten: Ich habe versucht, die Anweisungen hier zu befolgen:https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureForAndroidum den Datenverkehr meines Telefons über Fiddler umzuleiten. Wenn ich den Browser auf meinem Telefon verwende, kann ich sehen, dass der Datenverkehr in Fiddler protokolliert wird, aber wenn ich die Thermostat-App verwende, wird nichts protokolliert. Seltsam.
Antwort1
Um herauszufinden, welcher Port von Ihrer App verwendet wird, können Sie entweder die Verbindungen Ihres Geräts überwachen, während Sie die App verwenden (Link im Kommentar vonSaaru Lindestøkke) oder Sie installieren einen Terminalemulator auf Ihrem Android-Telefon und verwenden den netstat
Befehl.
netstat -lt
listet alle Ports auf, die Ihr Gerät oder Ihre Software überwacht und auf TCP-Verbindungen wartet ( netstat -lu
dasselbe gilt für UDP-Verbindungen).
netstat -t
listet alle aktuell bestehenden TCP-Verbindungen auf. Verwenden Sie diesen Befehl während der Nutzung der App, um die von dieser bestimmten App verwendeten Ports anzuzeigen. ( netstat -u
für UDP)