ルータのアドレスがデフォルトゲートウェイアドレスになるのだから、
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 件のコメント:
コメントを投稿