Windows Sysinternals 工具套件
简介(引自CnBeta) Sysinternals Suite是微软发布的一套非常强大的免费工具程序集.我想介绍就不用多说了吧.用好Windows Sysinternals Suite里的工具,你将更有能力处理Windows的各种问题,而且不花一毛钱.Sysinternals 之前为Winternals公司提供的免费工具,Winternals原本是一间主力产品为系统复原与资料保护的公司,为了解决工程师平常在工作上遇到的各种问题,便开发出许多小工具.之后他们将这些工具集合起来称为Sysinternals,并放在网路供人免费下载,其中也包含部分工具的原始码,一直以来都颇受IT专家社群的好评.
以下为个工具简介译自SystemInternals, 为控制台工具,无界面。 以下工具名称均已设好下载链接,方便按需下载。
本套装集合了如下 SysInternals 工具:
- AccessChk: 显示指定用户或组对 注册表 文件 或服务的访问

- AccessEnum: 简单强大的安全工具,显示哪些用户访问了哪些目录、文件及注册键。帮助找出权限策略中的漏洞。

- AdExplorer: 活动目录浏览器.
- AdInsight: LDAP 实时监控工具
- AdRestore: Server 2003 活动目录对象反删除.
- Autologon: 登录时跳过密码认证.
- Autoruns: 显示开机自启动项的配置. 显示包括注册键和文件位置在内的全面列表。
 附命令行版``:
用法: autorunsc [-a] | [-c] [-b] [-d] [-e] [-g] [-h] [-i] [-l] [-m] [-n] [-p] [-r] [-s] [-v] [-w] [-x] [user] -a Show all entries. -b Boot execute. -c Print output as CSV. -d Appinit DLLs. -e Explorer addons. -g Sidebar gadgets (Vista and higher). -h Image hijacks. -i Internet Explorer addons. -l Logon startups (this is the default). -m Hide signed Microsoft entries. -n Winsock protocol and network providers. -p Printer monitor drivers. -r LSA providers. -s Autostart services and non-disabled drivers. -t Scheduled tasks. -v Verify digital signatures. -w Winlogon entries. -x Print output as XML. user Specifies the name of the user account for which autorun items will be shown.
- BgInfo: 可配置的桌面背景自动生成程序,可以生成含有重要系统信息的桌面背景,其中包括 IP 地址, 计算机名, 网络适配器, 等信息.


- BlueScreen: 不但能精确模拟蓝屏还能重启 (完全借助 CHKDSK), 适用于 Windows NT 4,
Windows 2000, Windows XP, Server 2003 and Windows 9x.
- CacheSet: 可以调整 Cache Manager 工作集大小 适用于NT。(NtQuerySystemInformation)

- ClockRes: 显示系统时钟的精度,同时也是计时器的最大精度
- Contig: 可以对单个文件进行碎片整理, 或创建连续的文件.
用法1(碎片整理): contig [-v] [-a] [-q] [-s] [文件名] -v 显示操作信息. -a 分析文件碎片程度 -q -q 屏蔽-v 参数,运行静默模式,仅显示总结信息。 -s 按递归方式处理子文件夹中通配符指定所有文件。
用法2(生成连续的新文件): contig [-v] [-n 文件长度]
- Ctrl2cap: 使用内核模式驱动将大小写转换键转化为控制键,该驱动演示比键盘输入的类驱动更高一层的键盘输入过滤。这一级别的过滤能在NT系统"看到"击键前隐藏按键。Ctrl2cap 还演示了如何使用NtDisplayString() 在Win初始化时的蓝色屏幕上显示消息。
安装运行:ctrl2cap /install 卸载运行:ctrl2cap /uninstall
- DebugView: Sysinternals 的又一首创: 该程序可以拦截设备驱动对 DbgPrint 的调用和Win32程序对 OutputDebugString 的调用. 程序可以浏览或记录本机或远程计算机上调试会话的输出,而无须激活调试器.

- DiskExt: 显示卷分区与磁盘的映射关系。(IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS)

- DiskView: 图形化磁盘扇区工具

- Diskmon: 捕获硬盘的所有活动,或以硬盘活动指示灯的形式出现在托盘中。

- Du: 按目录浏览磁盘使用情况
用法: du [[-v] [-l ] | [-n]] [-q] (文件或目录) -l 指定子文件夹探索深度 (默认为全部). -n 不使用递归方式. -q 不显示版权信息. -u 剔除重复的对象. -v 显示中间目录.
- EFSDump: 显示有关已加密文件的信息
使用 EFSDump -s 递归子目录. EFSDump 支持通配符例如: 'efsdump *.txt'.
- Filemon: 即时监视文件系统的活动

- Handle: 小巧的命令行工具,显示呢哪些文件被哪些进程打开,及相关更多信息。``
用法: handle [[-a] [-u] | [-c <handle> [-l] [-y]] | [-s]] [-p <processname>|<pid>> [name] -a 转储所有类型的句柄信息, 不仅限于文件还包括注册键,端口,线程,进程,及同步原语等. -c 关闭指定句柄 (按16进制解释). 进程需通过PID指定. 警告: 关闭句柄可能导致程序或系统不稳定. -l 转储内存中各 Pagefile-Backed 区段的大小. -y 关闭句柄时不提示确认. -s 显示打开的各类型句柄总数. -u 搜索句柄时显示所有者名称. -p 仅扫描以指定进程名开头的进程内的句柄。因此:
handle -p exp
将转储所有名称以 "exp" 开头的进程所打开的文件, 其中就包括Explorer.
name
在对对象的引用中搜索指定字串. 例如,要查找已打开的引用 "c:\windows\system32" 中对象的句柄,你可以输入:
handle windows\system
name 参数区分大小写,指定的字串片段可以出现在对象路径中的任何位置。
- Hex2dec: 16进制-10进制互换.
用法: hex2dec [hex|decimal]
通过x 或 0x 前缀指定16进制数值 例如 1233(10进制)到16进制: hex2dec 1233
- Junction: 创建 NTFS卷上的符号链接(类似Linux的符号链接)
用法1(查看): [-s] <目录或文件名> -s 递归子目录
用法2(创建/删除): [-d] <链接点> [<链接目标>] 删除指定链接时请使用 -d 开关。
- LDMDump: 可以转储 Logical Disk Manager 在磁盘中的数据库.(LDMDump)
- ListDLLs: 列出当前载入的所有 DLLs 及他们的位置和版本。2.0 版可以显示已载入模组的完整路径名.
- LiveKd: 在live(CD) 系统中使用 Microsoft 内核调试器或MS 内核调试工具Windbg .
用法: livekd [-w] [-d] [-k ] [debugger options] -w Runs windbg instead of Kd (Kd is the default). -d Runs Dumpchk exam instead of Kd (Kd is the default). -k Specifices complete path and filename of debugger image to execute.
- LoadOrder: 查看 WinNT/2K 中设备的载入顺序
- MoveFile: 为下次启动前安排文件的移动和删除操作(PendingFileOperation i.e. HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations)
用法: movefile [来源] [目标] 将目标置空 ("") 表示删除来源.
示例,删除 test.exe: movefile test.exe ""
- LogonSessions: 列出系统中活动的登陆会话.``
- NewSID: 了解有关计算机SID的问题,这是一个 SID 更改程序,为你换一个新的SID.
*详情必读,见此:http://technet.microsoft.com/en-us/sysinternals/bb897418.aspx*
- NTFSInfo: 使用 NTFSInfo 查看有关 NTFS 卷的详细信息, 包括 主文件表 (MFT) 的大小位置和 MFT-zone, 以及 NTFS 元数据文件的大小.

- PageDefrag: (启动时)为页面文件和注册表HIVE文件进行碎片整理.


- PendMoves: 列出延迟到下次启动前执行的文件移动、删除操作

- Portmon: 监视串/并口的数据活动支持所有标准的串并口 IOCTLs 甚至可以显示一部分交换的数据. Version 3.x 增强了对界面和过滤器的改进.

- Process Explorer: 找出进程打开的文件,注册键,以及其他对象,载入的 DLLs和进程所有者等信息。

- Process Monitor: 实时监视文件系统,注册表,进程,线程以及DLL的活动.

- ProcFeatures: 报告进程或窗口对PAE与NX缓冲区溢出保护的支持情况.
- PsTools: PsTools 命令行工具包提供列出本地/远程计算机进程、远程运行进程、重启、转储事件日志、及更多功能.

- PsExec: 以受限用户执行进程.

- PsFile: 查看本地被远程打开的文件.

- PsGetSid: 显示计算机或用户的 SID .

- PsInfo: 获取系统信息.
用法: psinfo [[\\计算机[,计算机[,..] | @文件 [-u 用户 [-p 密码]]] [-h] [-s] [-d] [-c [-t 分隔符]] [过滤器] \\计算机 在指定计算机或远程计算机上执行命令。默认为本机;支持通配符,(\\*)命令将作用于当前域下的所有计算机。 @文件 在文件中指定的计算机上运行命令。 -u (可选)指定登陆远程计算机的用户。 -p (可选)指定用户密码,否则将提示输入. -h 显示已安装的 hotfixes 补丁列表. -s 显示已安装的程序列表. -d 显示磁盘卷信息. -c 按 CSV 格式打印. -t 指定-c 开关使用的分隔符,默认为逗号(,). 过滤器 Psinfo 将仅显示符合过滤器要求的字段信息. 例如 "psinfo service" 仅显示Service Pack字段.
- PsKill: 终止本地或远程进程.
用法: pskill [- ] [-t] [\\computer [-u username] [-p password]] <process name | process id> - 显示可用选项. -t 同时杀死子进程.
- PsList: 显示进程和线程有关的信息.
pslist exp 将显示以表达式exp开头的所有进程的统计信息(来自系统性能计数器),包括Explorer。 -d 显示线程详情. -m 显示内存详情. -x 显示进程内存和线程. -t 显示进程树. -s [n] 运行进程管理器模式,并持续n秒. 按ESC取消. -r n 进程管理器模式刷新率,单位秒 (默认1s). -e 精确匹配的进程名. pid 扫描指定pid的进程.因此: pslist 53 将转储PID为53的进程统计信息.
字段名 # Pri: Priority # Thd: Number of Threads # Hnd: Number of Handles # VM: Virtual Memory # WS: Working Set # Priv: Private Virtual Memory # Priv Pk: Private Virtual Memory Peak # Faults: Page Faults # NonP: Non-Paged Pool # Page: Paged Pool # Cswtch: Context Switches
- PsLoggedOn: 显示已登陆系统的用户
用法: psloggedon [- ] [-l] [-x] [\\computername | username] - 显示可用选项. -l 仅显示本地登陆,默认包含网络登陆. -x 不显示登陆次数.
- PsLogList: 转储事件日志记录.

- PsPasswd: 更改账户密码.

- PsService: 查看设置服务.
Usage: psservice [\\computer [-u username] [-p password]] <command> <options> query 查询服务状态. config 显示服务配置. setconfig 设置启动类型 (disabled, auto, demand). start 启动服务. stop 停止服务. restart 停止并重新启动服务. pause 暂停服务 cont 恢复暂停的服务. depend 列出依赖指定服务的各服务. security 转储服务安全描述信息. find 在网络中搜索指定服务.
- PsShutdown: 关闭或重启电脑.
用法: psshutdown [[\\computer[,computer[,..] | @file [-u user [-p psswd]]] -s|-r|-h|-d|-k|-a|-l|-o [-f] [-c] [-t nn|h:m] [-n s] [-v nn] [-e [u|p]:xx:yy] [-m "message"] - 显示可用选项.
- PsSuspend: 冻结或恢复进程.
用法: pssuspend [- ] [-r] [\\computer [-u username] [-p password]] <process name | process id> - 显示可用项 -r 恢复指定进程.
- RegDelNull: 扫描并删除包含标准注册表编辑器无法删除的内嵌空字符的注册表键.
用法: regdelnull <path> [-s] -s 递归子键.
- RegHide: 使用内置 API 创建名为 "HKEY_LOCAL_MACHINESoftwareSysinternalsCan't touch me!0" 的注册键及在其中创建键值.
- Regjump: 在Regedit中跳转至指定的注册键路径.
用法: regjump [path] 支持根键的标准名或缩写例如: HKEY_LOCAL_MACHINE 可缩写为 HKLM
- Regmon: 实时监视所有注册表活动.

- RootkitRevealer: 扫描系统中基于RootKit的恶意程序.

- SDelete: 兼容发国防部标准的安全删除程序,安全覆盖您的敏感文件并清理已删除文件留下的空闲空间.
用法: sdelete [-p 次数] [-s] [-q] <file or directory> sdelete [-p 次数] [-z|-c] [盘符] -c 0空闲空间 (适于虚拟磁盘优化). -p 次数 指定擦除次数. -s 递归子目录. -q 不显示错误信息 (静默). -z 清理空闲空间. *如大多NT下的软件一样,由于无法定位,SDelete无法处理NTFS中残留的文件名,留下可能的安全隐患*
- ShareEnum: 扫描网络上的文件共享并浏览其安全设置,来发现漏洞.

- Sigcheck: 转储文件版本信息并校验系统中的映像是否经过数字签名.
用法: sigcheck.exe [-a][-h][-i][-e][-n][[-s]|[-v]|[-m]][-q][-r][-u][-c catalog file] <file or directory> -a 显示扩展版本信息 -c 在指定的目录文件(catalog file)中查找签名 -e 仅扫描可执行映像 (忽略扩展名). -h 显示文件HASH -i 显示映像签名者 -m 转储名单 -n 仅显示万恶间版本号 -q 禁止显示本程序版权信息 -r 检查证书吊销 -s 递归子目录 -u 仅显示未签名文件 -v Csv 输出使用逗号分隔的列表文本
例如检查 \Windows\System32 目录中的未签名文件可是使用以下命令: sigcheck -u -e c:\windows\system32 此后您应检查未签名文件的用途.
- Streams: 显示 NTFS 交换数据流
用法: streams [-s] [-d] <file or directory> -s 递归子目录. -d 删除数据流. Streams 支持通配符如 'streams *.txt'.
- Strings: 在二进制映像内搜索 ANSI / UNICODE 字串.
用法: strings.exe [-a] [-b bytes] [-n length] [-o] [-q] [-s] [-u] <file or directory>
Strings 支持文件名的中使用通配符, 其参数如下: -s 递归子目录. -o 显示文件中字串所处的偏移量. -a 仅扫描并搜索 ASCII. -u 仅扫描并搜索 UNICODE. -b bytes 扫描的文件长度. -n X 设置字串的最小长度(字符).
连续在多个文件中搜索同一指定字串请使用以下格式:
strings * | findstr /i 要搜索的字串
- Sync: (释放磁盘写缓存),发送缓存中的数据至硬盘/移动磁盘。
用法: sync [-r] [-e] [盘符列表] -r 释放移动驱动器的缓存. -e 弹出移动驱动器. 指定具体的驱动器 (例如 "c e") 后, Sync 将仅释放这些指定的驱动器.
- TCPView: 活动socket 的观察器.

 其中另附命令行版本的TCPCon 用法与netstat相似
Usage: tcpvcon [-a] [-c] [-n] [process name or PID] -a Show all endpoints (default is to show established TCP connections). -c Print output as CSV. -n Don't resolve addresses..
- VolumeId: 设置 FAT 或 NTFS 驱动器的卷ID
用法: volumeid <盘符:> xxxx-xxxx
*该命令进能在控制台提示符窗口中使用. 对NTSF分区的所有更改将在重启后可见.
- Whois: 查看网址的所有者.``
用法: whois 域名或IP [whois.server]
- Winobj: 对象管理器命名空间的查看利器.

- ZoomIt: 辅助演示工具支持屏幕上进行和画图.

|
|