可以从DD-WRT路由器以编程方式检索WAN IP地址


1

我目前在外部服务器上查询外部IP地址,但我应该查询自己的路由器。它会限制到LAN的流量,路由器当然知道地址是什么。有没有人知道是否有一种简洁的查询路由器的方法(除了屏幕刮取状态页面)。谢谢!


取决于你想要用它做什么。您是在寻找powershell脚本,vbscript脚本,bash脚本,python脚本等等...您的平台以及您计划如何使用这些信息将极大地影响答案。
Scott Chamberlain

你习惯使用SNMP吗?
Bandrami

2
如果路由器本身位于NAT后面,它可能不知道自己的外部IP地址。
David Schwartz

@Bandrami是的,SNMP本来是“正确的”方式,但比我最终的解决方案更复杂。
erict

Answers:


1

我找到了一个可以接受的解请求页面 http://router_ip/Status_Internet.live.asp 从您的dd_wrt路由器(它需要身份验证)。此输出不依赖于GUI样式,因为它只是自动刷新数据。从返回的数据中提取IP地址非常容易。


0

尝试安装php,如果尚未安装。
制作一个文件夹。
制作一个php内部网络服务器 - 内置的网络服务器。
让它返回输出

ifconfig |grep "inet addr" |cut -d: -f2 |cut -d" " -f1

它将返回它拥有的所有IP地址(内部,外部和环回)。然后,您可以轮询此而不是外部服务器。


1
不起作用 - 需要路由器另一端的外部IP(特别是DD-WRT路由器)。您的建议将返回本地IP地址
erict

0

在控制台中,运行“nvram get wan_ipaddr”


使用程序不容易做到这一点。
erict

@erict它看起来非常有道理。请让您的要求更清晰。
David Richerby

@David正如标题所示,我想以编程方式执行此操作。我的要求是我有一台服务器想知道外部互联网地址,即使它是通过DD-WRT路由器进行NAT。我正在查询像whatismyip.com这样的外部服务器,但想要一个不依赖于外部资源的解决方案。我最终发现我可以查询名为Status_Internet.live.asp的DD-WRT路由器页面,该页面返回一堆信息,包括WAN IP。
erict
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.