来自问答板块的问题:
通过 gpedit.msc 在 Windows 日志里记录的,是内网 IP
有没有一种小软件,后台运行时,它会持续监测 我当前的公网 IP,并记录成 log 呢?是给自己用的
青小蛙修改了问题,原问题是为了获取公网 IP 历史记录,实在是想不出这个需求是什么,但获取最新公网 IP 又是一个非常常见的问题,而且也能顺便解决第一个问题。
对于普通的宽带用户,拥有动态的公网 IP 是非常好的事情,现在的很多宽带已经不提供公网 IP 了,就需要内网穿透的操作了。而如果你拥有了公网 IP,那么可玩性就非常高了。
在帖子中,@allor 推荐了 PowerShell(开始 > cmd > 输入 powershell 打开) 方法:
(curl "http://ip-api.com/line/?fields=query" -UseBasicParsing).Content;
小恐龙公文排版助手作者 @xiaokonglong 推荐了自己的小恐龙IP监测器,可配合网盘同步实时在外网获取最新 IP 地址:
@xavierskip 推荐了 curl 大法:
curl ip.sb >> ip.log
curl ifconfig.io >> ip.log
curl 需要 Win10 才有,macOS 与 Linux 自带。还有 @yangyunzhao 同学手写了 vb 脚本用来后台调用,可以在这里参与讨论。基本思路就是通过第三方服务获取 IP 保存到文件中,然后使用同步功能将文件同步到外网。
所以,你还有其他思路么?
curl whatismyip.akamai.com
curl http://members.3322.org/dyndns/getip
curl ip.cip.cc
我博客上有个设置DDNS的文章,不过没有怎么研究过怎么记录IP历史。。。
电信的你只要打客服电话一般都会要来公网IP(我就是这种),联通的只要撕逼说工信部投诉应该也可以曲折拿到,移动的话就洗洗睡吧,至于什么长城宽带之类的当我没说过。。。
电信的是可以拿到,在我们这里需要他就会给你开通。只是每月多收50块钱。
还要多收钱??麻烦你投诉一下
问题是都是非固定IP,过段时间都会换,Nas什么的老得变
联通打电话直接给的..
可以使用DDNS直接解析成域名。
https://tstrs.me/1443.html
梅林路由器获取DDNS表示毫无压力啊~
有款免费软件可以,功能还挺多的。
https://www.haztek-software.com
TrueIP
直接在家里电脑访问这个网站,就告诉你了 – What is my IP address?
https://www.iplocation.net/find-ip-address
类似的网站大把啊
怎么远程获取?
路由器装个server酱,每当公网IP变化会自动推送到你的微信。。。
没想到论坛上发的帖又又又被推主站啦 😂
当天发完贴,在谷歌出的唯一一个现成工具TrueIP(https://www.downloadcrew.com/article/35113-trueip)在我的win7上安装不上后,就自己写AutoHotkey脚本了。随手贴一下吧(每10分钟检测一次公网IP,如果跟上次结果有变化,就记录log)
#SingleInstance FORCE
SendMode Input
#NoTrayIcon
#Persistent
oldIP := ;初始化
loop {
url := “http://checkip.dyndns.com/”
httpQuery(response, url)
ip := RegExReplace(response, “[^\d\.]”, “”)
if (oldIP != ip && ip != “”) {
FormatTime, TimeString
output := TimeString . “:`t” . ip . “`r`n”
FileName := “External_IP.txt”
file := FileOpen(FileName, “a”)
if !IsObject(file)
{
MsgBox Can’t open “%FileName%” for writing.
return
}
file.Write(output)
file.Close()
oldIP := ip
}
Sleep, 10*60*1000 ;每10分钟监测一次
}
return
httpQuery(byref Result, lpszUrl, POSTDATA=””, HEADERS=””) {
WebRequest := ComObjCreate(“WinHttp.WinHttpRequest.5.1”)
WebRequest.SetTimeouts(6000,6000,6000,6000)
Try {
WebRequest.Open(“GET”, lpszUrl)
WebRequest.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”)
;~ WebRequest.SetProxy(2, “localhost:4411”) ;设置代理
WebRequest.Send(POSTDATA)
WebRequest.WaitForResponse()
Result := WebRequest.ResponseText
WebRequest := “”
} catch e {
Result := “”
}
}
#Python3
import requests,re
webc=requests.get(“http://www.baidu.com/s?wd=ip”).content
getip=re.compile(r'((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))’).search(str(webc[220000:-1]))
print(“IP is “,getip.group(0))
curl哪个平台都有(敲黑板)
不是”需要win10才有“
win7没有装一个就好了
是的,装一个就好 😂
ipip的”http://myip.ipip.net/s”也可以。
duckdns.org 你能想到的平台都支持
百度搜 ip
对于linux内核的路由器,如OpenWRT,,潘多拉啥的,可以直接开启telnet查询,
>telnet 192.168.100.1
Router Login:admin
Password:
Router: /Home/root # ip address show ppp0 <–ppp0为wan口端口名称,即pppoe 0
使用snmp协议应该也可以查询的。
以上安全性为 -5
以下,通过路由器的管理web页,正则查找IP
#python3
import requests,re
headers={'Authorization':'Basic ******'} # 星号替换为路由器登录密钥,吐槽下,梅林的密钥生成好简单。
routerc=requests.get("http://192.168.100.1:1234/device-map/internet.asp",headers=headers).content
getrip=re.compile(r'((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))').search(str(routerc[0:-1]))
print("Router IP is ",getrip.group(0))
阿里云解析,直接定时任务更新自己的ip地址。想访问输入域名就好了。
百度搜 ip
在外面搜了没用的
curl ip.cn -L
整理在win10下查看本机公私网IP脚本:
1,设置双击powershell脚本直接运行:
新建文本文档改名为“双击powershell脚本直接运行.reg”(主要是后缀)执行一下
内容为:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell]
@=”0″
2,创建一个ps1脚本,双机执行即可查IP
新建文本文档改名为“MyIP.ps1”(主要是后缀)
内容为:
$win=$Host.UI.RawUI.WindowSize
$win.Height=20
$win.Width=60
$Host.UI.RawUI.Set_windowsize($win)
echo ” ”
echo ” ”
echo “本机私网IP为:”
echo ” ”
[System.Net.Dns]::GetHostEntry(”).AddressList.IPAddressToString
echo ” ”
echo “本机公网IP为:”
echo ” ”
(curl “whatismyip.akamai.com” -UseBasicParsing).Content;
Start-Sleep –m 1000000000
nslookup myip.opendns.com 208.67.222.222
nslookup 应该都有,我的 Win7 是有的
小恐龙一点手动按钮就报错了,是不是测试网址失效了
我之前刚好也是这个需求,我是在路由器配置了 ddns,
然后利用 iOS 的捷径 app 弄个捷径 ping 一下这个域名来拿家里的 IP。
DDNS啊还想啥呢
我都是在百度搜索ip出来的就是自己的公网IP了,如果没被nat 的话
推荐使用IPIP出品的Best Trace手机客户端、安卓和苹果都支持,不仅可以查询IP路由,还能显示LTE/WIFI的IP情况
感觉ddns更实用一些吧
自己的服务器用Nginx返回IP,用法就是使用`curl`
我的方法是,在内网电脑运行一个自编程序,每10分钟获取一次外网IP,判断:
如果此IP与上次监测IP一致,什么都不做;如果与上次监测IP不一致,则发送最新IP地址的邮件到指定邮箱。
最近常用:
curl ifconfig.io