标题: [讨论] javascript是否可以更改本地IP地址
monfs
小恐龙
Rank: 3Rank: 3



UID 54198
精华 0
积分 497
帖子 208
威望 209
阅读权限 30
注册 2006-7-10
状态 离线
 
发表于 2008-5-1 17:33  资料  个人空间  短消息  加为好友 
javascript是否可以更改本地IP地址

我想知道javascript是否可以实现这样的功能来改变本地的IP地址,例如我本地设置的IP地址是192.168.0.1,我想通过javascript+html实现IP变换的小程序!

顶部
nutmeat
爬虫
Rank: 2



UID 16119
精华 0
积分 76
帖子 24
威望 44
阅读权限 20
注册 2004-8-26
状态 离线
 
发表于 2008-5-1 22:43  资料  个人空间  短消息  加为好友 
回复 #1 monfs 的帖子

javascript的社交圈子只能在浏览器中,要突破这个范围 需要借助其他的 如activeX之类的
否则后果不堪设想……

顶部
Rimifon (无名)
超级版主
Rank: 8Rank: 8
新手上路


UID 11749
精华 3
积分 5448
帖子 3015
威望 2985
阅读权限 150
注册 2004-5-22
来自 湖南长沙
状态 离线
 
发表于 2008-5-2 08:13  资料  个人空间  主页 短消息  加为好友  添加 Rimifon 为MSN好友 通过MSN和 Rimifon 交谈
如果使用IE,会有安全限制,如果使用纯wsh或者hta,应该能够实现。





風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)
顶部
liubiqu
小虫
Rank: 1



UID 61565
精华 0
积分 8
帖子 3
威望 3
阅读权限 10
注册 2006-12-8
状态 离线
 
发表于 2008-5-2 09:18  资料  个人空间  短消息  加为好友 
同意楼上的意见

顶部
Rimifon (无名)
超级版主
Rank: 8Rank: 8
新手上路


UID 11749
精华 3
积分 5448
帖子 3015
威望 2985
阅读权限 150
注册 2004-5-22
来自 湖南长沙
状态 离线
 
发表于 2008-5-2 11:13  资料  个人空间  主页 短消息  加为好友  添加 Rimifon 为MSN好友 通过MSN和 Rimifon 交谈
例如修改DNS




var WMI GetObject("winmgmts://127.0.0.1");
var 
sql "select * from Win32_NetworkAdapterConfiguration where IPEnabled=true";
var 
enmPing = new Enumerator(WMI.ExecQuery(sql));
var 
arrAdp = new Array;
while(!
enmPing.atEnd())
{
    var 
arrIP = new Array;
    var 
objIP enmPing.item();
    
arrIP.push("网卡说明:" objIP.Description);
    
arrIP.push("硬件地址:" objIP.MACAddress);
    
arrIP.push("动态地址:" + (objIP.DHCPEnabled "是" "否"));
    
arrIP.push("网络地址:" GetVBArray(objIP.IPAddress));
    
arrIP.push("域名解析:" GetVBArray(objIP.DNSServerSearchOrder));
    
arrIP.push("子网掩码:" GetVBArray(objIP.IPSubnet));
    
arrIP.push("默认网关:" GetVBArray(objIP.DefaultIPGateway));
    
/* 将首选DNS设置为220.192.0.130,第二DNS设置为220.192.32.103 */
    //objIP.SetDNSServerSearchOrder(["220.192.0.130", "220.192.32.103"]);
    /* 修改后需要重新查询才能生效 */
    
arrAdp.push(arrIP.join("\r\n"));
    
enmPing.moveNext();
}
WSH.Echo(arrAdp.join("\r\n\r\n"));
function 
GetVBArray(arr)
{
    return 
arr !== null ? new VBArray(arr).toArray() : [];



另存为IP.jse或者IP.js,双击运行。





風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)
顶部
winter
超级版主
Rank: 8Rank: 8
软虫


UID 65747
精华 11
积分 7139
帖子 3214
威望 3201
阅读权限 150
注册 2007-2-27
状态 离线
 
发表于 2008-5-2 11:51  资料  个人空间  短消息  加为好友 
回复 #5 Rimifon 的帖子

厉害厉害 R版这个太厉害了





顶部
prolove
大恐龙
Rank: 4


UID 61629
精华 0
积分 743
帖子 99
威望 629
阅读权限 50
注册 2006-12-8
来自 陕西商洛
状态 离线
 
发表于 2008-5-2 17:28  资料  个人空间  主页 短消息  加为好友  QQ
回复 #5 Rimifon 的帖子

学习了! 





选择+坚持+自信+努力
确定目标 选择方法 实施规划~
顶部
xiazhi33
小虫
Rank: 1



UID 55784
精华 0
积分 18
帖子 10
威望 10
阅读权限 10
注册 2006-8-25
状态 离线
 
发表于 2008-5-2 20:21  资料  个人空间  短消息  加为好友 
老大` 你这也太强了吧`

惊天地,泣鬼神啊!!!

长见识了!

顶部
sees (xlez)
大恐龙
Rank: 4


UID 428
精华 1
积分 538
帖子 325
威望 303
阅读权限 50
注册 2003-2-20
来自 重庆
状态 离线
 
发表于 2008-5-2 20:22  资料  个人空间  短消息  加为好友 
R真是我的偶像。
收藏





我只会点简单的js问题
魔伊图片网
顶部
los
霸王龙
Rank: 6Rank: 6


UID 81082
精华 0
积分 2297
帖子 906
威望 821
阅读权限 70
注册 2007-12-28
状态 离线
 
发表于 2008-5-2 23:53  资料  个人空间  短消息  加为好友 
netsh interface ip set address
wsh.run
cmd.exe /c





回到以前自由自在的生活中~~~
顶部
Rimifon (无名)
超级版主
Rank: 8Rank: 8
新手上路


UID 11749
精华 3
积分 5448
帖子 3015
威望 2985
阅读权限 150
注册 2004-5-22
来自 湖南长沙
状态 离线
 
发表于 2008-5-3 02:01  资料  个人空间  主页 短消息  加为好友  添加 Rimifon 为MSN好友 通过MSN和 Rimifon 交谈
查看计算机硬件信息




var WMI GetObject("WinMgmts://127.0.0.1");
/* 用于远程调用
var objRmt = new ActiveXObject("WbemScripting.SWbemLocator");
var WMI = objRmt.ConnectServer("www.fengyun.org", "", "Administrator", "******");
//*/
var arrOS = new Array;

/* 查询系统信息 */
var sql "select * from Win32_OperatingSystem";
GetInfo(sql, function(obj)
{
    var 
arrTmp = ["系统"];
    
arrTmp.push("计算机名:" obj.CSName);
    
arrTmp.push("操作系统:" obj.Caption "(" obj.CSDVersion ")");
    
arrTmp.push("安装时间:" ParseTime(obj.InstallDate));
    
arrTmp.push("启动时间:" ParseTime(obj.LastBootUpTime));
    return 
arrTmp;
});
sql "select * from Win32_BIOS";
GetInfo(sql, function(obj)
{
    var 
arrTmp = ["BIOS"];
    
arrTmp.push("名    称:" obj.Name);
    
arrTmp.push("版    本:" obj.Version);
    
arrTmp.push("发布日期:" ParseTime(obj.ReleaseDate));
    return 
arrTmp;
});
sql "select * from Win32_Processor";
GetInfo(sql, function(obj)
{
    var 
arrTmp = ["中央处理器"];
    
arrTmp.push("设备标示:" obj.DeviceID);
    
arrTmp.push("名    称:" obj.Name);
    
arrTmp.push("说    明:" obj.Description);
    
arrTmp.push("版    本:" obj.Version);
    
arrTmp.push("工作频率:" ParseSpeed(obj.CurrentClockSpeed));
    return 
arrTmp;
});
sql "select * from Win32_PhysicalMemory";
GetMemInfo(sql);
sql "select * from Win32_LogicalDisk where DriveType=3";
GetDiskInfo(sql);
sql "select * from Win32_VideoController";
GetInfo(sql, function(obj)
{
    var 
arrTmp = ["显卡"];
    
arrTmp.push("芯片类型:" obj.VideoProcessor);
    
arrTmp.push("显存大小:" ParseMemory(obj.AdapterRAM));
    return 
arrTmp;
});

WSH.Echo(arrOS.join("\r\n\r\n"));

function 
GetInfo(sqlfunc)
{
    var 
enmObj = new Enumerator(WMI.ExecQuery(sql));
    while(!
enmObj.atEnd())
    {
        
arrOS.push(func(enmObj.item()).join("\r\n"));
        
enmObj.moveNext();
    }
}
function 
ParseTime(strTime)
{
    return 
strTime.replace(/(.{4})(.{2})(.{2})(.{2})(.{2})(.{2}).*/, "$1-$2-$3 $4:$5:$6");
}
function 
ParseSpeed(speed)
{
    if(
speed 999) return (speed 1000) + " GHz";
    return 
speed " MHz";
}
function 
GetMemInfo(sql)
{
    var 
totalSize 0;
    var 
enmObj = new Enumerator(WMI.ExecQuery(sql));
    while(!
enmObj.atEnd())
    {
        
totalSize -= -enmObj.item().Capacity;
        
enmObj.moveNext();
    }
    var 
arrTmp = ["物理内存(总共 " ParseMemory(totalSize) + ")"];
    
enmObj.moveFirst();
    while(!
enmObj.atEnd())
    {
        var 
obj enmObj.item();
        
arrTmp.push(obj.Tag ": " ParseMemory(obj.Capacity));
        
enmObj.moveNext();
    }
    
arrOS.push(arrTmp.join("\r\n"));
}
function 
ParseMemory(size)
{
    var 
0arrExt = ["字节""KB""MB""GB"];
    while(
true)
    {
        if(
size 1024) return size " " arrExt];
        
size = (size 1024).toFixed(2);
        
i++;
    }
}
function 
GetDiskInfo(sql)
{
    var 
totalSize 0;
    var 
enmObj = new Enumerator(WMI.ExecQuery(sql));
    while(!
enmObj.atEnd())
    {
        
totalSize -= -enmObj.item().Size;
        
enmObj.moveNext();
    }
    var 
arrTmp = ["本地硬盘(总共 " ParseMemory(totalSize) + ")"];
    
enmObj.moveFirst();
    while(!
enmObj.atEnd())
    {
        var 
obj enmObj.item();
        
arrTmp.push(obj.Name "(" obj.FileSystem "): 总共 " ParseMemory(obj.Size) + "," ParseMemory(obj.FreeSpace) + " 可用。");
        
enmObj.moveNext();
    }
    
arrOS.push(arrTmp.join("\r\n"));



[[i] 本帖最后由 Rimifon 于 2008-5-3 02:04 编辑 [/i]]





風雲工作室
=========
广告位招租(做在老百姓眼皮底下的广告)
顶部
monfs
小恐龙
Rank: 3Rank: 3



UID 54198
精华 0
积分 497
帖子 208
威望 209
阅读权限 30
注册 2006-7-10
状态 离线
 
发表于 2008-5-4 12:20  资料  个人空间  短消息  加为好友 
回复 #5 Rimifon 的帖子

还是R版厉害,谢谢了!收藏研究中!

我想要作的是:在一个网吧或者机房有很多设备,如果要一一输入会很麻烦,我想利用JS的便捷功能来实现双击IP库中的某个IP就可以将这个IP替换成当前设备的TCP/IP设置,所以不用考虑安全啦!

[[i] 本帖最后由 monfs 于 2008-5-4 13:04 编辑 [/i]]

顶部
longzu1984
爬虫
Rank: 2



UID 78423
精华 0
积分 133
帖子 39
威望 43
阅读权限 20
注册 2007-11-6
状态 离线
 
发表于 2008-5-4 16:37  资料  个人空间  短消息  加为好友 
你可以去看一下MSDN里面,有个脚本专栏,里面全是使用脚本解决windows问题的示例,而且他们还提供了自动生成WMI脚本的工具,直接点点就可以生成不少非常有用的脚本,应该有你想要的

顶部
tonghu008 (Libra)
霸王龙
Rank: 6Rank: 6


UID 53369
精华 0
积分 1104
帖子 330
威望 324
阅读权限 70
注册 2006-6-20
状态 离线
 
发表于 2008-5-5 08:48  资料  个人空间  短消息  加为好友 
学习了





天下风云出我辈,一入江湖岁月催。
皇图霸业谈笑中,不胜人生一场醉。
提剑跨骑挥鬼雨,白骨如山鸟惊飞。
尘事如潮人如水,只叹江湖几人回。
顶部
nutmeat
爬虫
Rank: 2



UID 16119
精华 0
积分 76
帖子 24
威望 44
阅读权限 20
注册 2004-8-26
状态 离线
 
发表于 2008-5-7 00:03  资料  个人空间  短消息  加为好友 
WSH

wsh应该脱胎于原来的bat,借鉴linux中的shell,只是wsh中采用了jscript和vbscript语法引擎,通过wsh内置的对象与操作系统发生交互。

顶部
 



当前时区 GMT+8, 现在时间是 2009-7-4 20:07
苏ICP备05080427号

Powered by Discuz! 5.5.0  © 2001-2007 51JS.COM
Processed in 0.098565 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 无忧脚本 - Archiver - WAP