netsh
netsh(网络壳层)是一个功能强大的网络配置命令行工具,自微软Windows 2000开始,包含在所有Windows NT系列的操作系统中。它允许本地或远程配置网络设备,如硬件接口。netsh可以导出和导入配置脚本,用户可以通过命令行修改其IP地址,从Windows Vista开始,它还可以读取和更改无线连接配置(如SSID)。此外,netsh还可以用于读取IPv6栈,命令行语法为“netsh 接口 ipv6 show address”。执行“netsh winsock reset”命令可以修复与其他网络设备通讯时的TCP/IP问题,其主要作用是重置winsock目录,重新初始化网络环境,以解决由于软件冲突、病毒等原因导致的参数错误问题。
命令
C:\\u003enetsh ?
用法: netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName]UserName] [-p Password | *] [Command | -f ScriptFile]
进入NetSH环境后,在根级目录用exec命令也可以加载一个配置脚本。还有对winsock、route、ras等network service的配置也可以通过Netsh的内置命令操作。
C:\\u003enetsh
netsh\u003ehelp
下列指令有效:
此上下文中的命令:
.. - 移到上一层上下文级。
? - 显示命令列表。
abort - 丢弃在脱机模式下所做的更改。
add - 在项目列表上添加一个配置项目。
alias - 添加一个别名
bridge - 更改到 `netsh bridge' 上下文。
bye - 退出程序。
commit - 提交在脱机模式中所做的更改。
delete - 在项目列表上删除一个配置项目。
diag - 更改到 `netsh diag' 上下文。
dump - 显示一个配置脚本。
exec - 运行一个脚本文件。
exit - 退出程序。
help - 显示命令列表。
接口 - 更改到 `netsh interface' 上下文。
offline - 将当前模式设置成脱机。
online - 将当前模式设置成联机。
popd - 从堆栈上打开一个上下文。
pushd - 将当前上下文放推入堆栈。
quit - 退出程序。
ras - 更改到 `netsh ras' 上下文。
路由 - 更改到 `netsh routing' 上下文。
set - 更新配置设置。
show - 显示信息
unalias - 删除一个别名。
winsock - 更改到 `netsh winsock' 上下文。
下列的子上下文可用:
bridge diag 接口 ras routing winsock
若需要命令的更多帮助信息,请键入命令,
后面跟 ?。
netsh\u003e
介绍
Netsh 是命令行脚本实用工具,它允许从本地或远程显示或修改当前正在运行的计算机的网络配置。
Netsh 还提供了一个脚本功能,对于指定计算机,可以通过此功能以批处理模式运行一组命令。为了存档或配置其他服务器,Netsh 也可以将配置脚本保存在文本文件中。
Netsh 命令的强大,有经验的管理员都不会怀疑;以前有很多介绍netsh命令的文章,今天我们从另一方面感受一下netsh命令的神奇。
配置示例
:管理学校机房
网络环境:
adsl接入,通过ISP上网,
上网服务器:win2ks+isa2k
IP:192.168.0.1
subnetmask:255.255.255.0
DNS为ISP的DNS IP:202.101.10.10
IP:192.168.0.2---192.168.0.102
subnetmask:255.255.255.0
网关和DNS都为代理服务器的IP:192.168.0.1并且都装了ISA的防火墙客户端软件。
学校规定:学生帐号登陆不能上Internet,而老师通过自己帐号登陆则可以连接Internet;
多数情况下上网权限的控制,都是通过IP地址来实现(当然,ISA在AD的支持下是可以通过帐户来实现上网权限的控制,这不是本文讨论范围内),也就是说同一台电脑,学生用过后,如果老师使用时要Internet的话,就必须更改计算机的IP地址,但有些菜鸟网络老师更改,都教了N次了,还是不会......
在默认情况下,客户机是全部不能上internet的,ISA的规则上是禁止192.168.0.2---192.168.0.102的IP上internet,另外在ISA再创建一规则,允许192.168.0.103-192.168.0.203上internet (这不是本文的重点,如果有需要,大家可以查看相关资料)。
netsh派上用场了,我们客户机PC18上运行运行指令进入MS-DOS,输入
netsh -c 接口 ip dump \u003e c:\NetIBM PC/XTtxt
(该命令是显示当前”本地连接" 的接口IP 配置,并保存在NetPC.TXT文本文件中)
查看一下c:\NetPC.TXT这个文件,显示的是当前”本地连接”的接口的IP配置,是否跟用ipconfig /all命令,看到的一样的。
{
TPYE c:\NetPC.TXT
# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd 接口 ip
# "本地连接" 的接口 IP 配置
set address 人名="本地连接" source=static addr=192.168.0.18 mask=255.255.255.0
set address name="本地连接" gateway=192.168.0.1 gwmetric=0
set dns name="本地连接" source=static addr=192.168.0.1 register=PRIMARY
add dns name="本地连接" addr=202.101.10.10 index=2
set wins 人名="本地连接" source=static addr=none
popd
# 接口 IP 配置结束
}
我们打开NetPC.txt这个文件,把“addr=192.168.0.18”的IP改为“addr=192.168.0.118”,再保存。
然后,在老师帐户的桌面上创建一个IP.BAT文件,内容输入“netsh -f c:\NetPC.TXT”(注意文件的路径,我们刚才是把NetPC.TXT放在C盘根目录下)。
用老师的帐户登陆后,双击桌面上的IP.BAT文件,我们用ipconfig /all看看结果,显示IP地址换成192.168.0.118了,别的配置都没有变。
我们知道192.168.0.103―192.168.0.203的IP地址是可以上网的。也就是说,如果老师想上网的话,只要双击IP.BAT这个文件就可以了;
以上的设置是在PC18这台机器上做的,如果我们要在别的机器上设置,我们只在把NetPC.txt这个文件的里的IP地址换成192.168.0.103-192.168.0.203范围内的IP(当然要保证使用的IP是唯一的,以免产生IP冲突),再新建一个IP.BAT文件,内容可以一样,不过要注意NetPC.TXT这个文件的路径;补允一点,老师帐户都为管理员组,学生帐户为普通用户组。
通过以上设置,基本上达到我们的目的,老师上机的时候,只要双击桌面上IP.BAT这个文件,IP地址就会换成192.168.0.103―192.168.0.203这个网段的IP,也就是说可以上网了,电脑重启,因为有还原卡,机器又会被变成192.168.0.2―192.168.0.102这个网段的IP,也就不能上网了。通过netsh这个命令,我们能感觉到他的强大,可以为我们免去一些烦琐的事情。
配置示例:笔记本设置wifi热点
在笔记本命令行下,利用netsh命令设置无线热点:
1、netsh wlan show drivers //判断支持的承载网络:是
2、netsh wlan set hostednetwork mode=allow ssid=热点名字 key=热点密码 //mode=allow启用虚拟WiFi网卡;mode=disallow可以直接禁用虚拟WiFi网卡。
3、netsh wlan start hostednetwork //启动承载网络
4、设置Internet共享。
5、netsh wlan show hostednetwork //显示无线网络信息
用法
[Note] netsh命令详解
1\u003e查看网络配置
netsh 接口 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\u003e配置接口IP/网关IP
netsh 接口 ip set address "本地连接" static 10.1.2.90 255.255.255.0 10.1.2.254 1
C:\u003enetsh 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\u003e配置自动换取IP地址,DNS地址及wins地址
netsh 接口 ip set address "本地连接" dhcp
netsh interface ip set dns "本地连接" dhcp
netsh interface ip set wins "本地连接" dhcp
4\u003e配置静态IP地址,DNS地址及wins地址
netsh interface ip set address "本地连接" static 10.1.2.90
netsh 接口 ip set dns "本地连接" static 202.99.160.68
netsh interface ip set wins "本地连接" static 10.1.2.200
5\u003e查看网络配置文件
C:\u003enetsh -c interface dump
#========================
# 接口配置
#========================
pushd 接口
reset all
popd
# 接口配置结束
#========================
# 接口配置
#========================
pushd interface ipv6
uninstall
popd
# 接口配置结束
# ----------------------------------
# ISATAP 配置
# ----------------------------------
pushd 接口 ipv6 isatap
popd
# ISATAP 配置结束
# ----------------------------------
# 6to4 配置
# ----------------------------------
pushd interface ipv6 6to4
popd
# 6to4 配置结束
#=============
# 端口代理配置
#=============
reset
popd
# 端口代理配置结束
# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd interface ip
# "本地连接" 的接口 IP 配置
set address 人名="本地连接" 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 人名="本地连接" source=static addr=none
popd
# 接口 IP 配置结束
6\u003e导出网络配置文件
netsh -c 接口 dump \u003e d:\1.txt
7\u003e导入网络配置文件
netsh -f d:\1.txt
netsh exec d:\2.txt
Netsh命令行设置IP与DNS
1.设置动态IP(DHCP自动获取IP)
[span]netsh interface ip set address "本地连接" dhcp
2.设置指定的IP,此处以设置本机IP为10.16.15.226,子网掩码为255.255.255.0,网关IP为10.16.15.1为例
[span]netsh 接口 ip set address "本地连接" static 10.16.15.226 255.255.255.0 10.16.15.1
3.设置动态DNS(DHCP自动获取DNS)
[span]netsh interface ip set dns "本地连接" dhcp
4.设置指定的DNS,此处以设置DNS为210.45.240.10为例
[span]netsh interface ip set dns "本地连接"static 210.45.240.10
防火墙
系统防火墙
打开命令提示符输入输入命令“netsh firewall show state”然后回车可查看防火墙的状态,从显示结果中可看到防火墙各功能模块的禁用及启用情况。命令“netsh firewall set opmode disable”用来禁用系统防火墙,相反命令“netsh firewall set opmode enable”可启用防火墙。
启用一个程序
旧命令:新命令:
有关如何添加防火墙规则的详细信息对于运行以下命令: netsh advfirewall firewall add rule?
参考资料
Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike.com/id.php on line 280