Quelle((http://www.heise.de/netze/Netzwerke-mit-UPnP-einrichten-und-steuern--/artikel/126602/4)) ===== UPnP im Handbetrieb ===== Mit diesem Wissen und dem Paketgenerator hping3 sowie den Paketschnüfflern tcpdump und Wireshark lassen sich jedoch auch simple Skripte für Linux oder andere Unixe basteln, die Auskunft über im LAN anwesende UPnP-Geräte geben: #!/bin/sh SPORT=12121 DPORT=1900 MCAST=239.255.255.250 MYIP=`ifconfig eth0 | grep "inet Adresse:" | cut -f1 -d "B" | cut -f2 -d ":"` TCPREG="dst port $SPORT and dst net $MYIP" hping -c 1 -2 -s $SPORT -p $DPORT -d 102 -E ssdp-msearch-rootdevice.txt $MCAST tcpdump -n $TCPREG Die Skript-Variable SPORT enthält einen willkürlich gewählten Quellport, den hping beim Senden verwendet und über den tcpdump anschließend eingehende Antworten erhält. Der Paketgenerator hping erzeugt nun ein UDP-Paket, an das es 102 Byte Nutzdaten (-d) anhängt. Deren Inhalt entstammt der Datei ssdp-msearch-rootdevice.txt, die eine M-SEARCH-Anfrage für [[http://upnp.org/standardizeddcps/documents/BasicDevice-1.0.pdf|UPnP-Rootdevices]] enthält. Nachdem hping das Paket ins Netz gesendet hat, zeigt tcpdump alle eingehenden Anfragen an, die per UDP über den Port 12121 den Rechner erreichen. Möchte man den Inhalt des HTTP-Request sehen, hilft der parallel arbeitende Netzwerkschnüffler Wireshark. Das Skript und die Datei ''ssdp-msearch-rootdevice.txt'' finden sich in diesem {{:upnp:0726-202.zip|ZIP-Archiv}}.