netsh命令解析与实例使用

时间:2022-07-28
本文章向大家介绍netsh命令解析与实例使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

[TOC]

0x00 快速入门

描述:netsh 在本地或者远程显示与修改当前正在运行的计算机的网络配置,为了存档、备份或者配置其他服务器, netsh也可以将配置脚本保存在文本文件中。 他们通过一个或者多个服务,实用程序或协议提供配置和监视支持来扩展Netsh的功能,并提供脚本功能,IP地址、网关、DNS、MAC地址,Context(上下文)是特定于网络组件一组命令。

netsh它也有”交互”和”非交互模式”

用法: netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName]UserName] [-p Password | *]
             [Command | -f ScriptFile]

#下列指令有效此上下文中的命令:
..             - 移到上一层上下文级。
?              - 显示命令列表。
abort          - 丢弃在脱机模式下所做的更改。
add            - 在项目列表上添加一个配置项目。
advfirewall    - 更改到 `netsh advfirewall' 上下文。
alias          - 添加一个别名(Windows10 没有)
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' 上下文。 (Windows 10 没有)
offline        - 将当前模式设置成脱机。(windows10没有)
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

也可以直接交互查看:

  • .. - 移到上一层上下文级
  • 上下文命令 - 下层可以直接跳转到上层(但不能反向)

WeiyiGeek.


0x01 命令详细

exec

描述: exec 运行一个netsh脚本文件, 加载并运行脚本文件。 用法: exec <ScriptFile>

#都是导入配置文件
netsh exec config.log
netsh -f config.log
dump

描述:Dump全局的配置文件

netsh dump
#========================
# 接口配置
#========================
# pushd interface
exit

描述:此再写脚本的时候非常有用退出结束配置;

netsh exit
firewall (老版本)

描述:XP系统老版本使用:

netsh firewall set opmode disable        ## 关闭 Windows 防火墙
netsh firewall set service remoteadmin enable   ## 允许远程服务通过防火墙
netsh firewall set service remotedesktop enable
set

描述:更新配置设置

set file      - 复制控制台输出到文件
set machine    - 设置在上面操作的机器
set mode      - 设置当前模式为联机或脱机

#用法: 
netsh> set file [ mode= ] { open [ name= ] <filename> | append [ name = ] <filename> | close }
# 标记       值
# mode     - 以下值之一:
#            open: 创建新文件或覆盖已有文件并使控制台输出流到此文件导入到系统之中
#            append: 打开现有文件并使控制台输出流到此文件末端。
#            close: 停止流并关闭文件
# name     - 文件名 (完整路径,可选)

#以上命令创建一个文件并将所有输出记录到此文件。
netsh> set file open c:logfileslogfile.txt

#用法: 
netsh> set machine [name=]<string> [user=][[DomainName]UserName] [pwd=][Password | *

0x02 网络配置

interface

描述:设置网卡的IP地址以及网关,IPV4与IPV6之网络配置与查看

# 接口名称的获取:(使用的网卡idx号|针对双网卡甚至多网卡来说,识别正在使用的网卡尤为重要)
netsh interface ipv4>show interface
netsh interface show interface
netsh interface>show interface

WeiyiGeek.

(1) add - 在一个表格中添加一个配置项

#上下文中的命令:
add neighbors  - 添加邻居地址。
add winsservers - 添加一个静态 WINS 服务器地址。

#ipv4/ipv6添加ip地址及默认网关
add address    - 将静态 IP 地址或默认网关添加到指定接口。
add address [网卡名称-name=] [ip地址-addr=] [mask=子网掩码] [gateway=网关] [gwmetric=跃点数]

#基础用法
# - 交互环境
#netsh interface ip/ipv6
add address "本地连接" 10.0.0.2 255.0.0.0 10.0.0.1 3
add address "本地连接" 10.0.0.2 255.0.0.0 gateway=10.0.0.1 gwmetric=3
netsh interface ipv6>install #ipv6
add address "本地连接" 2001:250:4005:4352::1000 

#- 非交互环境
netsh interface ip add address "本地连接" 10.0.0.2 255.0.0.0 10.0.0.1 3
netsh interface ip add address "本地连接" 10.0.0.2 255.0.0.0 gateway=10.0.0.1 gwmetric=3
netsh interface ipv6 add address "本地连接" 2001:250:4005:4352::1000  #ipv6

#一张网卡可以添加多个ipV4、ipv6地址

WeiyiGeek.

add dnsservers - 添加一个静态 DNS 服务器地址。
add dns[servers] [name=网卡名称] [addr=DNSServer ip] [index=DNS指定索引]
#用法
netsh interface ipv4>add dns "VirtualBox Host-Only Network" 61.128.128.64 1
netsh interface ipv6>add dnsservers "VirtualBox Host-Only Network" ff55:15a8:15as:88ad::2000 1
#ipv4/ipv6添加route路由表
add route      - 在接口上添加路由。
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] [[store=]active|persistent]
prefix           - 要为其添加路由的前缀
interface        - 接口名称或索引
nexthop          - 网关地址(如果前缀不在链路上)

#添加路由
add route 10.2.0.0/16 "Internet" 10.0.0.1

WeiyiGeek.

(2) set - interface ipv4中设置配置信息

set address    - 设定通向接口的 IP 地址或默认网关。
set compartment - 修改分段配置参数。
set dnsservers - 设置 DNS 服务器模式和地址。
set dynamicportrange - 修更改态端口分配所使用端口的范围。
set global     - 修改全局配置常规参数。
set interface  - 修改 IP 的接口配置参数。
set neighbors  - 设置邻居地址。
set route      - 修改路由参数。
set subinterface - 修改子接口配置参数。
set winsservers - 设置 WINS 服务器模式和地址。
#ipv4/ipv6设置ip地址及默认网关
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]
name         - 接口名称或索引。
source       - 下列其中一个值:
               dhcp: 启用 DHCP (DHCP 用于为指定接口配置 IP 地址)。
               static: 禁用 DHCP (DHCP 用于为指定接口配置 IP 地址)。如果配置了地址或网关,则必须指定该值。
address      - 要添加或修改的 IPv4 地址,可以遵照子网前缀长度。
mask         - 指定 IP 地址的 IP 子网掩码。
gateway      - 下列其中一个值: <IPv4 address>: 正在设置的静态 IP 地址的指定默认网关,none: 未设置默认网关。此为默认值。
gwmetric     - 默认网关的跃点数。仅在指定了网关时才应设置该字段。#0 为自动

#配置静态何DHCP
netsh interface ipv4 set address name="Local Area Connection" source=dhcp  #带参数名称
netsh interface ipv4 set address "Local Area connection" static 10.0.0.9 255.0.0.0 10.0.0.1 0 #不带参数名称

#设置IP地址
> netsh interface ipv4 set address "本地连接" static 10.84.18.120 255.255.255.0 10.84.18.250
> netsh interface ipv4 set dnsservers "本地连接" static 114.114.114.114 primary
> netsh interface ip set address name="本地连接" source=static addr=192.168.2.123 mask=255.255.255.0 
> netsh interface ip set address name="本地连接" source=static addr=192.168.2.123 mask=255.255.255.0 gateway=192.168.2.1 gwmetric=0

WeiyiGeek.

#ipv4/ipv6设置DNS服务器
set dnsservers [name=]<string> [source=]dhcp|static [[address=]<IP address>|none]
               [[register=]none|primary|both] [[validate=]yes|no]
register     - 为以下值之一:
                none: 禁用动态 DNS 注册。
                primary: 仅在主 DNS 后缀下注册。
                both: 在主 DNS 后缀和特定连接后缀下注册。
#案例:
set dnsservers name="Local Area Connection" source=dhcp
> netsh interface ipv4>set dnsservers "Local Area Connection" static 10.0.0.1 primary
> netsh interface ip set dnsservers name="无线网络连接" 114.144.144.144

#修改默认首选(PRIMARY)DNS
#通过Windows批处理自动配置DNS服务器
#有时候我会在自己的PC机上启一个dns代理服务器,用来记录本机所有的DNS查询,收集各大公司的域名。
#启动脚本的时候,会自动配置主DNS服务器到127.0.0.1,通过netsh命令实现即可:
netsh interface ipv4 set dnsservers "本地连接" static 127.0.0.1      #<!--set-->
netsh interface ipv4 add dns name="本地连接" addr="8.8.8.8" index=2  # <!--add-->
#以上将主dns设置为127.0.0.1,辅dns服务器设置为8.8.8.8.同理,在代理程序中止的时候,又自动将DNS设置还原为原始IP。

WeiyiGeek.

#ipv4/ipv6设置route路由表
set route [prefix=]<IPv4 address>/<integer> [interface=]<string> [[nexthop=]<IPv4 address>] [[siteprefixlength=]<integer>]
          [[metric=]<integer>] [[publish=]no|age|yes]
          [[validlifetime=]<integer>|infinite] [[preferredlifetime=]<integer>|infinite] [[store=]active|persistent]
    
siteprefixlength - 整个站点的前缀长度(如果在链路上)
publish          - 下列其中一个值:
                   no: 未在路由播发中播发。此为默认值。
                   age: 用有限生存时间在路由播发中播发。
                   yes: 用无限生存时间在路由播发中播发。
validlifetime     - 路由有效的生存时间。默认值是无限。
preferredlifetime - 首选路由生存时间。默认值是无限。
store            - 下列其中一个值:
                   active: 更改仅持续到下一次启动。
                   persistent: 更改持久有效。此为默认值。  

#要存在路由表中的
netsh interface ipv4>set route 10.2.0.0/16 "网络接口" 10.0.0.1 0 2 yes 5000 5000 store=active

#设置全局的静态IP:(未发现其特征)
netsh interface ipv4 set global taskoffload=disable     # enable 启用

WeiyiGeek.

(3) delete - 从一个表格中删除一个配置项

delete address - 从指定的接口删除 IP 地址或默认网关。
delete arpcache - 刷新一个特定接口或所有接口的 ARP 缓存。
delete destinationcache - 删除目标缓存。
delete dnsservers - 从指定的接口删除 DNS 服务器。
delete neighbors - 刷新一个特定接口或所有接口的 ARP 缓存。
delete route  - 删除路由。
delete winsservers - 从指定的接口删除 WINS 服务器。

#ipv4/ipv6删除设置ip地址及默认网关
delete address "Local Area Connection" addr=10.0.0.1 gateway=all

#ipv4/ipv6删除DNS服务器
delete dnsservers "Local Area Connection" 10.0.0.1
delete dnsservers "Local Area Connection" all

#ipv4/ipv6删除route路由表
delete route 10.2/16 "网卡名称" 10.0.0.1
delete route 10.2.0.0/16 "VirtualBox Host-Only Network"

WeiyiGeek.

(4) show - 查看网络配置 描述:查看网络配置信息包括路由/ip/统计等等;

#帮助信息
netsh
netsh interface > show
netsh interface ipv4 > show

#接口路由地址
netsh interface show route
netsh interface show address
netsh interface show wins

#提供缩写的方法进行执行命令效果一致
netsh i i show in
netsh interface ipv4 show interface
# Idx     Met         MTU          状态                名称
# ---  ----------  ----------  ------------  ---------------------------
#   1          75  4294967295  connected     Loopback Pseudo-Interface 1
#  15          25        1500  connected     以太网
#  14          35        1500  connected     VMware Network Adapter VMnet1
#   5          35        1500  connected     VMware Network Adapter VMnet8
#   3          55        1400  disconnected  以太网 3

WeiyiGeek.

(5)dump - 显示一个配置脚本

netsh interface > dump  #<!--接口配置文件导出-->
netsh interface ipv4 > dump  #<!--ipv4配置文件导出-->

netsh interface ipv4 dump >> ipv6config.txt    //导出到文件
start ipv6config.txt

WeiyiGeek.

(6) 导入导出配置文件(Config File)

#导出
netsh -c interface ipv4 dump > log.txt

#导入
netsh -f log.txt
netsh exec log.txt

#========================
# IPv4 配置
# ========================
# pushd interface ipv4
# reset
# set global icmpredirects=enabled mldlevel= mldversion=
# add route prefix=0.0.0.0/0 interface="本地连接" nexthop=192.168.2.1 metric=30 publish=yes
# add address name="本地连接" address=192.168.2.123 mask=255.255.255.0
# popd

WeiyiGeek.

brige

描述:查看设置操作一个桥架的网络; 基础示例:

#1.显示配置为单桥的适配器
netsh bridge show adapter

#2.显示一个配置脚本
netsh bridge dump

#3.修改适配器 "2" 的桥配置,将其设置成Layer3 模式
netsh bridge set adapter "2" forcecompatmode=enable
lan

描述:显示本地有线LAN接口信息

netsh lan show interfaces - 显示系统上当前有线接口列表。
netsh lan show profiles  - 显示在计算机上当前配置的有线配置文件的列表。
netsh lan show settings  - 显示有线 LAN 的当前全局设置。
netsh lan show tracing   - 显示是否启用或禁用有线局域网跟踪。
mbn

描述:移动网络相关配置信息查看和设置

#1.不支持移动宽带配置转储
netsh mbn dump

#2.其他信息查看 都需要带有 interface="Mobile Broadband Connection" 接口名称
show acstate   - 显示给定接口的移动宽带数据自动连接状态。
show capability - 显示给定接口的接口功能信息。
show connection - 显示给定接口的当前连接信息。
show dataenablement - 显示给定接口的移动宽带数据启用状态。
show dataroamcontrol - 显示给定接口的移动宽带数据漫游控件状态。
show dmprofiles - 显示系统中配置的 DM Config 配置文件的列表。
show enterpriseapnparams - 显示给定接口的移动宽带数据 enterpriseAPN 参数。
show highestconncategory - 显示给定接口的移动宽带数据最高连接类别。
show homeprovider - 显示给定接口的主提供程序信息。
show interfaces - 显示系统上的移动宽带接口列表。
show netlteattachinfo - 显示给定接口的移动宽带网络 LTE 连接信息。
show pin       - 显示给定接口的 pin 信息。
show pinlist   - 显示给定接口的 pin 列表信息。
show preferredproviders - 显示给定接口的首选提供程序列表。
show profiles  - 显示计算机上配置的配置文件列表。
show profilestate - 显示给定接口的移动宽带配置文件状态。
show provisionedcontexts - 显示给定接口的预配上下文信息。
show purpose   - 显示可用的用途组 GUID。
show radio     - 显示给定接口的无线电状态信息。
show readyinfo - 显示给定接口的就绪状态信息。
show signal    - 显示给定接口的信号信息。
show smsconfig - 显示给定接口的 SMS 配置信息。
show tracing   - 显示已启用还是已禁用移动宽带跟踪。
show visibleproviders - 显示给定接口的可视提供程序列表。

0x03 防火墙配置

advfirewall

启动关闭

#防火墙操作
netsh advfirewall set allprofiles state on   ## 启用防火墙
netsh advfirewall set allprofiles state off   ## 关闭防火墙

放行/阻止服务

netsh firewall set service remoteadmin enable
netsh firewall set service remotedesktop enable

屏蔽TCP/UDP端口 基础语法:

用法: 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|
      [localport=0-65535|<port range>[,...]|RPC|RPC-EPMap|IPHTTPS|any (default=a
      [remoteport=0-65535|<port range>[,...]|any (default=any)]
      [protocol=0-255|icmpv4|icmpv6|icmpv4:type,code|icmpv6:type,code|
      [interfacetype=wireless|lan|ras|any]
      [rmtcomputergrp=<SDDL string>]
      [rmtusrgrp=<SDDL string>]
      [edge=yes|deferapp|deferuser|no (default=no)]
      [security=authenticate|authenc|authdynenc|authnoencap|notrequired

备注:

  • 将新的入站或出站规则添加到防火墙策略。
  • 规则名称应该是唯一的,且不能为 “all”。
  • 如果已指定远程计算机或用户组,则 security 必须为
  • 为 authdynenc 设置安全性可允许系统动态协商为匹配选择此选项后,只要入站 IPSec 连接已设置安全保护,一旦处理了第一个数据包,服务器将重新协商连接并对其进行升级,以便所
  • 如果 action=bypass,则 dir=in 时必须指定远程计算机组。
  • 如果 service=any,则规则仅应用到服务。
  • ICMP 类型或代码可以为 “any”。
  • Edge 只能为入站规则指定。
  • AuthEnc 和 authnoencap 不能同时使用。
  • Authdynenc 仅当 dir=in 时有效。
  • 设置 authnoencap 后,security=authenticate 选项就变成可选参数。

基础示例:

#1.非常注意dir方法: in/out
netsh advfirewall firewall add rule name="deny udp 137" dir=in protocol=udp localport=137 action=block   
netsh advfirewall firewall add rule name="deny tcp 137" dir=in protocol=tcp localport=137 action=block


#2.为不具有封装的 messenger.exe 添加入站规则:
netsh advfirewall firewall add rule name="allow messenger" dir=in program="c:programfilesmessengermsmsgs.exe" ecurity=authnoencap action=allow


#3.为端口 80 添加出站规则:
netsh advfirewall firewall add rule name="allow80" protocol=TCP dir=out localport=80 action=block


#4.为 TCP 端口 80 通信添加需要安全和加密的入站规则:
netsh advfirewall firewall add rule name="Require Encryption for Inbound TCP/80" protocol=TCP dir=in localport=80 security=authdynenc action=allow


#5.为 messenger.exe 添加需要安全的入站规则:
netsh advfirewall firewall add rule name="allow messenger" dir=in program="c:program filesmessengermsmsgs.exe" security=authenticate action=allow


#6.为 SDDL 字符串标识的组 acmedomainscanners 添加
#经过身份验证的防火墙跳过规则:
netsh advfirewall firewall add rule name="allow scanners" dir=in rmtcomputergrp=<SDDL string> action=bypass security=authenticate


#7.为 udp- 的本地端口 5000-5010 添加出站允许规则
Add rule name="Allow port range" dir=out protocol=udp localport=5000-5010 action=allow

端口转发实战:

#实例1.进行端口转发把来自外部的tcp的6666端口流量全部转发到内网的2008r2机器的3389端口上执行以下两条命令 (在做渗透测试的时候非常重要)
netsh advfirewall firewall add rule name="winmgmt" dir=in action=allow protocol=TCP localport=6666  #这一步需要管理员权限
netsh interface portproxy add v4tov4 listenport=6666 connectaddress=192.168.2.57 connectport=3389

WeiyiGeek.利用windows自带的netsh转发


0x04 WLAN配置查看

wlan
add            - 在一个表格中添加一个配置项。
connect        - 连接到无线网络。
delete         - 从一个表格中删除一个配置项。
disconnect     - 从无线网络断开。
dump           - 显示一个配置脚本。
export         - 将 WLAN 配置文件保存为 XML 文件。
help           - 显示命令列表。
refresh        - 刷新承载网络设置。
reportissues   - 生成 WLAN 智能跟踪报告。
set            - 设置配置信息。
show           - 显示信息。
start          - 启动承载网络。
stop           - 停止承载网络。

基础语法:

#将无线网络添加到系统上配置的允许和阻止的网络列表。
add filter [permission=]allow|block|denyall [[ssid=]<string>] [networktype=]infrastructure|adhoc

#连接到由使用指定配置文件的 ssid 给定的无线网络。
connect [name=]<string> [[ssid=]<string>] [[interface=]<string>]

#从某个接口或所有接口删除无线网络配置文件
delete profile [name=]<string> [[interface=]<string>]

#在指定的文件夹中将选定的配置文件保存为 XML 文件
export profile [name=]<string> [folder=]<string> [[interface=]<string>] [k
ey=<string>]

#set命令参数
set allowexplicitcreds - 允许或不允许用户使用共享用户凭据进行网络身份验证。
set autoconfig - 启用或禁用接口上的自动配置逻辑。
set blockednetworks - 在可见网络列表中显示或隐藏阻止的网络。
set blockperiod - 设置阻止时间段。
set createalluserprofile - 允许或不允许任何人创建所有用户配置文件。
set hostednetwork - 设置承载网络属性。
set profileorder - 设置无线网络配置文件的首选顺序。
set profileparameter - 设置无线网络配置文件中的参数。
set profiletype - 对 alluser 或 peruser 设置配置文件类型。
set tracing    - 启用或禁用跟踪。

基础示例:

#1.利用无线网卡开启WIFI(PC-无需第三方软件设置Wifi)
#承载网络设置为允许,并启用ssid与key
netsh wlan set hostednetwork mode=allow ssid=wifiname key=wifipassword
#启动承载网络
netsh wlan start hostednetwork
#停止承载网络
netsh wlan stop hostednetwork
#刷新承载网络
netsh wlan refresh hostednetwork


#2.已经连接的Wi-Fi,如何查看密码无线属性 / 开启wifi可以看到密码
#Windows 无线属性 / 开启wifi可以看到密码,Mac  tool->钥匙串访问->搜索当前wifi (显示wifi密码)
netsh wlan show profiles
netsh wlan show profile key=clear

# 接口 无线网络连接 上的配置文件:
# 用户配置文件
# -------------
#     所有用户配置文件 : IU
#     所有用户配置文件 : CMCC-Weiyi

#密码的获取
netsh wlan export profile interface=无线网络连接 key=clear folder=C:

WeiyiGeek.

#3.查看周围WIFI的SSID-BSSID信息
#SSID就是WIFI名称啦,BSSID就是WIFI对应的MAC地址啦!
netsh wlan show networks mode=bssid
netsh wlan show networks mode=bssid | findstr "SSID"

WeiyiGeek.

#4.将无线网络添加到系统上配置的允许和阻止的网络列表
#如果权限为允许或阻止,则参数 ssid 是必需的。如果权限为 denyall,则不应给定参数 ssid。
netsh wlan add filter permission=allow ssid=ssid1 networktype=infrastructure
netsh wlan add filter permission=block ssid=ssid2 networktype=adhoc
netsh wlan add filter permission=denyall networktype=adhoc


#5.命令指定连接WIFI采用配置文件
netsh wlan connect name=Profile2 ssid=SSID2 interface="无线网络连接"
#没有分配给指定接口的配置文件“Profile2”。


#6.删除指定的WIFI配置文件进行删除连接
netsh wlan show profiles
netsh wlan delete profile name="IU" i=*
#已从接口“无线网络连接”中删除配置文件“IU”。

#7.创建一个包含当前配置的脚本文件。如果保存到文件,此脚本可以用来还原更改的配置设置。
netsh wlan dump

#8.导出指定的WIFI配置文件(不加name导出全部)
netsh wlan export profile name="profile 3" folder=. key=clear

#9.指定允许或不允许使用客户端上的共享用户凭据进行网络身份验证。
netsh wlan set allowexplicitcreds allow=yes

0x05 DHCP/DNS配置查看

dhcpclient

描述:对 DHCP 客户端启用或禁用跟踪,转储最后 100 个跟踪。

netsh dhcpclient trace dump   #  - 转储最后 100 个跟踪[操作需要提升(作为管理员运行)]
netsh dhcpclient trace enable | disable    #   - 对 DHCP 客户端启用/禁用跟踪。
dnsclient

描述:对 DNS 客户端进行查看配置

#1.显示 DNS 状态
netsh dnsclient show state
# 名称解析策略表选项
# ----------------------------
# 直接访问设置                : 未配置
# DNSSEC 设置                 : 未配置
namespace
#1.DNS 名称解析策略表设置
PS C:UsersWeiyiGeek> netsh namespace show policy

#2.DNS 有效名称解析策略表设置
PS C:UsersWeiyiGeek> netsh namespace show  effectivepolicy
注意: 当此计算机位于企业网络中时,DirectAccess 设置将处于非活动状态。

0x06 HTTP与SOCKET查看配置

http

描述:显示配置http数据条码信息;

基础语法:

dump           - 显示一个配置脚本。
update         - 将配置条目更新到表中。
flush          - 刷新内部数据。
help           - 显示命令列表。
show           - 显示信息。
  * show cacheparam - 显示 HTTP 服务的缓存参数。
  * show cachestate - 列出缓存的 URI 资源及其相关属性。
  * show iplisten  - 显示 IP 侦听列表中的所有 IP 地址。
  * show servicestate - 显示 HTTP 服务快照。
  * show setting   - 显示服务的设置值。
  * show sslcert   - 显示 SSL 证书绑定。
  * show timeout   - 显示服务的超时值。
  * show urlacl    - 显示 URL 命名空间保留项。
  * update         - 将配置条目更新到表中。

基础示例:

#1.IP 侦听列表中存在的 IP 地址
D:Builder>netsh http show  iplisten


#2.HTTP 服务缓存参数
D:Builder>netsh http show cacheparam
# maxcacheresponsesize (每 uri 缓存限制): 262144 个字节
# cacherangechunksize (范围块): 65536 个字节


#3.SSL 证书绑定
D:Builder>netsh http show sslcert


#4.URL 保留
D:Builder>netsh http show urlacl
# 保留的 URL              : http://*:5357/
#   用户: BUILTINUsers
#       侦听: Yes
#       委派: No
#   用户: NT AUTHORITYLOCAL SERVICE
#       侦听: Yes
#       委派: No
#       SDDL: D:(A;;GX;;;BU)(A;;GX;;;LS)


#5.HTTP 服务状态快照(服务器会话视图):
D:Builder>netsh http show servicestate
# 服务器会话 ID: FF00000320000001
#     版本: 2.0
#     状态: Active
#     属性:
#         最大带宽: 4294967295
#         超时:
#             实体正文超时(秒): 120
#             耗尽实体正文超时(秒): 120
#             请求队列超时(秒): 120
#             空闲连接超时(秒): 120
#             标头等待超时(秒): 120
#             最小发送速率(字节/秒): 150
#     URL 组:
#     URL 组 ID: FE00000340000001
#         状态: Active
#         请求队列名称: 请求队列尚未命名。
#         属性:
#             最大带宽: 已继承
#             最大连接数: 已继承
#             超时:
#                 继承的超时值
#             已注册的 URL 数目: 1
#             已注册的 URL 数目:
#                 HTTP://*:5357/497B7D4E-74A6-4C3F-A174-F3EF3B8BECF1/


#6.更新绑定的证书
netsh http update sslcert - 更新现有的 SSL 服务器证书绑定。
netsh http update sslpropertyex - 更新现有 SSL 服务器证书绑定的扩展属性。
winhttp

描述:查看WinHttp代理服务器信息

import         - 导入 WinHTTP 代理服务器设置。
set            - 配置 WinHTTP 设置。
show           - 显示当前设置。

基础示例:

#1.导出当前设置
netsh winhttp dump
# -----------------------------------------
# WinHTTP 代理配置
# -----------------------------------------
# pushd winhttp
# reset proxy
# popd
# WinHTTP 代理配置结束
wfp

描述:显示过来WFP信息与状态

#1.显示指定文件的应用程序 ID。
netsh wfp show appid file="C:Windowssystem32cmd.exe"
deviceharddiskvolume3windowssystem32cmd.exe

#2.显示 WFP 和 IPSec 的当前状态。
netsh wfp show state
# 数据收集成功;输出 = wfpstate.xml
Winsock

描述:系统应用之间的socket连接统计与配置

#1.基础服务显示已经安装和卸载的层次服务提供商的审核跟踪。
netsh winsock audit trail

#2.重置winsock请求操作需要提升管理员运行
netsh winsock reset


#3. 显示是否启用了 Winsock 发送自动优化
PS C:UsersWeiyiGeek> netsh winsock show autotuning
已禁用 Winsock 发送自动优化。

#显示 Winsock 目录的内容。
PS C:UsersWeiyiGeek> netsh winsock show catalog
# Winsock 目录提供程序项
# ------------------------------------------------------
# 项类型:                             基本服务提供程序
# 描述:                               Hyper-V RAW
# 提供程序 ID:                        {1234191B-4BF7-4CA7-86E0-DFD7C32B5445}
# 提供程序路径:                       %SystemRoot%system32mswsock.dll
# 目录项 ID:                          1001
# 版本:                               2
# 地址族:                             34
# 最大地址长度:                       36
# 最小地址长度:                       36
# Socket 类型:                        1
# 协议:                               1
# 服务标志:                           0x20026
# 协议链长度:                         1

0x07 策略设置

ipsec

描述:进行计算机策略查看设置; 基础语法:

#用法:  显示筛选器列表的详细信息。
filterlist [ name = ] <string> | [ rule = ] <string> | [ all ]
             [ [ level = ] (verbose | normal) ]
             [ [ format = ] (list | table ) ]
             [ [ resolvedns = ] (yes | no) ]
             [ [ wide = ] (yes | no) ]
#1.显示 SPD 中的策略,筛选器,SA 和统计。
netsh ipsec dynamic show all


#2.显示 IPsec 配置。
netsh ipsec dynamic show config
# IPsec 配置参数
# ------------------------------
# IPsecDiagnostics       : 0[Windows Vista 和更新操作系统无效]
# IKElogging             : 0 [Windows Vista 和更新操作系统无效]
# StrongCRLCheck         : 1
# IPsecloginterval       : 3600[Windows Vista 和更新操作系统无效]
# IPsecexempt            : 3
# 引导模式               : 许可
# 引导模式免除           : 没有引导模式免除


#3.本地静态筛选器
netsh ipsec static show store
# 存储                   : 本地存储
netsh ipsec static show all
# ERR IPsec[05073] : 不能打开策略存储

#4.设置筛选器
netsh ipsec static show filterlist Filterlist=Filterlist1 resolvedns=yes wide=yes