树莓派定时上报公网IP
来源:互联网 发布:福能集团怎么样 知乎 编辑:程序博客网 时间:2024/04/29 14:48
linux的通用方法:
(1)需要软件:msmtp , mutt
(2)去注册一个邮箱(需要开启smtp服务,不然发不了邮件(这个过程可能要填写手机信息(当然也可以找一家不需要登记的)))
(3)编写shell :getipx命令(http://members.3322.org/dyndns/getip
#!/bin/sh
rm getip
wget -q http://members.3322.org/dyndns/getip
(4)编写c语言代码,定时轮询ip发现有变化就上报
#include <stdio.h>#include <stdlib.h>#include <math.h>void send_mail(char* ip){char cmd[1000] = {};sprintf(cmd,"./sendmail \"%s\"", ip);printf("cmd is: \"%s\"\n", cmd);system(cmd);}int main(){FILE* fpRead = NULL;char tmIP[1000] = {};char tmIP2[1000] = {};int ran = 0;while(1){printf("------------------------------get ip ...--------------------------\n");system("./getipx");fpRead = fopen("getip", "r");if(fpRead){fscanf(fpRead, "%s", tmIP);printf("get ip is: %s\n", tmIP);if(strcmp(tmIP, tmIP2) != 0){printf("ip changed to: %s , sending mail...\n", tmIP);strcpy(tmIP2,tmIP);//send mail send_mail(tmIP2);}else{printf("IP NO Change!\n");}fclose(fpRead);}ran = rand()%15;ran = 20+ran;printf("sleep %d s\n",ran );sleep( ran);}return 0;}
(5)编写sendmail
#!/bin/bash
echo "=====================sending emal============="
ip_addr=$1
echo $ip_addr
cat getip | mutt -s "change_ip" super_getip@126.com
(6)配置文件
------------------------------.msmtprc
account default
host smtp.sina.com
from super_send@sina.com
auth login
user super_send
password supersendips
-----.muttrc
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="super_send"
set from=super_send@sina.com
set envelope_from=yes
set charset="utf-8"
0 0
- 树莓派定时上报公网IP
- 公网IP 私用IP
- GAE做IP上报
- 树莓派通过邮件上报实时IP,随时随地远程登录树莓派
- 树莓派连接多个wifi并上报IP地址
- 如何查看公网ip
- java获取公网ip
- Java获取公网ip
- 公网IP需求,设置
- 公网 和 私网IP
- linux 查看公网ip
- 获取公网IP
- 路由器公网IP查询
- win32获取公网ip
- 获取公网IP
- 获取公网的ip
- 获取公网ip地址
- c#获取公网IP
- unity 真机调试
- 用HTMLDocumentClass分析Html代码(以及读取HtmlElement所有属性方法)
- 操作系统实践(2)——工欲善其事,必先利其器
- Unity播放背景音乐
- Python 实现类似C++的bitset类
- 树莓派定时上报公网IP
- WebClient 用法小结
- 移动产品最该关心什么数据指标?
- 实例讲解虚拟机3种网络模式(桥接、nat、Host-only)
- Growth Hacker 用户增长过程中如何进行数据分析
- js总结
- 关于hadoop-2.6.0 HA模式下HDFS自动failover切换的一点经验
- 第八周程序阅读(4)
- android纹理图片的加载与修改