• netsh


    NetSH (Network Shell) 是windows系统本身提供的功能强大的网络配置命令行工具。 导出配置脚本:netsh -c interface ip dump > c:interface.txt 导入配置脚本:netsh -f c:interface.txt
    外文名
    Network Shell
    简    称
    netsh
    类    别
    网络配置命令行工具
    导入配置脚本
    netsh -f c:interface.txt
     

    命令编辑

    C:>netsh ?
    用法: netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName]UserName] [-p Password | *] [Command | -f ScriptFile]
    进入NetSH环境后,在根级目录用exec命令也可以加载一个配置脚本。还有对winsock、route、ras等网络服务的配置也可以通过Netsh的内置命令操作。
    C:>netsh
    netsh>help
    下列指令有效:
    此上下文中的命令:
    .. - 移到上一层上下文级。
    ? - 显示命令列表。
    abort - 丢弃在脱机模式下所做的更改。
    add - 在项目列表上添加一个配置项目。
    alias - 添加一个别名
    bridge - 更改到 `netsh bridge' 上下文。
    bye - 退出程序。
    commit - 提交在脱机模式中所做的更改。
    delete - 在项目列表上删除一个配置项目。
    diag - 更改到 `netsh diag' 上下文。
    dump - 显示一个配置脚本。
    exec - 运行一个脚本文件
    exit - 退出程序。
    help - 显示命令列表。
    interface - 更改到 `netsh interface' 上下文。
    offline - 将当前模式设置成脱机。
    online - 将当前模式设置成联机。
    popd - 从堆栈上打开一个上下文。
    pushd - 将当前上下文放推入堆栈。
    quit - 退出程序。
    ras - 更改到 `netsh ras' 上下文。
    routing - 更改到 `netsh routing' 上下文。
    set - 更新配置设置。
    show - 显示信息
    unalias - 删除一个别名。
    winsock - 更改到 `netsh winsock' 上下文。
    下列的子上下文可用:
    bridge diag interface ras routing winsock
    若需要命令的更多帮助信息,请键入命令,
    后面跟 ?。
    netsh>

    概述编辑

    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
    客户机全部win2kpro(并装有还原卡
    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上运行CMD进入MS-DOS,输入
    netsh -c interface ip dump > c:NetPC.TXT
    (该命令是显示当前”本地连接" 的接口IP 配置,并保存在NetPC.TXT文本文件中)
    查看一下c:NetPC.TXT这个文件,显示的是当前”本地连接”的接口的IP配置,是否跟用ipconfig /all命令,看到的一样的。
    {
    TPYE c:NetPC.TXT
    # ----------------------------------
    # 接口 IP 配置
    # ----------------------------------
    pushd interface ip
    # "本地连接" 的接口 IP 配置
    set address name="本地连接" 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 name="本地连接" 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>查看网络配置
    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
    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 interface 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 firewall add allowedprogram C: MyApp MyApp.exe "My Application" ENABLE
    netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:MyAppMyApp.exe” enable=yesnetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: MyApp MyApp.exe" enable = yes
    netsh firewall add allowedprogram program=C:MyAppMyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domainnetsh firewall add allowedprogram program = C: MyApp MyApp.exe name = "My Application" mode = ENABLE scope = CUSTOM addresses = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = Domain
    netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:MyAppMyApp.exe” enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domainnetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: MyApp MyApp.exe" enable = yes remoteip = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = domain
    netsh firewall add allowedprogram program=C:MyAppMyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALLnetsh firewall add allowedprogram program = C: MyApp MyApp.exe name = "My Application" mode = ENABLE scope = CUSTOM addresses = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = ALL
    运行以下命令:
    netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:MyAppMyApp.exe” enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domainnetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: MyApp MyApp.exe" enable = yes remoteip = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = domain
    netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:MyAppMyApp.exe” enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=privatenetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: MyApp MyApp.exe" enable = yes remoteip = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = private
    有关如何添加防火墙规则的详细信息对于运行以下命令: netsh advfirewall firewall add rule?

    参考文章:

    1、netsh

  • 相关阅读:
    各种筛法与莫比乌斯反演
    欧拉函数技巧与学习笔记
    莫比乌斯函数与欧拉函数的单个值的快速求法
    最短路算法总结
    NOI2018网络同步赛游记
    中国剩余定理及其扩展学习笔记
    构造方法的格式
    private关键字
    成员变量和局部变量的区别
    数据加密代码实现
  • 原文地址:https://www.cnblogs.com/AlanWilliamWalker/p/11121047.html
Copyright © 2020-2023  润新知