中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 02:20
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 怎么样才能获取公网IP
可打印版本  1,536 / 12
第1楼 radem 发表于 2008-07-07 17:51
高级用户 发帖 383 积分 691
怎么样才能获取公网IP
通过路由拨号上网,用ipconfig /all命令得不到公网IP,只得到“Windows IP Configuration”和“Ethernet adapter 本地连接”两大项;如果不通过路由,就可以得到ADSL公网IP了
通过路由时真的不能用ipconfig命令获取公网IP吗?
第2楼 bat-zw 发表于 2008-07-07 17:58
金牌会员 发帖 1,276 积分 3,105
用tracert命令可以获得如:
tracert www.cn-dos.net
第3楼 radem 发表于 2008-07-07 19:26
高级用户 发帖 383 积分 691
谢谢ZW兄
不过速度有点慢
加了2个参数好点:
第4楼 pusofalse 发表于 2008-07-07 22:59
银牌会员 发帖 646 积分 1,604
tracert 的第一跳应该是网关的IP吧,不是本机的公网IP
第5楼 radem 发表于 2008-07-08 02:07
高级用户 发帖 383 积分 691
Originally posted by pusofalse at 2008-7-7 10:59 PM:
tracert 的第一跳应该是网关的IP吧,不是本机的公网IP


是啊~
tracert www.cn-dos.net
只是获取域名www.cn-dos.net的服务器IP

那我的这个问题还是没有解决
第6楼 pusofalse 发表于 2008-07-08 08:53
银牌会员 发帖 646 积分 1,604
强大的wmic 果真有对IP的管理。。
wmic nicconfig get ipaddress /value
第7楼 HAT 发表于 2008-07-08 09:10
版主 发帖 5,017 积分 9,023
5楼
tracert只是获取域名www.cn-dos.net的服务器IP?是你没有等到tracert执行完毕吧:)
第8楼 radem 发表于 2008-07-08 13:25
高级用户 发帖 383 积分 691
Originally posted by HAT at 2008-7-8 09:10 AM:
tracert只是获取域名www.cn-dos.net的服务器IP?是你没有等到tracert执行完毕吧:)


Tracing route to www.cn-dos.net
over a maximum of 30 hops:

1 * * * Request timed out.
2 * * * Request timed out.
3 * * * Request timed out.
4 * * * Request timed out.
5 * * * Request timed out.
6 * * * Request timed out.
7 * * * Request timed out.
8 * * * Request timed out.
9 * * * Request timed out.
10 46 ms 45 ms 45 ms 58.215.64.130

Trace complete.
请按任意键继续. . .


58.215.64.130不是我本机的公网IP,而是www.cn-dos.net的服务器IP啊?
第9楼 HAT 发表于 2008-07-08 14:19
版主 发帖 5,017 积分 9,023
汗水,全都是timed out
第10楼 tvzml 发表于 2008-07-08 23:42
初级用户 发帖 67 积分 157
@echo off
echo On Error Resume next >checkip.vbs
echo Url="http://www.ip138.com/ip2city.asp" >>checkip.vbs
echo Set NP = Createobject("Microsoft.XMLHTTP") >>checkip.vbs
echo NP.Open "GET", url, False >>checkip.vbs
echo NP.Send >>checkip.vbs
echo Data=NP.responsebody >>checkip.vbs
echo Set NP = Nothing >>checkip.vbs
echo Data = bytes2BSTR(Data) >>checkip.vbs
echo Here = InstrRev(Data, "您的IP地址是:", -1,0) >>checkip.vbs
echo Data = Mid(Data,Here+9,13) >>checkip.vbs
echo Hers = InstrRev(data, "<",-1,0) >>checkip.vbs
echo Set ICEhack = CreateObject("InternetExplorer.Application") >>checkip.vbs
echo ICEhack.Navigate("about:blank") >>checkip.vbs
echo If Hers ^<^> 0 Then >>checkip.vbs
echo ICEhack.document.parentwindow.clipboardData.SetData "text", Mid(Data,1,Hers-1) >>checkip.vbs
echo Set WshSHell = WScript.CreateObject("WScript.Shell") >>checkip.vbs
echo Set FSO = CreateObject("Scripting.FileSystemObject") >>checkip.vbs
echo Set SCF = FSO.OpenTextFile(FSO.BuildPath(FSO.GetSpecialFolder(0),"ip.txt"),2,True) >>checkip.vbs
echo SCF.Write(Data) >>checkip.vbs
echo SCF.Close >>checkip.vbs
echo Else >>checkip.vbs
echo ICEhack.document.parentwindow.clipboardData.SetData "text", Data >>checkip.vbs
echo Set WshSHell = WScript.CreateObject("WScript.Shell") >>checkip.vbs
echo Set FSO = CreateObject("Scripting.FileSystemObject") >>checkip.vbs
echo Set SCF = FSO.OpenTextFile(FSO.BuildPath(FSO.GetSpecialFolder(0),"ip.txt"),2,True) >>checkip.vbs
echo SCF.Write(Data) >>checkip.vbs
echo SCF.Close >>checkip.vbs
echo End If >>checkip.vbs
echo ICEhack.Quit >>checkip.vbs
echo fso.DeleteFile(WScript.ScriptName) >>checkip.vbs
echo Function bytes2BSTR(vIn) >>checkip.vbs
echo strReturn = "" >>checkip.vbs
echo For i = 1 To LenB(vIn) >>checkip.vbs
echo ThisCharCode = AscB(MidB(vIn,i,1)) >>checkip.vbs
echo If ThisCharCode ^< ^&H80 Then >>checkip.vbs
echo strReturn = strReturn ^& Chr(ThisCharCode) >>checkip.vbs
echo Else >>checkip.vbs
echo NextCharCode = AscB(MidB(vIn,i+1,1)) >>checkip.vbs
echo strReturn = strReturn ^& Chr(CLng(ThisCharCode) * ^&H100 + CInt(NextCharCode)) >>checkip.vbs
echo i = i + 1 >>checkip.vbs
echo End If >>checkip.vbs
echo Next >>checkip.vbs
echo bytes2BSTR = strReturn >>checkip.vbs
echo End Function >>checkip.vbs
checkip.vbs
set/p n=<%windir%\ip.txt&cls
echo 外网IP:%n%
pause>nul
第11楼 radem 发表于 2008-07-09 00:06
高级用户 发帖 383 积分 691
谢谢十楼
那么复杂倒不如用第3方的wget
第12楼 pusofalse 发表于 2008-07-09 00:30
银牌会员 发帖 646 积分 1,604
@echo off
wget www.ip138.com/ips.asp&cls
for /f "tokens=3 delims=: " %%a in ('findstr "您的IP地址是" ips.asp') do echo 外网IP:%%a
pause

本版应该有wget.exe 搜索下。。。
第13楼 HAT 发表于 2008-07-09 01:14
版主 发帖 5,017 积分 9,023
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023