openwrt定时检测IP地址,发生变化时把IP地址发送到手机上
2016-11-27 10:17
399 查看
免费的DDNS域名服务有时候刷新不及时,解析不到路由器的IP,就可以采用这种方法来解决
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import fcntl
import struct
import subprocess
import jpush
from time import sleep
SIOCGIFADDR = 0x8915
def get_ip_address(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
ip = socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
SIOCGIFADDR,
struct.pack('256s', ifname[:15])
)[20:24])
return ip
except:
return ''
old_ip =''
while True:
new_ip = get_ip_address('pppoe-wan')
if new_ip != old_ip and new_ip != '':
msg = '你的路由器IP:%s'%new_ip
old_ip = new_ip
try:
jpush.push_msg(msg)
except:
sleep(2)
continue
sleep(10*60)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import fcntl
import struct
import subprocess
import jpush
from time import sleep
SIOCGIFADDR = 0x8915
def get_ip_address(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
ip = socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
SIOCGIFADDR,
struct.pack('256s', ifname[:15])
)[20:24])
return ip
except:
return ''
old_ip =''
while True:
new_ip = get_ip_address('pppoe-wan')
if new_ip != old_ip and new_ip != '':
msg = '你的路由器IP:%s'%new_ip
old_ip = new_ip
try:
jpush.push_msg(msg)
except:
sleep(2)
continue
sleep(10*60)
相关文章推荐
- 当SVN服务器端IP地址发生变化时,客户端重新定位
- 当SVN服务器端IP地址发生变化时,客户端重新定位
- C# Windows服务 定时执行访问数据库循环发送手机短信
- C# Windows服务 定时执行访问数据库循环发送手机短信收藏
- gae上部署了一个定时往手机发送天气预报的小python程序
- 一个Windows后台服务(.Net的C#版) - 定时访问数据库循环发送手机短信
- 一个Windows后台服务(.Net的C#版) - 定时访问数据库循环发送手机短信
- 监控标签发生变化时,发送请求
- 转载 : 一个Windows后台服务(.Net的C#版) - 定时访问数据库循环发送手机短信
- .net服务器向j2me客户端发送字节流,在穿过cmwap网-关时字节流的内容发生变化,为什么?
- 检测页面是否发生变化
- 检测Android手机的IP地址
- 利用python检测IP地址变化并触发事件
- 从CButton派生一个可检测按下状态和定时重复发送消息的按钮控件
- .net服务器向j2me客户端发送字节流,在穿过cmwap网­关时字节流的内容发生变化,为什么?
- java socket发送十六进制字节内容发生变化的问题解决
- 解决触发器检测到活动的独立的事务处理, 已经回退、表发生了变化, 触发器/函数不能读它
- php版https证书过期时间检测/并发送短信给相关技术人员(crontab定时脚本版)
- C# Windows服务定时执行访问数据库循环发送手机短信
- 最新手机CTA进网检测要求变化介绍 (2011-7-29 14:09)