首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

什么工具,能记录 公网 IP 历史?

  •  
  •   AmItheRobot · 122 天前 · 1113 次点击
    这是一个创建于 122 天前的主题,其中的信息可能已经有所发展或是发生改变。

    通过 gpedit.msc 在 windows 日志里记录的,是内网 IP

    有没有一种小软件,后台运行时,它会持续监测 我当前的公网 IP,并记录成 log 呢?

    是给自己用的

    6 回复  |  直到 2019-03-16 13:01:34 +08:00
        1
    Telegram   122 天前 via iPhone
    你自己写一个呗,不难吧
        2
    xern   122 天前 via Android
    写个脚本 过一段时间 curl ifconfig.me
        3
    uuspider   122 天前 via iPhone   ♥ 4
    几年前写的,一直运行良好,供参考

    #!/bin/bash
    #------------------------------------
    # 脚本:network_check
    # 版本:0.4
    # 作者:uuspider
    # 日期:2015-09-13 v0.1
    # 日期:2015-10-28 v0.3
    # 日期:2016-01-17 v0.4
    # 语言:shell
    # 功能:1.网络中断后重启网络或重启树莓派;
    # 功能:2.当公网 ip 变化时,发送邮件通知。
    # 使用:(crontab) */2 * * * * $PATH/netcheck.sh
    #------------------------------------

    # http://www.silisoftware.com/tools/ip.php
    # http://ipecho.net/plain
    # http://whatismyip.akamai.com
    # http://tnx.nl/ip #curl 无法连接,浏览器连接正常
    # http://myip.dnsomatic.com/
    # http://members.3322.org/dyndns/getip
    ## http://ipinfo.io
    ## http://ipinfo.io/developers
    # http://ifconfig.me/ #太慢
    # http://ip.appspot.com/ #太慢
    # curl --silent http://1212.ip138.com/ic.asp | tail -1 | tr '\n' ' ' | awk -F '[\\[\\]]' '{print $2}'

    export PATH="/usr/sbin:/usr/bin:/sbin:/bin"

    cd $(dirname $BASH_SOURCE)
    touch "./ip.log"
    IP_Log=$(cat "./ip.log")

    To_Addr="***@gmail.com"
    IP_URL=("http://www.silisoftware.com/tools/ip.php" "http://ipecho.net/plain" "http://whatismyip.akamai.com" "http://myip.dnsomatic.com/" "http://members.3322.org/dyndns/getip")
    PING_URL=("www.baidu.com" "www.sina.com.cn" "www.163.com" "www.qq.com")

    pull() {
    #访问 IP_URL
    for ((j=0; j < ${#IP_URL[@]}; j++))
    do
    IP_New=$(curl -s ${IP_URL[$j]})
    echo $IP_New | grep "^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$" && break
    done
    ip_check
    }

    net_check() {
    sleep 30
    connected=0
    #检查网络连接是否正常
    for ((i=0; i < ${#urls[@]}; i++))
    do
    ping ${PING_URL[$i]} -c2 &> /dev/null
    if [ $? -eq 0 ]; then
    connected=$((++connected))
    fi
    done
    #网络无法连接时,重启网络或重启树莓派
    if [ $connected -eq 0 ]; then
    sudo service networking restart
    sudo ifup wlan0
    # sudo /etc/init.d/networking restart
    # sudo /sbin/ifup wlan0
    # sudo reboot
    else
    pull
    fi
    }

    ip_check() {
    if [ "$IP_New" = "$IP_Log" ]; then
    :
    elif [ "$IP_New" = "" ]; then
    net_check
    else
    echo -n $IP_New > ./ip.log
    mutt -s "[IP Checked] $IP_New" $To_Addr < ./ip.log || rm ./ip.log
    fi
    }

    pull

    exit 0

    ##END##
        4
    dream7758522   122 天前 via Android
    很简单啊,服务器用 php 或 Python 做记录 ip 的一个页面,逻辑是记录当时访问的时间和 ip。
    然后电脑下个定时访问网址的小软件,或者浏览器下个定时刷新的插件,后台开着不停地访问网页就可以了啊。
        6
    electric   122 天前
    wget http://ip138.com

    String myIp = ip138;

    ip = myIp.substring(...);
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   852 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 21:19 · PVG 05:19 · LAX 14:19 · JFK 17:19
    ♥ Do have faith in what you're doing.