Я пытаюсь найти способ заставить мой маршрутизатор сообщать мой WAN IP, используя UPnP / SSDP, но до сих пор я не смог даже получить список устройств доступа в Интернет, поддерживающих UPnP, в моей сети. Вот запрос, который я отправляю:
$ 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
С помощью команды:
$ nc -uvv 239.255.255.250 1900 < request.txt
Connection to 239.255.255.250 1900 port [udp/ssdp] succeeded!
Я просто получаю сообщение об успешном соединении, а затем ничего ...
Может ли кто-нибудь дать мне какие-либо указатели (нет адреса памяти пожалуйста!) а что я делаю не так?
Обновить: Итак, я попытался с помощью tcpdump
чтобы получить ответы вот что я получил:
$ 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
…
Я предполагаю, что следующий шаг - проанализировать вывод tcpdump и отфильтровать все ответы, которые не содержат NT: urn:schemas-upnp-org:device:InternetGatewayDevice:1
Затем заголовок делает фактический запрос SOAP к маршрутизатору.
Ответы:
Вам нужно будет использовать
tcpdump
или что-то подобное, чтобы увидеть ответ или ответы.nc
ищет ответ от конечной точки, на которую вы отправили запрос. Но конечная точка, к которой вы отправили запрос, является общей целью широковещания. Ответ будет получен не от общей цели широковещания, а от конкретного устройства, которое отвечает.Как
nc
Выходные данные говорят, что это связано с целью вещания. Таким образом, он не увидит ответы от отвечающих устройств.источник
Хотя это задание довольно старое, я выкладываю ответ, который искал, сам.
Ваш UPnP-ответ опубликовал местоположение http://192.168.1.1:1780/InternetGatewayDevice.xml "
Там вы можете получить больше информации о формате данных. Для моего роутера: у меня есть больше путей к xmls. Звоня им, есть больше информации UPnP. в результате чего: Я звонил:
и получите в ответ:
Я получил большую помощь от «Инспектора UPnP»
источник
Ты можешь использовать
socat
источник