ルータのアドレスがデフォルトゲートウェイアドレスになるのだから、
Windowsのコマンドipconfgをsubprocess.Popen()で開いて情報を取得する。
AtermWR7870Sルータの説明書を見てみたら、http://web.setup/ でルータに接続できるようだ。
.setup のトップレベルドメインなんて無いのだからDHCPでDNSサーバーアドレスもルータに割り当てられて、
web.setup を問い合わせた時にルータに横取りされてルータ自身のIPアドレスが返されるのだろう。
当然ながら、例えばGoogle Public DNSを設定するとweb.setupには繋がらなくなる。
# -*- coding: utf-8 -*-
# ipconfig.py 2011.2.10
import subprocess
def get_default_gateway():
p = subprocess.Popen("ipconfig", stdout=subprocess.PIPE)
output = p.communicate()[0]
for line in output.splitlines():
if "Default Gateway" in line:
print line
return line.split(":")[1].strip()
return None
if __name__ == "__main__":
ip = get_default_gateway()
if ip:
print u"デフォルトゲートウェイアドレス: " + ip
import socket
ip = socket.gethostbyname("web.setup")
print ip
0 件のコメント:
コメントを投稿