文档章节

利用ip138取得公网IP,公网ip改变后报警通知我们进行更改

独钓渔
 独钓渔
发布于 2016/01/29 16:07
字数 256
阅读 267
收藏 15

由于系统上绑了我们的出网ip又用的是家用网络基本上是每天一变,但是时间又不定,所以写了个查外网ip的

其实有完用可以用

curl http://ifconfig.me 

这样就只返回ip,不过国内的网络你懂的,

所在还是使用了ip138

在windows还想把报警加上,所以用了python。

import urllib.request
import pickle

fip = 'fip.pkl'
ip =''
with open(fip, 'rb') as f:
    ip = pickle.load(f)
print("上一次IP: " + ip)
print("---------")
getIpUrl = 'http://1212.ip138.com/ic.asp'

f = urllib.request.urlopen(getIpUrl)
g = f.read().decode('gb2312')
a1 = g.find("您的IP是:")
a2 = g.find("来自:")

newip = g[a1 + 7 :a2 - 2]
print("这一次IP: " + newip)

if ip != newip:
    print("you must change you ip! ");
    ip = newip
    ffip = open(fip, 'wb+')
    pickle.dump(newip, ffip)
    ffip.close()
else:
    print("ok !!")

 

其实在if语句里可以写许多报警的出使用pygame或者winsound来报放音乐报警,因为我们值班室随时有人,可以做个提示。也可以邮件短信报警了。

 

© 著作权归作者所有

共有 人打赏支持
独钓渔
粉丝 48
博文 375
码字总数 142587
作品 0
沙坪坝
系统管理员
加载中

评论(1)

xingmu
xingmu
f3322
shell 脚本监控公网出口IP

1、情景 公司有2条二级运营商的链路,链路非常不稳定。更为严重的是我们申请固定IP,出口IP竟然总是变动。公司所有业务都需要通过外网,影响面非常大。有人提示可以对出口做监测,发现IP变动...

X糊涂仙儿
2016/10/15
0
0
TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞

TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞 作者:谢红伟 下载源代码 这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友...

长平狐
2012/09/20
524
1
TCP/UCP打洞原理

Internet的迅速发展以及IPv4 地址数量的限制使得网络地址翻译(NAT,Network Address Trans2lation)设备得到广泛应用。NAT设备允许处于同一NAT后的多台主机共享一个公网(本文将处于同一NAT后的...

莫问viva
2013/11/25
894
0
U-Mail邮件系统切换IP地址后该如何操作?

问:新安装的U-Mail邮件系统,已能正常运行。因与老系统切换,需要改变安装有U-Mail邮件系统软件的 服务器IP地址,我试了一下,只简单地修改服务器的IP地址后还不能正常使用,在浏览器上只能...

ifrfksdd
2014/06/23
0
0
U-Mail邮件系统切换IP地址后该如何操作?

问:新安装的U-Mail邮件系统,已能正常运行。因与老系统切换,需要改变安装有U-Mail邮件系统软件的 服务器IP地址,我试了一下,只简单地修改服务器的IP地址后还不能正常使用,在浏览器上只能...

小燕
2014/06/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ArrayList嘿嘿嘿

数组扩容技术: //扩容技术 将原数组objs类容复制到新数组并且长度为11 Object[] newObjs = Arrays.copyOf(objs,11); 数组比较大那么System.arraycopy比较有优势,因为其使用的是内存复制,省...

熊猫你好
17分钟前
1
0
Android平台下的一个好用的日历库(sxtwl_cpp),支持农历转公历,和公历转农历等功能

python版的sxtwl_cpp传送入口 在build.gradle的allprojects中加入 maven { url 'https://dl.bintray.com/yuangu/sxtwl' } 最终如下面代码所示: allprojects { repositories { ......

元谷
28分钟前
9
0
Redis常用命令

keys 我把这个命令放在第一位,是因为笔者曾经做过的项目,以及一些朋友的项目,都因为使用keys这个命令,导致出现性能毛刺。这个命令的时间复杂度是O(N),而且redis又是单线程执行,在执行k...

谢思华
44分钟前
2
0
关于css宽度分离

所谓宽度分离就是width 属性不与影响宽度的 padding/border(有时候包括 margin)属性共存 例如: .box{width:200px;padding:20px;border:1px solid;} 为何要做宽度分离 一说到分离就是为了好...

莫西摩西
54分钟前
1
0
Linux常用命令

###############常用命令说明############################## cat /proc/version 显示内核的版本 mv dir1 new_dir 重命名/移动 一个目录 rm -rf a.txt b.txt c.txt 删除多个文件 chmod 777 ......

lyle_luo
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部