Board logo

标题: [网络连接] 批处理完美判断内网外网+思路 [打印本页]

作者: zll855    时间: 2016-11-9 00:37     标题: 批处理完美判断内网外网+思路

搜了一下 没有发现完美的批处理

现在有一个 思路 可以完美的判断 自己是否属于内网 还是外网

简单的来说就是 通过访问 ip查询网站 读取ip数值再通过命令 “ipconfig /all”进行对比

如果发现通过ip查询网站获得的ip和自己的 通过命令获得的ip相匹配 那就可以确认 自己绝对是外网

不知道坛子里的朋友是否 还有其他更好的 思路和方法

我能想到的只有这个了

获得ip信息的网站 比较好用的有  http://pv.sohu.com/cityjson http://whois.pconline.com.cn/

在做对比的时候 可以只对比 a.b.c 部分 因为有些查询外网ip d段可能会有变动

比如 通过本命令查询的外网ip是123.123.123.123

但是通过网站获得的ip 也许会是 123.123.123.111

还有要考虑到多个外网ip的情况

只要一组ip 对比正确 就可以判断为外网

第一个版本 此版本问题是系统必须支持wmic命令
  1. @echo off
  2. >Getip.vbs echo Set oDOM=WScript.GetObject("http://pv.sohu.com/cityjson"):Do Until oDOM.readyState="complete":WScript.sleep 200:Loop:WScript.echo oDOM.documentElement.outerText:Set oDOM=nothing
  3. for /f "tokens=1 delims=[]" %%i in ('"cscript //nologo Getip.vbs"') do echo %%i>ip.txt
  4. for /f "tokens=2 delims={,}" %%i in ('wmic nicconfig get ipaddress /value') do set IP=%%~i
  5. echo %IP%
  6. type ip.txt | findstr /i "%ip%" >nul
  7. if %errorlevel%==0 ( echo 外网 &pause ) else (
  8. echo 内外 &pause
  9. )
  10. pause
复制代码

作者: CrLf    时间: 2016-11-9 04:24

  1. tracert www.baidu.com
复制代码

作者: ygqiang    时间: 2016-11-9 08:59

回复 1# zll855


    xp系统,运行后显示:
192.168.1.2
内外

这表示啥意思呢?
作者: GNU    时间: 2016-11-10 09:27

在我大天朝,绝大部分电脑是没有公网IP的。
作者: zll855    时间: 2016-11-10 15:49

回复 4# GNU


    我就是外网
作者: zll855    时间: 2016-11-10 15:50

回复 3# ygqiang


    说明你是内网呗
作者: ShenMian    时间: 2016-11-14 21:48

0.0.0.0
内外
请按任意键继续. . .

我乐了
作者: zll855    时间: 2016-11-17 01:23

0.0.0.0
内外
请按任意键继续. . .

我乐了
ShenMian 发表于 2016-11-14 21:48


这个我也是醉了
作者: GNU    时间: 2016-11-17 09:05

"完美"我也醉了




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2