↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

わんこ日記 [RDF] YouTubeも始めました→


2014-12-06(Sat) [長年日記]

ルータから外側のIPアドレスを取得する Nuro編

以前のADSLモデムでの外側のIPアドレスの取得方法については、2009年6月17日の日記に書いたけど、おうちデータセンターでは、2Gbpsに惹かれてNuro光にしたので、Nuroのルータ(ホームゲートウェイ)HD8045Gでもやってみた。

$ ./UPnPls.pl

M-SEARCH * HTTP/1.1

Host:239.255.255.250:1900

Man:"ssdp:discover"

ST:upnp:rootdevice

MX:3

------------------------------

HTTP/1.1 200 OK

CACHE-CONTROL: max-age=1800

DATE: Sat, 06 Dec 2014 05:45:32 GMT

EXT:

LOCATION: http://192.168.1.1:49652/49652gatedesc.xml

OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01

01-NLS: 22b36f62-1dd2-11b2-b117-fb384869ae1a

SERVER: Linux/2.6.34.10_sd5115v100_wr4.3, UPnP/1.0, Portable SDK for UPnP devices/1.6.18

X-User-Agent: UPnP/1.0 DLNADOC/1.50

ST: upnp:rootdevice

USN: uuid:00e0fc37-2525-2828-2500-F8E8110D1417::upnp:rootdevice

==============================

ホームゲートウェイは、http://192.168.1.1:49652/49652gatedesc.xmlとのことなので、そこにアクセスするといつもどおりらしいのがある

>serviceList<

>service<

>serviceType<urn:schemas-upnp-org:service:WANIPConnection:1>/serviceType<

>serviceId<urn:upnp-org:serviceId:WANIPConn1>/serviceId<

>controlURL</upnp/control/WANIPConn1>/controlURL<

>eventSubURL</upnp/control/WANIPConn1>/eventSubURL<

>SCPDURL</gateconnSCPD.xml>/SCPDURL<

>/service<

>serviceList<

[抜粋http://192.168.1.1:49652/49652gatedesc.xmlより引用]

;

そこで、SOAPアクセススクリプト

#!/usr/bin/perl

use SOAP::Lite;

my $soap = SOAP::Lite

-<ns('urn:schemas-upnp-org:service:WANIPConnection:1')

-<proxy('http://HG4085D:49652/upnp/control/WANIPConn1');

my $som = $soap-<GetExternalIPAddress();

my $ip = $som-<valueof('//GetExternalIPAddressResponse/NewExternalIPAddress');

print "$ip\n";

を作成して、外側のIPアドレスを取得した。

念のためにhttp://192.168.1.1:49652/gateconnSCPD.xmlも見たけど、同じだった。この辺はUPnPでルータのポート公開用に統一されてるのかな。

本日のPingbacks(全0件)

Google Web検索 on-o.com内を検索