Вариант с telnet предлагал в самом начале, как наиболее очевидный. Сам способ реализации в принципе не особо важен, у меня было так:
Код:
#!/usr/bin/python
import telnetlib, re
#import time
HOST = "192.168.0.10"
user = 'user'
password = 'userpass'
tn = telnetlib.Telnet(HOST)
tn.read_until("BCM96338 ADSL Router")
tn.read_until("Login:")
tn.write(user + "\n")
tn.read_until("Password: ")
tn.write(password + "\n")
time.sleep(5)
tn.write("ifconfig ppp_0_1_32_1\n")
tn.write("logout\n")
str = tn.read_all()
pattern = re.compile (".*inet addr:([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*");
ip = pattern.findall(str)
#print str
print ip[0]
hapcom, отчего не использовали dyndns?