当前笔记本的可移动性增强,我们需要在多个环境下接入网络开始工作,在没有路由器自动分配的情况下,就需要每次手动设置IP地址和网关等信息,相当烦琐,通过实践利用netsh命令用快捷方式实现了IP地址的快速切换。
A. 基本用法
1,新建记事本,写入如下信息:(横线中间内容)
int ip
set address name="本地连接" source=static addr=192.168.0.107 mask=255.255.255.0
set address name="本地连接" gateway=192.168.0.1 gwmetric=1
保存为218.sh,请注意后缀名为sh。解释一下,以上设置的addr是IP地址,mask是子网掩码,gateway是网关,gwmetric是默认网关的跃点数。
2,再新建记事本,写入如下信息:(横线中间内容)
netsh exec 218.sh
保存为218.bat批处理文件,这个很容易理解,就是通过netsh命令运行一个脚本文件。当运行此批处理时,就调用了218.sh文件,达到修改IP地址和网关的目的。
把以上文件放在硬盘任何位置,再建立快捷方式指向218.bat,就很容易实现的了对IP地址的方便切换和控制。
B. 应用扩展
以上情况只是更改了IP,掩码,网关,用样的道理,更改sh文件又有不同用法:
int ip
set address name="本地连接" source=dhcp //自动获取IP地址
set dns name="本地连接" source=dhcp //自动获取DNS
set dns "本地连接" static 192.168.0.1 primary //设置首选DNS为192.168.0.1
set dns "本地连接" static none //清除DNS列表
其实刚才第一个例子可以简单的写为:
set address "本地连接" static 192.168.0.107 255.255.255.0 192.168.0.1 1
"本地连接"为name连接名,192.168.0.107为addr待设定IP地址,255.255.255.0为mask子网掩码,192.168.0.1 1为gateway网关,1为gwmetric默认网关的跃点数
C. netsh命令的基本和扩展用法
netsh>/?
下列指令有效:
此上下文中的命令:
.. - 移到上一层上下文级。
? - 显示命令列表。
aaaa - 更改到 `netsh aaaa' 上下文。
abort - 丢弃在脱机模式下所做的更改。
add - 在项目列表上添加一个配置项目。
alias - 添加一个别名
bridge - 更改到 `netsh bridge' 上下文。
bye - 退出程序。
commit - 提交在脱机模式中所做的更改。
delete - 在项目列表上删除一个配置项目。
dhcp - 更改到 `netsh dhcp' 上下文。
diag - 更改到 `netsh diag' 上下文。
dump - 显示一个配置脚本。
exec - 运行一个脚本文件。
exit - 退出程序。
help - 显示命令列表。
interface - 更改到 `netsh interface' 上下文。
ipsec - 更改到 `netsh ipsec' 上下文。
offline - 将当前模式设置成脱机。
online - 将当前模式设置成联机。
popd - 从堆栈上打开一个上下文。
pushd - 将当前上下文放入堆栈。
quit - 退出程序。
ras - 更改到 `netsh ras' 上下文。
routing - 更改到 `netsh routing' 上下文。
rpc - 更改到 `netsh rpc' 上下文。
set - 更新配置设置。
show - 显示信息。
unalias - 删除一个别名。
wins - 更改到 `netsh wins' 上下文。
下列的子上下文可用:
aaaa bridge dhcp diag interface ipsec ras routing rpc wins
若需要命令的更多帮助信息,请键入命令,接着是空格,后面跟 ?。
netsh>
--------------------
由以上可以看出,在netsh模式下,还可进入下级的操作模式:
aaaa
|-下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show clients - 以脚本格式转储 aaaa 客户端设置。
show config - 以脚本格式转储 aaaa 配置信息。
show connection_request_policies - 以脚本格式转储 aaaa 连接请求策略设置。
show logging - 以脚本格式转储 aaaa 日志记录设置。
show remote_access_policies - 以脚本格式转储 aaaa 远程访问策略设置。
show server_settings - 以脚本格式转储 aaaa 服务器设置。
show version - 显示一个 aaaa 配置数据库的版本。
bridge
|-下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show adapter - 显示配置为单桥的适配器。
dhcp
|-下列指令有效:
list - 列出所有可用的命令。
help - 显示帮助。
? - 显示帮助。
add server - 在目录服务上的授权服务器中添加服务器。
delete server - 从目录服务中的授权的服务器列表中删除一 DHCP 服务器。
show server - 为当前域显示所有在目录服务中的 DHCP 服务器
server [\\servername/ipaddress] - 将上下文切换到指定的服务器。
空值意味着是本地机器。
diag
|-下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show adapter - 显示所有适配器。
show all - 显示所有类别。
show client - 显示所有网络客户端。
show computer - 显示计算机信息。
show dhcp - 显示每个适配器的 DHCP 服务器。
show dns - 显示每个适配器的 DNS 服务器。
show gateway - 显示每个适配器的默认网关服务器。
show ieproxy - 显示 Internet Explorer 的服务器名称和端口号。
show ip - 显示每个适配器的 IP 地址。
show mail - 显示邮件服务器名称和端口号。
show modem - 显示所有调制解调器。
show news - 显示新闻服务器名称和端口号。
show os - 显示操作系统信息。
show test - 显示所有类别并执行所有测试。
show version - 显示 Windows 和 WMI 版本。
show wins - 显示每个适配器的首选和辅助 WINS 服务器。
interface
|-下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show credentials - 显示用于连接到接口的凭据。
show interface - 显示接口。
ipsec
|-下列指令有效:
下列指令有效:
此上下文中的命令:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
ras
|-下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show activeservers - 听远程访问服务器广告。
show authmode - 显示身份验证模式。
show authtype - 显示当前启用的身份验证类型。
show client - 显示连接到此计算机的远程访问客户端。
show link - 显示 PPP 要协商的链接属性
show multilink - 显示 PPP 要协商的多重链接
show registeredserver - 显示计算机是否注册为在给定的域中的
Active Directory 中的远程访问服务器。
show user - 为用户显示远程访问属性。
routing
|-下列指令有效:
此上下文中的命令:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
rpc
|-下列指令有效:
此上下文中的命令:
? - 显示命令列表。
add - 创建子网的"添加"列表。
delete - 创建子网的"删除"列表。
dump - 显示一个配置脚本。
help - 显示命令列表。
reset - 将选择绑定设置重置为 'none' (监听所有界面)。
show - 在系统上显示每个子网的选择绑定状态。
wins
|-下列指令有效:
此上下文中的命令:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
netsh命令功能的强大,在这里就不深入讨论了,有兴趣的朋友可在cmd模式下,直接netsh回车进入netsh模式,提醒一点,回到上级用.或者..,退出netsh模式用bye或者exit。
教你干掉ICS防火墙
作者:中国知音 日期:2007-07-31
字体大小: 小 中 大
现在越来越多的服务器用的是ICS防火墙,配合ipsec来管理远程登陆和端口安全
搞的真是要天下无黑了
很多服务器直接打下来却连不上3389,仔细分析完也没找到什么防火墙或者新鲜软件,ipsec服务关闭以后也没效果。着实郁闷了一翻
想一想就是自带ICS搞的鬼吧
下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义过的别名。
show helper - 请列出所有头等助手。
show mode - 显示当前的模式。
此上下文中的命令:
show allowedprogram - 显示防火墙允许的程序配置。
show config - 显示防火墙配置。
show currentprofile - 显示当前防火墙配置文件。
show icmpsetting - 显示防火墙 ICMP 配置。
show logging - 显示防火墙记录配置。
show multicastbroadcastresponse - 显示防火墙多播/广播响应配置。
show notifications - 显示防火墙操作配置。
show opmode - 显示防火墙端口配置。
show portopening - 显示防火墙端口配置。
show service - 显示防火墙服务配置。
show state - 显示当前防火墙状态。
================================================================
有朋友问我,“能不能在命令行下直接修改Windows2000的IP地址?”。
呵呵,当然是可以的了。不仅可以修改IP地址,和相关的每个细节都可以用命令行方式进行配置。
只不过一般大家不太习惯罢了。
方法就是使用系统中提供的一个很牛B的命令行工具“netsh”:
首先,察看自己现在的ip地址:
look:
呵呵,列出了两块网卡,其中接口名为“本地连接”的这块网卡配置情况:
使用了固定IP,其中ip地址为192.168.0.4,其他信息略(自己不会看啊)
好了,我们来修改这个IP
呵呵,改成什么呢,稍微改一点点吧:
呵呵,现在ip就是192.168.0.5了。
其实刚才改IP的时候并没有把命令写完整,完整的看这个:
呵呵,一堆命令吧,呵呵,现在的IP地址已经修改成10.0.0.13了。
呵呵
当然,命令行下修改IP也可以只用1条命令
到这里,netsh的最最最简单的功能,命令行下修改IP地址
已经说完了
看到一个朋友是做网管的,管理着公司几个不同的,每次都要抱着笔记本修改成不同的ip地址、不同的
子网掩码、、、其实,只要能够充分的发挥Netsh脚本的功能,就可以最快捷的修改自身的配置。
OK,开始
首先,显示一个配置脚本
look:
我们进入Netsh环境,切换到interface ip环境
通过dump命令将当前配置情况显示了出来。
第二步,导出一个配置脚本
look:
这样,我们就把刚才显示的配置脚本保存成了一个文件c:interface.txt
第三步,复制一个脚本拷贝interface2.txt并修改它
呵呵,原因?简单嘛,为了更方便的切换环境啊
注意哦,我们已经把所需要修改的ip地址、子网掩码、网关和dns做了修改。
最后,再把新的配置文件直接导入系统。
到这里,已经把配置部分修改了
总结:
通过Netsh里面的dump命令可以直接显示配置脚本。
而通过netsh -c interface ip dump >c:interface.txt的方式可以导出配置脚本。
然后再netsh -f c:interface.txt的方式又可以把导出的配置脚本再导回去。
一来一去间,就可以轻松的实现方便的修改配置。
Netsh里面还有很多很多命令,诸如可以进入netsh环境后,在根级目录用exec命令
也可以加载一个配置脚本。
另外还有对wins、路由、ras等服务的配置也可以通过Netsh的内置命令直接操作。
Windows的帮助里面都有相关的介绍。
=================================================================
1>查看网络配置
netsh interface ip show {选项}
{选项}可以是:
address - 显示 IP 地址配置。
config - 显示 IP 地址和更多信息。
dns - 显示 DNS 服务器地址。
icmp - 显示 ICMP 统计。
interface - 显示 IP 接口统计。
ipaddress - 显示当前 IP 地址
ipnet - 显示 IP 的网络到媒体的映射。
ipstats - 显示 IP 统计。
joins - 显示加入的多播组。
offload - 显示卸载信息。
tcpconn - 显示 TCP 连接。
tcpstats - 显示 TCP 统计。
udpconn - 显示 UDP 连接。
udpstats - 显示 UDP 统计。
wins - 显示 WINS 服务器地址。
2>配置接口IP/网关IP
netsh interface ip set address "本地连接" static 10.1.2.90 255.255.255.0 10.1.2.254 1
C:>
netsh interface ip show config
接口 "本地连接" 的配置 DHCP enabled: 否 IP 地址: 10.1.2.90 子网掩码: 255.255.255.0 默认网关: 10.1.2.254 GatewayMetric: 1 InterfaceMetric: 0 静态配置的 DNS 服务器: 202.99.160.68 202.99.166.4 静态配置的 WINS 服务器: 无 用哪个前缀注册: 只是主要 |
3>配置自动换取IP地址,DNS地址及wins地址
netsh interface ip set address "本地连接" dhcp
netsh interface ip set dns "本地连接" dhcp
netsh interface ip set wins "本地连接" dhcp
4>配置静态IP地址,DNS地址及wins地址
netsh interface ip set address "本地连接" static 10.1.2.90
netsh interface ip set dns "本地连接" static 202.99.160.68
netsh interface ip set wins "本地连接" static 10.1.2.200
5>查看网络配置文件
C:>
netsh -c interface dump
#======================== # 接口配置 #======================== pushd interface
reset all
popd # 接口配置结束
#======================== # 接口配置 #======================== pushd interface ipv6
uninstall
popd # 接口配置结束
# ---------------------------------- # ISATAP 配置 # ---------------------------------- pushd interface ipv6 isatap
popd # ISATAP 配置结束
# ---------------------------------- # 6to4 配置 # ---------------------------------- pushd interface ipv6 6to4
reset
popd # 6to4 配置结束
#============= # 端口代理配置 #============= pushd interface portproxy
reset
popd # 端口代理配置结束
# ---------------------------------- # 接口 IP 配置 # ---------------------------------- pushd interface ip
# "本地连接" 的接口 IP 配置
set address name="本地连接" source=static addr=10.1.2.90 mask=255.255.255.0 set address name="本地连接" gateway=10.1.2.254 gwmetric=1 set dns name="本地连接" source=static addr=202.99.160.68 register=PRIMARY add dns name="本地连接" addr=202.99.166.4 index=2 set wins name="本地连接" source=static addr=none
popd # 接口 IP 配置结束 |
6>导出网络配置文件
netsh -c interface dump > d:\1.txt
7>导入网络配置文件
netsh -f d:\1.txt
netsh exec d:\2.txt
===============================================================
现在来看看WIN2000下的网络设置的配置。
D:\>netsh
netsh>interface
interface>dump
#========================
# 接口配置
#========================
pushd interface
reset all
popd
# 接口配置结束
# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd interface ip
# "本地连接 2" 的接口 IP 配置
set address name = "本地连接 2" source = dhcp
set dns name = "本地连接 2" source = dhcp
set wins name = "本地连接 2" source = dhcp
# "本地连接" 的接口 IP 配置
set address name = "本地连接" source = static addr = 192.168.1.10 mask = 255.255.255.0
set address name = "本地连接" gateway = 192.168.0.1 gwmetric = 1
set dns name = "本地连接" source = static addr = 192.168.0.1
set wins name = "本地连接" source = static addr = none
popd
# 接口 IP 配置结束
如果,你想快速修改一个本地IP地址。
你可以先用文本写入以下的内容:
interface ip
set address 本地连接 static 192.168.5.10 255.255.255.0 192.168.0.1 1
^^^ ^^^ ^^^ ^^^ ^^
接口名称 IP地址 子网掩码 网关 接口跃点数
如上保存为 local.sh
D:\>netsh exec local.sh
即可。是不是十分简单呢。Netsh命令还有不少强劲功能,还没有发挥出来。有信心的你,自己来试试吧!