微軟自身常常有一些很好用的工具們,開一篇獨立記錄。
主要來自 Windows Sysinternals 的介紹網站, 再多補充一些自已有在用的。
Sysinternals
Troubleshooting with the Windows Sysinternals Tools 相關工具書
以下介紹轉自 https://www.sysgeek.cn/what-is-sysinternals-tools/
SysInternals 工具集最早由大牛 Mark Russinovich 開發,它是一套完全免費的 Windows 工具套件,其官方網站為 www.SysInternals.com 。由於已經於 2006 年被微軟收購,Mark 也已經出任 Aazure CTO,訪問網址時會直接跳轉到 Technet 的 SysInternals 主頁。
說到 SysInternals 工具集,在 ITPro 當中應該說是無人不知,該工具集在平常的維護和排錯工作中經常都會用到,微軟的 Troubleshooting 團隊也會經常使用該工具集中的工具。正是由於其強大的功能和便利性,被微軟收購也不足為奇了。SysInternals 工具集的工具有很多,大概涵蓋了如下的幾個類型:
- 文件和磁盤工具
- 網絡工具
- 進程工具
- 安全工具
- 系統信息工具
- 其它類型工具
不知道大家是否記得有一次差點讓索尼身敗名裂的事件:Sony 試圖將 rootkit 嵌入其音樂 CD,最早檢測到該問題的就是 Sysinternals 工具。該次事件之後 Sysinternals 工具便名聲大振,隨後便被微軟收購。
Process Explorer
process/thread viewer
官方
更強大的工作管理員,可以查看程式樹、Dll 載入狀況、不明程式的 PID 、該程式開啟的檔案、開啟方式、註冊的機碼等。
雖說有取代系統原先工作管理員的功能,但在 win10 無法正常的使用此功能。
也可使用 VirusTotal.com 掃描檢查有無問題程式。
開啟方法:
Options →VirusTotal.com→Check VirusTotal.com
另外也要設定 symbols 路徑1
Process Monitor
file/registry/process/thread tracing
官網
即時顯示監控 registry 、文件和線程活動
Process Monitor 基本操作教學
Autoruns
顯示所有自動運行的程式
官網
可開啟整合的 VirusTotal.com 掃描功能快速檢查有無問題程式。
開啟方法:
Options →Scan Options→Check VirusTotal.com
SigCheck
顯示檔案的版本訊息
官網
除了檢查檔案的數位簽章外,加上-v
可一並至 virustotal.com 檢查安全性
TcpView
顯示 TCP/IP endpoints
官網
類似netstat /b
的圖形化工具,但其好處是可以做篩選或直接關閉連線。
Whois
查詢域名或 IP 的註冊資詢
Zoomit
可隨時放大、縮小、筆記螢幕
Pstools
多數功具要配合 AD 才能有效運用,主要是網管人員在不使用遠端控制軟體下對其它使用者的控制。
官網, 可參考使用 PsTools 工具執行本地 / 遠程 PC 管理任
Psping
execute processes remotely or in the system account
除了 icmp ping 外,還可測 TCP ping、TCP or UDP 延遲、網路頻寬等。
來源:免費 IP,ICMP,TCP 及頻寬測試的好工具 PSPING
查詢語法法:
psping -? [i|t|l|b]
參數 | 說明 |
---|---|
-? I | ICMP ping 的用法。 |
-? T | TCP ping 的用法。 |
-? L | 延隔時間測試的用法。 |
-? B | 頻寬測試的用法。 |
ICMP PING 語法
psping [[-6] | [-4]] [-h [buckets]] [-i <interval>] [-l <requestsize> [-q] [n-t|-<count>] [-w <count>] <destination>
例:
psping -h 5 -w 2 168.95.1.1
參數 | 說明 |
---|---|
-h | 列出統計圖(每 0.01ms 一個值,預設顯示數為 20)。 |
-i | 以秒為單位的時間間隔(預設 1 秒)。指定為 0 為快速 ping。 |
-l | 請求大小。 |
-n | Ping 的次數。(預設 5 次) |
-q | 不輸出 ping 命令的過程。 |
-t | Ping 不停止執行,直到用 Ctrl + C 停止。輸入 Ctrl + Break 可暫時停止。 |
-w | 執行指定數目的預熱 ping(預設為 1)。 |
-4 | 使用 IPv4。 |
-6 | 使用 IPv6。 |
使用高速 ping 來測試,可使用 - q 和 - i 0 的組合。
比較特別的是-w
參數,會送出指定次數的 ping 但不列入統計,做為暖身使用。
TCP PING 語法
psping [[-6]|[-4]] [-h [buckets]] [-i <interval>] [-l <requestsize> [-q] [-t|-n <count>] [-w <count>] <destination:destport>
從語法來看,與 ICMP 的語法只差最後的目標是帶有埠(port)號的。
例:
psping -h 5 -w 2 www.google.com:80
TCP 延遲測試語法
server: psping [[-6]|[-4]] <-s source:sourceport>
client: psping [[-6]|[-4]] [-h [buckets]] [-r] <-l requestsize>] <-n count> [-w <count>] <destination:destport>
TCP 延遲是有「明確目標」的測試,從語法上可以看得出來,需要有一台 Server 一台 Client,兩台主機直接進行對測。Server 可以拿來進行延遲及頻寬測試,直到你按下 Ctrl + C 為止。
例:
server: psping -s 192.168.3.116:8080
client: psping -h5 -n10 -w 2 192.168.3.116:8080
TCP 頻寬測試語法
server: psping [[-6]|[-4]] <-s source:sourceport>
client: psping [[-6]|[-4]] -b [-h [buckets]] [-r] <-l requestsize> <-n count> [-i <outstanding>] [-w <count>] <destination:destport>
參數 | 說明 |
---|---|
-i | 測試數量。(預設最小 16 和 2 倍 CPU 核心數) |
-b | 頻寬測試 |
-r | 從 server 接收封包,而不是由 client 發出封包。 |
-w | 頻寬測試裡的 - w 預設值預設為 2 倍 CPU 核心數。 |
要使用頻寬測試,在 client 必須多加一個 - b 的參數。另外,-r 是反方向傳送的意思,由原本的 client 向 server 發送測試,改由 server 向 client 發送測試。
例:
server: psping -s 192.168.3.116:8080
client: psping -b -l 8192 -n 100000 -h 10 10 192.168.3.116:8080
client: psping -b -r -l 8192 -n 100000 -h 10 10 192.168.3.116:8080
PsExec
execute processes remotely or in the system account
文章作者
用法
psexec [\\computer[,computer2[,...] | @file] [-u user [-p psswd]]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,... ] cmd [arguments]
參數 | 說明 |
---|---|
-c | 將指定的程式複製到遠端系統以執行。如果省略這個選項,則應用程式必須在遠端系統上的系統路徑中。 |
-d | 請勿等候應用程式終止。僅使用這個非互動式應用程式的選項。 |
-f | 即使檔案已經存在於遠端系統內,還是將指定的程式複製到遠端系統。 |
-i | 執行此程式,才能夠讓它與遠端系統中指定的工作階段的桌上型電腦互動。如果沒有指定的工作階段,則處理序在主控台工作階段中執行。 |
-l | 以限制使用者的身份執行處理序(刪除系統管理員群組,且只允許使用者群組指派的權限)。在 Windows Vista 中,使用低整合性執行處理序。 |
-p | 指定選擇性使用者名稱密碼。如果省略這個動作,則會出現輸入隱藏密碼的提示。 |
-u | 指定選擇性使用者名稱以登入遠端電腦。 |
-w | 設定處理序的工作目錄(相對於遠端電腦)。 |
@file | 導入 PsExec 以執行每個電腦(指定的文字檔中所列示)的命令。 |
範例:
執行遠端電腦上的 IE
psexec -u domain\user -p password \\192.168.0.24 -d -l -i "E:\Program Files\Internet Explorer\iexplore.exe"
開啟遠端電腦上的檔案 (shutdown.bat)
psexec -u domain\user -p password \\192.168.0.24 -d -w c:\sch -i notepad shutdown.bat
顯示遠端電腦的連線狀態(會跳出輸入密碼的提示)
psexec -u domain\user \\192.168.0.24 netstat -na
啟動遠端電腦上的互動式命令提示(會跳出輸入密碼的提示,user 要為 Administrators 群組成員)
psexec -u domain\user \\192.168.0.24 cmd
複製檔案 (cpuz.exe) 到遠端電腦上(會跳出輸入密碼的提示)
psexec -u domain\user \192.168.0.24 -c cpuz.exe
PsKill
關閉本機或遠端電腦腦的程式
pskill [-] [-t] [\\computer [-u username] [-p password]] <process name | process id>
其他
Kernrate
記錄 CPU 使用率
官網,參考 2
直接執行後就會開始記錄 CPU 使用率,跑一段時間後用 ctrl-c 就會停止執行並印出它所記錄的 CPU 使用率,可方便測試時間段內軟體的 CPU 使用率
官網只有 x86 和 IA64 ,不能在 x64 運行,個人已將其從 windows DDK 中提取出
Device Console
命令列版的裝置管理員。
基本的指令操作:
先找你要開關的 Device 的 HWID(我是存到一個文字檔慢慢找):
devcon hwids * > D:\hwids.txt
使用底下指令去 disable , 記得在 HW ID 前面加 @
devcon /r disable “@ACPI\DELL0812\3&31FF937C&0”
使用底下指令去 enable, 記得在 HW ID 前面加 @,然後 HWID 要用 “ “ 包起來.
devcon /r enable “@ACPI\DELL0812\3&31FF937C&0”
使用底下指令去重新 scan hardware
devcon rescan
使用底下指令可以做重新開機動作
devcon reboot
停用網卡範例
開啟命令提示字元,輸入:DevCon find PCI*
記下您要停用的網路卡的識別碼,例如底下
PCI\VEN_14E4&DEV_4319&SUBSYS_00051028&REV_02\4&2FA23535&0&18F0
您只要記住 DEV_4319
輸入:
DevCon disable DEV_4319
按下 Enter, 會出現底下訊息
PCI\VEN_14E4&DEV_4319&SUBSYS_00051028&REV_02\4&2FA23535&0&18F0: Disabled
1 device(s) disabled.
啟用則輸入:
DevCon enable DEV_4319
按下 Enter, 會出現底下訊息
PCI\VEN_14E4&DEV_4319&SUBSYS_00051028&REV_02\4&2FA23535&0&18F0: Enabled
1 device(s) enabled.
WinDbg
Debugging Tools for Windows
官網
會獨立一篇,先參照 Windbg 指令與分析之教學筆記、藍屏分析 Debugging Tools for Windows 10 - 讓你從此看到藍屏不再害怕
Mouse Without Borders
官方
可以讓多台電腦在可連通的網路環境下共用滑鼠、剪貼簿等,常用情境是自已的筆電帶到公司時。
有時會失效就是了,可能和我用的網路環境有關。