netsh命令详解 netsh命令用法教程

发布时间:2019-11-22编辑:脚本学堂
本文介绍了netsh命令的用法,netsh命令详解,当在命令提示符下键入命令时,请在每个命令前加上 netsh。要获得每个命令的精确语法,可在命令之后键入 ? 。
netsh命令详解 netsh命令用法教程 第二部分
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 - 删除所有匹配的防火墙规则。
dump - 显示一个配置脚本。
help - 显示命令列表。
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:programfilesmessengermsmsgs.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 添加需要安全的入站规则:
 

复制代码 代码示例:
netsh advfirewall firewall add rule name="allow messenger"
dir=in program="c:program filesmessengermsmsgs.exe"
security=authenticate action=allow

为 SDDL 字符串标识的组 acmedomainscanners 添加
经过身份验证的防火墙跳过规则:
 

复制代码 代码示例:
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]
[profile=public|private|domain|any[,...]]
[program=<program path>]
[service=<service short name>|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|any]
[remoteport=0-65535|<port range>[,...]|any]
[protocol=0-255|icmpv4|icmpv6|icmpv4:type,code|icmpv6:type,code|
 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