kn007的个人博客
♥ You are here: Home > 软件与网络 > Autoit3 > IP 地址修改器 5.0 重制版

IP 地址修改器 5.0 重制版

by | 64 Comments

做了个小工具,IP 地址修改器。

准确说,其实是重制了10年前的“IP 地址修改器”。。。

之前最后一个版本更新,是2.0最终版,在09年发布。

重制有几个原因,首先是不支持Win 10;其次,一些Bug和年轻时的中二等也导致了这次重制。

重制后,已在Win XP、Win 7、Win 10、Server 2003、Server 2008下测试通过。欢迎测试。

重制原因,主要是因为工作上,调试网络时会换不同的IP,有工具快速切换会舒服很多。

现在为了方便管理,一个地方会有几十个VLAN,调试时,不断切换还是很累人的。

程序主要原理还是利用了WMI的Win32_NetworkAdapterWin32_NetworkAdapterConfiguration,还有Netapi32.dll及注册表补充来获取信息,硬件方面用了Setupapi.dll来控制网卡禁启用。

本想用下iphlpapi.dll获取信息的,但测试完,感觉就是个废物。。没什么卵用。

至于MSFT_NetAdapter,因为最低要Win 8或Server 2012就放弃了。看了下,就是信息整合比较好、方法比较多,但还是要配合Win32_NetworkAdapterConfiguration使用。啥时候能有个动态库或好的WMI类单独来管理就好了。。。

新版的配置方案INI放在程序根目录下的“ip.dat”,而非旧版在AppDataDir下。主要是为了方便备份,做了这个改变。另外也加强GUI对配置文件的管理。

注意,“高级配置”选项中,在没有方案的情况下,也可以应用“待应用的配置信息”的所设配置。MAC地址留空且勾上修改,会执行恢复网卡原有MAC地址。

有其他疑问,欢迎留言。文件下载见文章末尾。

5.0.0.0程序图,大概如下:

最新版5.0.3.0图片如下:

旧版图片如下:

旧版方案还有错别字,可够丢人的。。。

文件: IP地址修改器.exe
大小: 600104 字节
文件版本: 5.0.3.0
修改时间: 2019年9月7日, 17:40:27
MD5: 2A1B8F137945AB19D6D4035421C899DD
SHA1: 15BB8652AB9BCF61E4CFCC078ABC0A50B82AEE53
CRC32: 1CAE718F

关于病毒的问题,这是检测报告

我还是那句话,只有辣鸡杀软,才会报毒。Autoit会被误报已是常事。

更新历史:
IPTools 5.0.3.0:
1.改原有“高级配置”为“导入配置”,功能不变
2.添加全新“高级选项”(实验性),增加一些进阶功能,包括但不限于单网卡多IP设置
3.优化部分逻辑
4.修复一些Bug

IPTools 5.0.2.5:
1.修复部分逻辑
2.合并刷新数据功能(“刷新列表”与“刷新当前配置”合二为一)

IPTools 5.0.2.4:
1.添加“F1”弹出帮助提示
2.添加“F12”弹出控制面板中“网络链接”窗口功能
3.增加最小化窗口功能
4.主界面右下角状态栏,可双击后访问软件发布页

IPTools 5.0.2.3:
修复一个错误

IPTools 5.0.2.2:
方案配置页面中,列表中双击方案,应用选中的方案配置

IPTools 5.0.2.1:
优化代码

IPTools 5.0.2.0:
方案配置页面中,新增快捷键“F6”应用选中的方案配置

IPTools 5.0.1.2:
修复一些Bug

IPTools 5.0.1.1:
优化代码

IPTools 5.0.1.0:
1.新增代码签名证书
2.新增“读取当前配置并保存为新方案”功能

IPTools 5.0.0.0:
1.重构2.0代码,重写代码逻辑,兼容性更强
2.新增计算机名、工作组、MAC地址修改
3.新增网卡禁启用功能按钮
4.修改UI,简洁化
5.合理化方案配置管理

喜欢的小伙伴,可以选择赞助我。

转载请注明转自:kn007的个人博客的《IP 地址修改器 5.0 重制版

donate
有所帮助?

Comments

64 Comments立即评论
  1. 回复

    an uahandled exception qccurred win10打开出现异常

    1. MOD回复

      @风囧: 不适用精简版系统

    2. 回复

      @kn007: 我是win10专业版的

    3. MOD回复

      @风囧: 系统有没有被精简还是是母盘正常安装的?
      你查看下系统wmi服务是否正常。
      是一打开就错误,还是在执行什么的时候错误?

  2. 回复

    请问可以修改随身WiFi发射器的MAC地址吗,那样的话真的太棒了,或者有可以修改mac地址的随身WiFi吗,可收费,公司刷脸用,微80812698 ;-)

    1. MOD回复

      @粉丝: 软件上的MAC更改,需要网卡支持。具体可以参加F1说明。
      至于随身wifi,建议你买支持修改的。。

  3. 回复

    为什么下载下来是txt文本 :sad:

    1. MOD回复

      @海风: 请使用浏览器下载 :x

    2. 回复

      @kn007: 下载好了。谢谢大佬,顺便问一下这个能突破公司网络不能玩游戏的限制吗 :smile:

    3. MOD回复

      @海风: 那要看你们公司网管怎么做策略,还有就是用什么做。。。

    4. 回复

      @kn007: 打开4399 提示的策略是 限制游戏 :roll:

    5. MOD回复

      @海风: 深信服?那没办法。

  4. 回复

    您好!我最近在练习制作一个ip小工具,但是遇到了问题:
    在一个没有插入网线的物理网卡上,我使用Win32_NetworkAdapterConfiguration设置ip为静态后,查询到的EnableDHCP属性仍然为true,但是使用您的工具设置后,就会变为false,想请教您使用了什么方法,使得EnableDHCP及时得到了更新?如果您能抽空给与帮助指点,不胜感激,谢谢!
    另外您设置ip只用到了Win32_NetworkAdapterConfiguration一个方法吗?
    期待您的回复,再次感谢~

    1. MOD回复

      @mk_cs: 首先,感谢你的赞助。

      关于WMI使用了什么,我文章写得很清楚(其实软件都用了哪些方法,其实文章都写了)。

      设置ip的话wmi的话,只使用了Win32_NetworkAdapterConfiguration这一个方法,没错。
      但wmi有个问题,需要网卡在线,不在线他会有坑。不在线的话,你需要使用netsh相辅。
      至于为什么不直接用netsh,因为太慢,如果网卡在线,甚至会卡着不动,这时候就需要wmi了。
      所以必须要要判断。

      至于EnableDHCP,做完动作,写下注册表就好了。因为win需要网卡连接状态(非普通状态)更新后,才会更新这个值。

      关于注册表改ip设置,在win7前,你都可以通过操作注册表来完成,之后,你跟以前一样操作注册表,会导致设置乱掉。所以如果喜欢改注册表要注意了,非常多的坑。

      再次感谢赞助,另外博客的留言中,网址可以留空,不用写“无”。。

      其实归根结底,还是历史遗留问题,导致ms的api太多缺陷了。这漏那漏的。。。

    2. 回复

      @kn007: 非常感谢您耐心的回复和指点!
      我把我理解的说一下,您看看我理解的是否有误,谢谢!
      一是先判断网卡是否在线,如果在线,就用wmi,如果不在线,用NetSH
      二是如果用NetSH,做完动作(置为静态ip)要修改下注册表,把EnableDHCP这个值手动置为0
      还有两点疑问:
      一是如何判断NetSH已执行完毕?因为我发现设置dns时会消耗比较长的时间
      二是如何判断NetSH是否执行成功了,以免静态ip设置失败后仍错误的将EnableDHCP注册表值置为0?

      因为我水平有限,经历了几个晚上的百度,还是没有解决这个问题,所以才冒昧的来求教,感谢您的不吝赐教,祝您身体健康!事事顺利!

    3. MOD回复

      @mk_cs: 我意思,你做在同个函数里边。我现在就是,也可以按功能拆分下函数,这个按个人习惯。
      然后EnableDHCP,像我,是直接最后写入注册表,按照动作给1或0。
      网卡不在线的时候,netsh是很快的,如果你设置dns为自动的话。
      如果你说手动慢,那是因为你没有去看msdn,netsh interface这个动作设置dns,是会检查dns是否存在和正常的,你需要加个validate参数,让他直接执行而不检测。这样就快。
      很可惜的是netsh,正常来说是无法失败的,他的机制。。。当然为了保险,你可以再读一次网卡数据来做保证(我是判断任务超时)。

    4. MOD回复

      @mk_cs: 我为什么提到任务超时。。。
      主要是总有些人很无聊,要么不按规定写ip,要么是拿其他工具篡改你的编辑框数据,导致成功传参给函数,这个时候任务是会失败的,而且很多时候,会卡住不动。。所以做了个超时判定

    5. 回复

      @kn007: 谢谢!我想我明白基本思路了。
      我编程经验少,也还没有养成常看MSDN的习惯,所以很多问题没有自己解决。
      再次感谢您的指教!

  5. 回复

    大神,因为工作原因,我需要国内各个区域切换IP,请问您这个软件能实现吗? ;-)

icon_wink.gificon_neutral.gificon_mad.gificon_twisted.gificon_smile.gificon_eek.gificon_sad.gificon_rolleyes.gificon_razz.gificon_redface.gificon_surprised.gificon_mrgreen.gificon_lol.gificon_idea.gificon_biggrin.gificon_evil.gificon_cry.gificon_cool.gificon_arrow.gificon_confused.gificon_question.gificon_exclaim.gif