天天看点

Windows netsh命令详解

Netsh   实用程序有如下命令模式:   

  联机    

  联机模式下,在   Netsh   命令提示符下发布的命令被立即执行。   

  脱机     

  脱机模式下,将在   Netsh   命令提示符下积累发布的命令,并通过发布   commit   全局命令来按照批处理方式执行。

  可以通过发布  abort  全局命令 丢弃在脱机模式下所做的更改。

  脚本     

  使用   -f   命令行选项,或在   Netsh   命令提示符下发布   exec   全局命令,可以执行指定文件中所有的   netsh   命令。   

要创建当前配置的脚本,请使用   dump   全局命令。dump   命令根据   netsh  

命令输出当前运行的配置。可以使用该命令创建的脚本来配置新的服务器或重新配置现有的服务器。如果要对组件的配置作很大的更改,推荐您使用  

dump   命令开始配置会话,以防在进行更改前需要还原配置。 

 Interface   命令   

  下表列出了可在   Windows   7   命令提示符下键入的   netsh   命令,这些命令用于管理运行   及"路由和远程访问"服务的计算机上的接口设置。如果对某个特殊功能有多个命令,则在每个命令之间用斜线   (/)   分隔。   

当在命令提示符下键入命令时,请在每个命令前加上   netsh。要获得每个命令的精确语法,可在命令之后键入   ? 。选项例如,要获得  

netsh   interface   命令的命令行"帮助",请在命令提示符下键入   netsh   interface  ? 。   

在CMD下,输入netsh进入。请求帮助输入 ? 

C:\Windows\system32>netsh

netsh>

netsh>?

下列指令有效:

此上下文中的命令:

..             - 移到上一层上下文级。

?              - 显示命令列表。

abort          - 丢弃在脱机模式下所做的更改。

add            - 在项目列表上添加一个配置项目。

advfirewall    - 更改到 `netsh advfirewall' 上下文。

alias          - 添加一个别名

branchcache    - 更改到 `netsh branchcache' 上下文。

bridge         - 更改到 `netsh bridge' 上下文。

bye            - 退出程序。

commit         - 提交在脱机模式中所做的更改。

delete         - 在项目列表上删除一个配置项目。

dhcpclient     - 更改到 `netsh dhcpclient' 上下文。

dnsclient      - 更改到 `netsh dnsclient' 上下文。

dump           - 显示一个配置脚本。

exec           - 运行一个脚本文件。

exit           - 退出程序。

firewall       - 更改到 `netsh firewall' 上下文。

help           - 显示命令列表。

http           - 更改到 `netsh http' 上下文。

interface      - 更改到 `netsh interface' 上下文。

ipsec          - 更改到 `netsh ipsec' 上下文。

lan            - 更改到 `netsh lan' 上下文。

mbn            - 更改到 `netsh mbn' 上下文。

namespace      - 更改到 `netsh namespace' 上下文。

nap            - 更改到 `netsh nap' 上下文。

netio          - 更改到 `netsh netio' 上下文。

offline        - 将当前模式设置成脱机。

online         - 将当前模式设置成联机。

p2p            - 更改到 `netsh p2p' 上下文。

popd           - 从堆栈上打开一个上下文。

pushd          - 将当前上下文放入堆栈。

quit           - 退出程序。

ras            - 更改到 `netsh ras' 上下文。

rpc            - 更改到 `netsh rpc' 上下文。

set            - 更新配置设置。

show           - 显示信息。

trace          - 更改到 `netsh trace' 上下文。

unalias        - 删除一个别名。

wcn            - 更改到 `netsh wcn' 上下文。

wfp            - 更改到 `netsh wfp' 上下文。

winhttp        - 更改到 `netsh winhttp' 上下文。

winsock        - 更改到 `netsh winsock' 上下文。

wlan           - 更改到 `netsh wlan' 上下文。

下列的子上下文可用:

 advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec lan mbn namespace

 nap netio p2p ras rpc trace wcn wfp winhttp winsock wlan

若需要命令的更多帮助信息,请键入命令,接着是空格,后面跟 ? 。

附:获取“接口名称”或者“接口索引”

接口名称:

C:\Users\Degui>ipconfig |more

Windows IP 配置

无线局域网适配器 无线网络连接:

   连接特定的 DNS 后缀 . . . . . . . :

   自动配置 IPv4 地址  . . . . . . . : 169.254.103.83

   子网掩码  . . . . . . . . . . . . : 255.255.0.0

   默认网关. . . . . . . . . . . . . :

或者

C:\Windows\system32>netsh int ip show inter

Idx     Met         MTU          状态                名称

---  ----------  ----------  ------------  ---------------------------

 13          30        1500  connected     无线网络连接

接口索引:

C:\Users\Degui>route print

===========================================================================

接口列表

 13...1c 65 9d fe 60 e3 ......Realtek RTL8191SE 802.11b/g/n WiFi Adapter

 13          30        1500  connected     无线网络连接

常用命令:

1、interface

6to4           - 更改到 `netsh interface 6to4' 上下文。

httpstunnel    - 更改到 `netsh interface httpstunnel' 上下文。

ipv4           - 更改到 `netsh interface ipv4' 上下文。

ipv6           - 更改到 `netsh interface ipv6' 上下文。

isatap         - 更改到 `netsh interface isatap' 上下文。

portproxy      - 更改到 `netsh interface portproxy' 上下文。

set            - 设置配置信息。

tcp            - 更改到 `netsh interface tcp' 上下文。

teredo         - 更改到 `netsh interface teredo' 上下文。

1)enable/disable 接口

netsh interface>set inter ?

用法:set interface [name = ] IfName [ [admin = ] ENABLED|DISABLED [connect = ] CONNECTED|DISCONNECTED

              [newname = ] NewName ]

示例:

      set interface name="Local Area Connection" admin=DISABLED

      set interface name="Local Area Connection" newname="Connection 1"

①netsh interface>set inter 无线网络连接 dis       -------禁用接口

②netsh interface>set inter 无线网络连接 ena     -------启用接口

2)ipv4配置

①netsh interface ipv4>set add 13  static 1.1.1.1 255.0.0.0 1.1.1.2 --------设置接口地址1.1.1.1 网关1.1.1.2

   netsh interface ipv4>set add 无线网络连接 static 1.1.1.1 255.0.0.0 1.1.1.2

用法: set address [name=]<string>[[source=]dhcp|static] [[address=]<IPv4 address>[/<integer>] [[mask=]<IPv4 mask>]                                  [[gateway=]<IPv4 address>|none [gwmetric=]<integer>]

             [[type=]unicast|anycast]

             [[subinterface=]<string>]

             [[store=]active|persistent]

       set address name="Local Area Connection" source=dhcp

       set address "Local Area connection" static 10.0.0.9 255.0.0.0 10.0.0.1 1

②netsh interface ipv4>set dns 13 static 8.8.8.8 pri   --------设置dns为8.8.8.8

用法: set dnsservers [name=]<string> [source=]dhcp|static [[address=]<IP address>|none] [[register=]none|primary|both]         [[validate=]yes|no]

       set dnsservers name="Local Area Connection" source=dhcp

       set dnsservers "Local Area Connection" static 10.0.0.1 primary

③netsh interface ipv4>add route 172.0.0.0/8 13 1.1.1.10  -----------增加路由

用法: add route [prefix=]<IPv4 address>/<integer> [interface=]<string>

             [[nexthop=]<IPv4 address>] [[siteprefixlength=]<integer>]

             [[metric=]<integer>] [[publish=]no|age|yes]

             [[validlifetime=]<integer>|infinite]

             [[preferredlifetime=]<integer>|infinite]

       add route 10.2.0.0/16 "Internet" 10.0.0.1

注意add和set的区别!!

netsh interface ipv4>add ?

add address    - 将静态 IP 地址或默认网关添加到指定接口。

add dnsservers - 添加一个静态 DNS 服务器地址。

add neighbors  - 添加邻居地址。

add route      - 在接口上添加路由。

add winsservers - 添加一个静态 WINS 服务器地址。

netsh interface ipv4>set ?

set address    - 设定通向接口的 IP 地址或默认网关。

set compartment - 修改分段配置参数。

set dnsservers - 设置 DNS 服务器模式和地址。

set dynamicportrange - 修更改态端口分配所使用端口的范围。

set global     - 修改全局配置常规参数。

set interface  - 修改 IP 的接口配置参数。

set neighbors  - 设置邻居地址。

set route      - 修改路由参数。

set subinterface - 修改子接口配置参数。

set winsservers - 设置 WINS 服务器模式和地址。

netsh interface ipv4>show ?

show addresses - 显示 IP 地址配置。

show compartments - 显示分段参数。

show config    - 显示 IP 地址和其他信息。

show destinationcache - 显示目标缓存项目。

show dnsservers - 显示 DNS 服务器地址。

show dynamicportrange - 显示动态端口范围配置参数。

show global    - 显示全局配置普通参数。

show icmpstats - 显示 ICMP 统计。

show interfaces - 显示接口参数。

show ipaddresses - 显示当前 IP 地址。

show ipnettomedia - 显示 IP 的网络到媒体的映射。

show ipstats   - 显示 IP 统计。

show joins     - 显示加入的多播组。

show neighbors - 显示邻居缓存项。

show offload   - 显示卸载信息。

show route     - 显示路由表项目。

show subinterfaces - 显示子接口参数。

show tcpconnections - 显示 TCP 连接。

show tcpstats  - 显示 TCP 统计。

show udpconnections - 显示 UDP 连接。

show udpstats  - 显示 UDP 统计。

show winsservers - 显示 WINS 服务器地址。

netsh interface tcp>add

add chimneyapplication - 将应用程序添加到 TCP 烟囱卸载表中。

add chimneyport - 将源端口、目标端口筛选器添加到 TCP 烟囱卸载表中。

netsh interface tcp>set

set global     - 设置全局 TCP 参数。

set heuristics - 设置启发 TCP 参数。

set security   - http://go.microsoft.com/fwlink/?LinkID=152840

2、advfirewall

netsh advfirewall firewall>?

add            - 添加新入站或出站防火墙规则。

delete         - 删除所有匹配的防火墙规则。

set            - 为现有规则的属性设置新值。

show           - 显示指定的防火墙规则。

若需要命令的更多帮助信息,请键入命令,接着是空格,后面跟 ?。

1)增加过滤规则

netsh advfirewall firewall>add rule ?

用法: add rule name=<string>

      dir=in|out

      action=allow|block|bypass

      [program=<program path>]

      [service=<service short name>|any]

      [description=<string>]

      [enable=yes|no (default=yes)]

      [profile=public|private|domain|any[,...]]

      [localip=any|<IPv4 address>|<IPv6 address>|<subnet>|<range>|<list>]

      [remoteip=any|localsubnet|dns|dhcp|wins|defaultgateway|

         <IPv4 address>|<IPv6 address>|<subnet>|<range>|<list>]

      [localport=0-65535|<port range>[,...]|RPC|RPC-EPMap|IPHTTPS|any (default=any)]

      [remoteport=0-65535|<port range>[,...]|any (default=any)]

      [protocol=0-255|icmpv4|icmpv6|icmpv4:type,code|icmpv6:type,code|

         tcp|udp|any (default=any)]

      [interfacetype=wireless|lan|ras|any]

      [rmtcomputergrp=<SDDL string>]

      [rmtusrgrp=<SDDL string>]

      [edge=yes|deferapp|deferuser|no (default=no)]

      [security=authenticate|authenc|authdynenc|authnoencap|notrequired

         (default=notrequired)]

      为不具有封装的 messenger.exe 添加入站规则:

      netsh advfirewall firewall add rule name="allow messenger"

      dir=in program="c:\programfiles\messenger\msmsgs.exe"

      security=authnoencap action=allow

      为端口 80 添加出站规则:

      netsh advfirewall firewall add rule name="allow80"

      protocol=TCP dir=out localport=80 action=block

      为 TCP 端口 80 通信添加需要安全和加密的入站规则:

      netsh advfirewall firewall add rule

      name="Require Encryption for Inbound TCP/80"

      protocol=TCP dir=in localport=80 security=authdynenc

      action=allow

      为 messenger.exe 添加需要安全的入站规则:

      dir=in program="c:\program files\messenger\msmsgs.exe"

      security=authenticate action=allow

      为 SDDL 字符串标识的组 acmedomain\scanners 添加

     经过身份验证的防火墙跳过规则:

     netsh advfirewall firewall add rule name="allow scanners"

      dir=in rmtcomputergrp=<SDDL string> action=bypass

      security=authenticate

      为 udp- 的本地端口 5000-5010 添加出站允许规则

      Add rule name="Allow port range" dir=out protocol=udp localport=5000-5010 action=allow

①拒绝本机 any 到 100.1.1.1 的icmp报文

netsh advfirewall firewall>add rule name=degui dir=out proto=icmpv4 local=any remote=100.1.1.1/32 acti=block

//注意,如果dir=in,同样的规则不能达到禁止ping 100.1.1.1的效果,应该是因为防火墙规则是默认放行从本机出去报文的回程报文。

  注意,block/any/icmpv4这些参数不能简写,protocol、localip这些可以简写。

2)删除过滤规则

netsh advfirewall firewall>del rule ?

用法: delete rule name=<string>

      [dir=in|out]

      [localport=0-65535|<port range>[,...]|RPC|RPC-EPMap|any]

      [remoteport=0-65535|<port range>[,...]|any]

         tcp|udp|any]

注释:

      - 删除按名称识别的规则,也可按终结点、端口、

        协议和类型识别规则

      - 如果找到多个匹配项,则删除所有匹配规则。

      - 如果指定 name=all,则从指定的

        类型和配置文件中删除所有规则。

     删除本地端口 80 的所有入则:

     netsh advfirewall firewall delete rule name=all protocol=tcp localport=80

     删除名为 "allow80" 的规则:

     netsh advfirewall firewall delete rule name="allow80"

②删除刚刚那条规则《拒绝本机 any 到 100.1.1.1 的icmp报文》

netsh advfirewall firewall>del rule degui

继续阅读