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.