Ich versuche, meinen Router dazu zu bringen, meine WAN-IP über UPnP / SSDP zurückzumelden, aber bisher konnte ich nicht einmal eine Liste von UPnP-unterstützten Internetzugriffsgeräten in meinem Netzwerk abrufen. Hier ist die Anfrage, die ich sende:
$ cat request.txt
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 3
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
Mit dem Befehl:
$ nc -uvv 239.255.255.250 1900 < request.txt
Connection to 239.255.255.250 1900 port [udp/ssdp] succeeded!
Ich bekomme nur die Meldung Verbindung erfolgreich und dann nichts ...
Könnte mir jemand einen Hinweis geben (nein Speicheradressen bitte!) was mache ich falsch
Aktualisieren: Ok, also habe ich es versucht tcpdump
Um Antworten zu erhalten, habe ich Folgendes erhalten:
$ sudo tcpdump -vv -A -s 0 -i en1 udp port 1900 and host 239.255.255.250
…
NOTIFY * HTTP/1.1
Host: 239.255.255.250:1900
Cache-Control: max-age=60
Location: http://192.168.1.1:1780/InternetGatewayDevice.xml
NTS: ssdp:alive
Server: POSIX, UPnP/1.0 linux/5.100.104.2
NT: urn:schemas-upnp-org:device:InternetGatewayDevice:1
…
Ich denke, der nächste Schritt ist, die Ausgabe von tcpdump zu analysieren und alle Antworten herauszufiltern, die das nicht enthalten NT: urn:schemas-upnp-org:device:InternetGatewayDevice:1
Der Header sendet dann die eigentliche SOAP-Anfrage an den Router.
Antworten:
Sie müssen verwenden
tcpdump
oder etwas ähnliches, um die Antwort oder die Antworten zu sehen.nc
sucht nach einer Antwort von dem Endpunkt, an den Sie die Anfrage gesendet haben. Der Endpunkt, an den Sie die Anforderung gesendet haben, ist jedoch ein allgemeines Broadcast-Ziel. Die Antwort kommt nicht von einem allgemeinen Broadcast-Ziel, sondern von dem spezifischen Gerät, das antwortet.Wie
nc
Die Ausgabe besagt, dass eine Verbindung zum Broadcast-Ziel besteht. Daher werden die Antworten der antwortenden Geräte nicht angezeigt.quelle
Obwohl diese Aufgabe ziemlich alt ist, poste ich die Antwort, nach der ich gesucht habe, selbst.
Ihre UPnP-Antwort hat den Ort gepostet " http://192.168.1.1:1780/InternetGatewayDevice.xml "
Dort erhalten Sie weitere Informationen zum Datenformat. Für meinen Router: Ich habe dort mehr Pfade zu xmls. Wenn Sie sie anrufen, gibt es mehr UPnP-Informationen. Daraus ergibt sich: Ich rief:
und als Antwort bekommen:
Ich habe viel Hilfe vom "UPnP Inspector"
quelle
Sie können verwenden
socat
quelle