惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 沉默天蝎的学习汇集

由浅入深:Python 中如何实现自动导入缺失的库?(转) itchat初步解读登录(转) 转:【开源必备】常用git命令 2.转发。基于itchat的微信消息同步机器人 1、初学探讨PYTHON的itchat和wxpy两库 学习git 新手。这个写的不错 转:android学习帖子大汇集 (转)C#2Android [转]HTTP调试工具:Fiddler的使用方法介绍 使用VS2005的 ClickOnce 技术实现按需下载组件 转帖:麻雀虽小,五脏俱全-C# 创建windows服务、socket通讯实例 C# WinForm开发系列 - 文章索引 (转自peterzb) 非常经典的网络蜘蛛示例,我是转载在这里的 - 沉默天蝎的学习汇集 - 博客园 (转)三种模拟自动登录和提交POST信息的实现方法 (转自Timon's wang blogs)C#实现web信息自动抓取 (转)c#操作注册表大全 - 沉默天蝎的学习汇集 - 博客园 sql2005安装产生问题解决汇集 (转自斯克迪亚的博客)学柯南,用电脑拨电话! 看完最新的柯南后很好奇,正好有人写到了就转来了 转贴:VS2008如何转换为VS2005
bat 切换单位和宿舍IP地址(转)
沉默天蝎的学习汇集 · 2011-05-26 · via 博客园 - 沉默天蝎的学习汇集

近日由于单位和宿舍的ip地址老是更换,考虑到方便就上网查找了下bat更换ip的方法。结果找到了这篇文章,转载到这里,方便下应用。

原文是csdn的,网址如下:http://blog.csdn.net/fanston/archive/2010/05/30/5634386.aspx,其中还找到了一篇用vs2005开发的

切换网络的程序,但是经测试,效果不如bat,下次研究下放上来。

1、ip bat修改理论探讨

      前两天我突然萌生了一个念头:能不能做一个小程序来实现自动配置或修改IP和mac,达到一键搞定的目的,这样尤其适合那些带着笔记本到处跑的商务人员,于是我首先想到了bat处理。

      查阅资料后发现修改iP有现成的命令,但是修改mac相对麻烦一些,需要智能地修改注册表。

修改ip命令如下:

netsh interface ip set address name="本地连接" source=static addr=202.200.155.129 mask=255.255.255.0
netsh interface ip set address name="本地连接" gateway=202.200.155.254 gwmetric=1
netsh interface ip set dns name="本地连接" source=static addr=202.200.144.2 register=PRIMARY
netsh interface ip add dns name="本地连接" addr=61.163.1.4 index=2
netsh interface ip set wins name="本地连接" source=static addr=none

将以上代码相关ip配置修改为你自己的配置,保存到记事本文件,后缀名改为bat,运行即可。

注意:本地连接”必须与你的本地连接名称相同,gwmetric=1必须有,否则有语法错误。

自动获取IP命令如下:

netsh interface ip set address name="本地连接" source=dhcp
netsh interface ip set dns name="本地连接" source=dhcp

同样保存为bat文件,即可运行设置。

      然而,以上方法还不够完美,当不同用户使用这段代码时,用户需要亲自修改这些代码来配置自己的IP,所以我们考虑:能不能把IP的相关配置保存的一个文件里边,然后由bat代码解释执行呢?这样的话,用户只需要修改ip配置文件,bat程序文件便可自动解释执行。答案是肯定的,我们可以这样实现:

      运行windows cmd命令,输入下命令即可将你现在的IP配置保存到文件里边:

netsh -c interface dump > c:\myipconfig\ip1.txt

改命令自动将你现有的ip配置保存到 c:\myipconfig\ip1.txt,此时你可以打开查看其。注意:‘>’为输入文件符号

      然后,我们可以通过命令:netsh -f c:\myipconfig\ip1.txt 将ip1.txt保存的ip配置设置到本机。

2、mac bat 修改理论探讨

     到目前为止,有很多人坚信mac地址不可能被修改,他们认为mac是全球唯一的地址,修改了岂不是乱套了吗?而且硬件厂商也不容许你修改的,这里我要做出解释:在windows平台上,所谓的mac地址在通信时某台机子的mac地址是多少是由windows说了算的,windows在通信时是在在注册表里边查找本机的mac地址的。所以我们所谓的修改mac地址也只是在注册表中修改,没有对网卡进行实际的修改,当你将mac设置为disable的时候,mac就自动回到了网卡的mac了。顺便说一句,我们为什么要修改mac呢?是因为有些上网账号和mac绑定到了一起,在该账号下只认初始化的那个mac。另外,再说一个奇怪的现象,在同一个集线器\交换机下,将所有机器IP地址,mac修改成一样,照样可以上网,我不清楚这是windows的一个bug,还是它的一个功能。

    言归正传,我们如何做bat能够在注册表中修改mac呢?通过网上查阅资料其理论方法如下:

Windows2000/XP 的修改
 1)在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000 、 0001 、 0002 等主键下,查找 DriverDesc ,内容为你要修改的网卡的描述,如“ Realtek RTL8029(AS)-based PCI Ethernet Adapter ”。
 2)如果在0001下找到了1中的DriverDesc ,在其下,添加一个字符串,命名为 NetworkAddress ,其值设为你要的 MAC 地址(注意地址还是连续写)。如: 00E0DDE0E0E0 。
 3)然后到其下 Ndi\params 中添加一项名为 NetworkAddress 的主键,在该主键下添加名为 default 的字符串,其值是你要设的 MAC 地址,要连续写,如: 000000000000 。(实际上这只是设置在后面提到的高级属性中的“初始值”,实际使用的 MAC 地址还是取决于在第 2 点中提到的 NetworkAddress 参数,这个参数一旦设置后,以后高级属性中的值就是 NetworkAddress 给出的值而非 default 给出的了。)
 4)在 NetworkAddress 的主键下继续添加名为 ParamDesc 的字符串,其作用为指定 NetworkAddress 主键的描述,其值可自己命名,如“ Network Address ”,这样在网卡的高级属性中就会出现 Network Address 选项,就是你刚在注册表中加的新项 NetworkAddress ,以后只要在此修改 MAC 地址就可以了。继续添加名为 Optional 的字符串,其值设为“ 1 ”,则以后当你在网卡的高级属性中选择 Network Address 项时,右边会出现“不存在”选项。
 5)重新启动你的计算机,打开网络邻居的属性,双击相应网卡项会发现有一个 Network Address 的高级设置项,可以用来直接修改 MAC 地址或恢复原来的地址(选中不存在)。

根据这个方法,我们可以做一个.reg文件或者.bat文件来操作注册表,但是这样相对麻烦一些。这里我们使用第三方软件smac 1.0,注意:只能用1.0,其他高级版本不支持命令行参数,也就不能做bat文件了。

将smac.exe下载下来,copy到你的某个目录如:c:\myipconfig

然后我们利用命令 smac -ModifyMAC 0 000D45748512   其中0代表第0张网卡

3、一键修改IP及mac bat实现

      根据以上理论,我们便可实现了

         1)利用命令netsh -c interface dump > c:\myipconfig\ip1.txt将ip配置格式文件保存到ip1.txt中,打开ip1.txt修改相关配置信息为你的目标配置信息。

         2)手动将目标mac信息保存到mac.txt中

         3) 在本目录下新建记事本保存如下命令到bat中即可:

         @echo off
         echo 实验室IP配置
         echo fanston(fzd)制作,减轻你在实验室到宿舍频繁修改ip苦恼
         echo 提示:请确保您的网卡名称为"本地连接"
         pause

         echo 正在设置ip dns ...
         netsh -f ip1.txt
         echo IP dns设置完毕!

         echo 正在设置mac
         for /f "delims=" %%i in ('find "0" "mac.txt"')do set gmac=%%i
         smac -ModifyMAC 0 %gmac%
         echo mac设置完毕!

         echo 配置完毕!
         echo 有时需要禁用,并启用一下本地连接才可生效(一般情况不需要)
         pause


          当ip发生变化时,用户直接从ip1.txt和mac.txt 中配置相关信息即可,实现了代码无关性。