Netsh 公用程式指南:追蹤及其他

簡介

簡要概述 Netsh 公用程式及其在網路管理中的重要性。突出其主要功能,如指令碼支援、遠端執行和疑難排解能力。



內容最佳化

1. 什麼是 Netsh 公用程式?

Netsh(Network Shell)是一款功能強大的 Windows 命令列工具,用於設定和疑難排解網路設定。它透過動態連結程式庫 (DLL) 與系統元件互動,並支援多種內容,例如:advfirewall, wlan和winhttp.

2. Netsh 命令的一般語法

netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [Domain\]UserName] [-p Password|*] [Command | -f ScriptFile]

簡要解釋語法參數,並突出其用例。

3. 深入了解 Netsh 追蹤

收集追蹤:
使用netsh trace內容擷取網路事件和封包以進行診斷。

  • 顯示案例的命令:
netsh trace show scenarios
  • 顯示特定案例的提供者:
netsh trace show scenario <Scenario name>

重要參數:
詳細介紹下列重要參數,如scenario, capture, report, persistent, traceFile等,並附範例。

常用追蹤命令:

  • 開始追蹤:
netsh trace start scenario=InternetClient capture=yes tracefile=C:\temp\trace.etl
  • 停止追蹤:
netsh trace stop

進階選項:
提供使用下列選項的進階追蹤範例,如maxsize, filemode和overwrite.

將 ETL 轉換為 CAP:
解釋如何轉換 ETL 檔案,以便在 Wireshark 等工具中使用:

netsh trace convert input=trace.etl output=trace.cap


4. 使用 Netsh 篩選網路擷取

基本篩選器:
突出常用的篩選器,例如:

  • 擷取往返特定 IPv4 位址的流量:
IPv4.Address == x.x.x.x

通訊協定專用篩選器:

  • 擷取 DNS 流量:
DNS

進階篩選器:
提供擷取 TCP 交握封包等範例:

TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0


5. 主要 Netsh 內容和用例

IP 設定:

  • 設定靜態 IP:
netsh interface ip set address "Ethernet" static 10.0.0.5 255.255.255.0 10.0.0.1

重設 Winsock 和 TCP/IP 堆疊:

  • 重設 TCP/IP 堆疊:
netsh int ip reset

操作防火牆:

  • 新增防火牆規則:
netsh advfirewall firewall add rule name="Allow Ping" dir=in action=allow protocol=icmpv4

設定 WinHTTP Proxy:

  • 設定 Proxy:
netsh winhttp set proxy "proxy:8080" "<local>"

分析網路擷取常用的 netmon 篩選器:

基本篩選器

篩選器用途
IPv4.Address == x.x.x.x擷取往返特定 IPv4 位址的流量。
IPv4.SourceAddress == x.x.x.x篩選來自特定來源 IP 的流量。
IPv4.DestinationAddress == x.x.x.x篩選傳送到特定目標 IP 的流量。
IPv6.Address == xxxx::xxxx篩選往返特定地址的 IPv6 流量。
TCP.Port == 80擷取特定 TCP 連接埠上的流量(例如,HTTP 的 80 連接埠)。
UDP.Port == 53擷取特定 UDP 連接埠上的流量(例如,DNS 的 53 連接埠)。

通訊協定專用篩選器

篩選器通訊協定描述
DNSDNS擷取 DNS 查詢和回應。
HTTPHTTP擷取 HTTP 流量(可按方法進一步篩選)。
TCPTCP擷取所有 TCP 流量。
UDPUDP擷取所有 UDP 流量。
SMB2SMB擷取 SMBv2 檔案共用流量。
KerberosKerberos擷取 Kerberos 驗證封包。
LDAPLDAP擷取 LDAP 查詢/回應。

工作階段篩選器

篩選器用途
IPv4.SourceAddress == x.x.x.x AND IPv4.DestinationAddress == y.y.y.y篩選兩個特定主機之間的流量。
TCP.SourcePort == 12345 AND TCP.DestinationPort == 80篩選特定的用戶端-伺服器工作階段。

應用程式層篩選器

篩選器範例
HTTP.Request.Method == “GET”僅擷取 GET 要求。
HTTP.Host == “example.com”篩選傳送到特定網域的 HTTP 流量。
DNS.QryName == “example.com”篩選針對特定網域的 DNS 查詢。
SMB2.CreateRequest.FileName == “filename.txt”擷取 SMB 流量中的檔案存取。

進階篩選器

篩選器用途
TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0擷取 SYN 封包(TCP 交握的開始)。
TCP.Flags.FIN == 1擷取 FIN 封包(TCP 工作階段的結束)。
TCP.Flags.Reset == 1擷取 TCP RST 封包(連線重設)。
Frame.Length > 1000僅擷取大於 1000 位元組的封包。

主要 Netsh 內容和用例

設定 IP 組態

netsh interface ip set address “Ethernet” static 10.0.0.5 255.255.255.0 10.0.0.1
netsh interface ip set dns “Ethernet” static 1.1.1.1
netsh interface ip set address “Ethernet” dhcp

重設 Winsock 和 TCP/IP 堆疊

netsh int ip reset
netsh winsock reset

操作防火牆

netsh advfirewall firewall add rule name=”Allow Ping” dir=in action=allow protocol=icmpv4
netsh advfirewall firewall add rule name=”Allow RDP” dir=in action=allow protocol=TCP localport=3389

netsh advfirewall set allprofiles state on
netsh advfirewall export “C:\\backup\\fwconfig.wfw”

WinHTTP Proxy

netsh winhttp show proxy
netsh winhttp set proxy “proxy:8080” “<local>”
netsh winhttp reset proxy


6. 結論

總結 Netsh 作為網路管理和疑難排解工具的多功能性。鼓勵讀者使用Microsoft 官方文件.

發表留言