本文出自 “叶俊生” 博客,请务必保留此出处http://yejunsheng.blog.51cto.com/793131/175814

2003429

MPSRPT_DirSvc.EXE这个工具可以到微软的网站免费下载的  双击MPSRPT_DirSvc.EXE这个工具它就会把当前相关的设定做搜集 搜集完成之后就会自动打包起来  运行之后需要一段时间  其实刚才双击MPSRPT_DirSvc.EXE这个工具 它是一个压缩包  那么你双击它之后它就会把所有的工具解压到一个目录里面  在C:\WINDOWS\MPSReports\DirSvc\Bin路径里面能看到很多工具了 把这些工具打包之后就做成一个mpsrpt.vbs脚本  用记事本来打开它可以看到里面的内容  双击Commands.txt打开它可以看到每个工具到底在做什么 可以看到很多命令行参数  在一些特殊情况下 如果说你的MPSRPT_DirSvc.EXE已经不能运行了 或者运行到某个地方它停下来了  即使你的环境很大 MPSRPT_DirSvc.EXE这个工具一般运行不超过10分钟  那么自动运行完成之后它会生成一个包 它最后会把所有的生成的数据压缩成单独的DC2_MPSReports.CAB 你拿到这个CAB就可以了 然后再把它解压出来就可以了  可以看到里面有很多事件日志
2003430
我已经把安装了PortQryV2.exe这个工具  并且把它的文件夹(PortQryV2)放在C盘里面了  在命令提示符里面输入cd c:\PortQryV2按回车键  输入c:按回车键  输入dir按回车键后就可以看到 EULA.txt  PortQry.exe  readme.txt这几个文件了 那么一般情况下 我们原来不使用PortQry  如果要看端口的话 可以使用netstat -ano按回车键后就可以看到那些端口了  它会告诉你一些情况  比如现在那一台计算机和那一台计算机的端口已经建立了连接 2003431
默认情况下PID是没有被沟上的  按Ctrl+Alt+Del来打开Windows任务管理器  按查看--按选择列--把PID(进程标识符)沟上 按确定 就可以看到PID了  还有一种方法就是使用tasklist这个命令   在命令提示符里面输入tasklist按回车键后也可以看到那些PID  比如说dfssvc  那么现在它的PID是1232  如果你把它的service停止了  再打开它的service  那么它的PID可能会变了  所以原来如果我们需要知道那一个端口后面是那一个应用程序或者那一个service在侦听  我们往往需要用两个命令 一个是前面的netstat-ano  另一个是tasklist  去把它们的PID翻译成名字  这种方法可以用也比较简单  但是用portqry的话会更方便一些
2003432
在命令提示符里面输入portqry -local -v > v.txt按回车键把它导出成为一个v.txt的文本文件  加-local参数表示看本机的 -v参数表示它的输出信息很丰富 包括一些比较复杂的信息   在C:\PortQryV2这个路径里面双击v.txt这个文本文件就可以看到它也有PID
2003433
在命令提示符里面输入portqry -n 192.168.1.2 -p BOTH -e 135 > rpc.txt按回车键把它导出成一个叫做rpc.txt的文本文件 输入portqry -n后面加这台计算机的IP地址或者是计算机名称 我输入192.168.1.2就是我当前这台计算机的IP地址  后面跟-p就是说我发什么样的包去查  可以发udp 也可以发tcp 也可以发BOTH也就是说udp和tcp都发  后面跟-e就是说我要去查那一个端口  比如说我要查135端口 -e后面就加135就可以了 然后输入rpc.txt按回车键来打开刚才生成的文本文件  首先第一个它会把它的IP地址解析成一个计算机名称加域名  那么在135端口注册那一些呢  有很多process  有一项UUID 什么叫UUIP呢 举个例子一个Exchang Server它有很多service 每一个不同的service里面有多个使用rpc的端口 那么它每一个会使用一个唯一的UUID  这个UUID是定死了  就是说在每台计算机里面是一样的 
2003434
比如我知道一台计算机上运行了SQL Server   我想知道SQL Server有没有打最新的补丁 在命令提示符里面输入portqry -n 192.168.1.2 -p BOTH -e 1434 > sql.txt按回车键 因为SQL会使用一个1434端口 所以在-e 后面加1434  输入sql.txt按回车键就可以打开刚才生成的文本文件了 因为我这台计算机没有安装SQL Server所以就看到NOT LISTENING   如果安装了SQL Server的话 可以看到它的版本
2003435                                                   因为我现在已经把PortQryV2这个文件夹放在C盘里面了  所以在命令提示符里面输入cd PortQryV2按回车键 输入dir按回车键后就可以看到EULA.txt  PortQry.exe  readme.txt这三个文件了  有一些时候我们需要对一些端口做监视 比如说我经常发现在某一天一个特定的时间段会有一些莫明其妙的计算机在尝试从我的80端口连接进来做一些我觉得是一些***做的事情 那我就想看谁在连接端口 但是我又不知道它会在什么时候连接过来  怎么办呢?你可以用portqry 它可以监视一个端口  比如说你可以设置每隔2秒就去做一个扫描 在命令提示符里面输入portqry -wport 25  -wt 2按回车键后就可看到Remote IP:Port里面有没有那一台远程计算机用那一个IP使用我们的那个端口连接过来  先输入portqry 比如我要监视25号端口 输入-wport25  输入-wt2表示每隔2秒就再查一次 
2003436
那么还有一种情况 我不想对某一个端口做扫描 我想扫描某一个应用程序  打一个比方说  我在我的计算机的Windows任务管理器的进程里面发现了某一个应用程序  我不知道那个应用程序干嘛的  我也怀疑是什么***工具  我想看看这个应用程序会使用到那些端口 有可能它每次都会变的  那么我就可以针对这个process来做一个定期扫描  比如我现在想扫描一个PID为1820  名称为svchost.exe的程序  在命令提示符里面输入portqry -wpid 1820 -wt 2按回车键  可以看到TCP UDP 都为0 可以知道它现在没有使用什么端口
2003437
假如我现在发现了一个问题客户端无法登录域中  我初步地怀疑是不是联系不上域控制器  我会怎么做呢?  我现在来到WindowsXP客户端 我已经把这台计算机加入yejunsheng.com这个域中了并且把PortQryV2这个文件夹放在C盘了 我先来ping一下那一台域控制器的IP地址看看能不能Ping通 因为我那台域控制器的IP地址是192.168.1.2 所以就ping 192.168.1.2按回车键就可以了 已经可以ping通了 我把这一步省略了 但是还是无法登录 那么这个时候我就怀疑客户端和服务器的LDAP的Service 因为域控器上可能会运行LDAP服务的 它做目录服务的 我怀疑这个目录服务是不是有问题  在命令提示符里面输入cd PortQryV2 按回车键  输入dir按回车键  输入portqry -n 192.168.1.2 -p udp -e 389按回车键  LDAP使用的端口是389端口  现在可以看到非常完整地把对方的LDAP的那些service情况拿到了  可以看到域名为yejunsheng.com 
2003440
首先要安装Windows Server 2003安装光盘里面SUPPORT--TOOLS--SUPTOOLS.MSI这个工具  在命令提示符里面输入netdiag /v 按回车键  一般在netdiag后面加/v参数就可以了  如果你觉得输出信息还不够详细的话  你可以加/debug参数 现在可以看到里面有很多内容了 
2003441
有一些情况下NetBIOS名在有些公司里面不是DNS名的第一块 怎么样知道呢? 在命令提示符里面输入set按回车键  set这个工具会把它当前登录的这台计算机的所有环境变量 域名 NetBIOS  当前登录的用户名  用户profile地址都列出来  这个比较重要的
2003443 首先我在域控制器那台新建一个叫做gpm的文件夹里面存储了几个工具并且对这个文件夹进行共享 对着gpm这个文件夹右键--选择属性--按安全--按添加  把zhangsan这个用户添加在里面 按确定  在gpm这个文件夹里面新建一个文件夹叫做test并且把几个工具复制在test这个文件夹里面  然后我把test这个文件夹复制到Windowsxp这台计算机里面的C盘 对着test这个文件夹右键--选择属性  按安全 可以看到没有zhangsan这个用户  注意:在Windowsxp里面使用RoboCopy这个工具之前先安装Windows Server 2003 Resource Kit这个软件   在命令提示符里面输入robocopy \\dc1\gpm\test c:\test2 /COPYALL按回车键  再打开C盘 对着test2这个文件夹右键--选择属性  按安全  就可以看到zhangsan这个用户了  并且可以看到zhangsan这个用户的权限了 这边看到的设置和在域控制器上的设置是一模一样的 
2003445
首先要安装AdminStudio这个软件  打开AdminStudio  按Tools--双击Repackager   按Repackaging Wizard  接着下一步
2003446
这一步可以看到包装成MSI有两项可以给我们选择    Snapshot是最常用的  就是在安装程序之前它会对你的系统做一个快照  安装完成之后再做一个快照  它根据这个快照做成一个MSI   还有一种是选择Installation Monitoring它监控你安装的过程  比如你修改那些注册表 安装了那些文件 我就选择Installation Monitoring吧  如果选择Snapshot的话可能需要重新启动 比较麻烦  按着下一步
2003447
   我现在就把fgcn_101.exe(网际快车)做成一个fgcn_101.MSI吧   在Product里面填入产品的名称  在Version里面填入产器的版本 接着下一步  
2003448
   那么最后那个包放到那呢?就放在C盘MSI这个文件夹里面吧   按Start
2003449
其实它就是要你把fgcn_101.exe这个程序安装一下    按Process     待会就按完成
2003450
按Repackaged Output    按Build就ok了  
2003451
看到了吗?我现在已经把FlashGet.exe转换成FlashGet.MSI了  那怎么知道这个MSI能不能正常工作呢?  我已经把以前安装的那个FlashGet.exe删除掉了  我现在就是把FlashGet.msi再安装一次   它照样可以像以前安装FlashGet.exe那样正常工作了 
2003454
首先要安装网络监视工具   通过开始--设置--按控制面板--双击添加或删除程序--按添加/删除Windows组件(A)--按管理和监视工具--按详细信息--把网络监视工具沟上--按确定  接着下一步进行安装网络监视工具
2003455
当你打开Microsoft网络监视器后就按捕获   选择网络   那么有的计算机里面安装了多块网卡  你要在那一块网卡上抓你的选项  有的时候你在本地连接里面看得不是很清楚  你可以通过看Mac地址   在命令提示符里面输入ipconfig /all按回车键   可以看到Physical Address为00-0C-29-1D-92-2A这个就是网卡的Mac地址   所以就选择本地连接这块网卡了   按确定
2003456
第二步你还要设置你的缓冲区设置  按捕获--选择缓冲区设置   缓冲区大小默认是1MB  1MB就是说当我在本地的缓存 我抓这个包的大小超过1MB的时候 原来的内容就会被覆盖掉  一般建议设置为10MB  如果我设置成500MB可不可以呢?可以的  但是你的包到了500MB的时候基本上没法看了  而且你需要很强的计算机去打开这个抓的包  一般的包不会超过10MB  我就设置10MB吧  按确定
2003457
首先我在Windowsxp那台计算机用administrator这个用户登录yejunsheng.com这个域中之前先按Microsoft网络监视器里面的三角形一下开始抓包  然后再进行登录   我就是想把这个登录过程抓一下包   可以看到现在已经抓到342帧了  丢失的帧为0  按一下捕获数据键就可以看到抓包的数据了
2003458
按显示--按筛选器--按表达式  我现在只想看两台计算机的通讯  按表达式  按地址  在机器(1)里面按ANY  在机器(2)里面按DC1 按确定后所有跟这两台计算机无关的都过虑掉了 
2003459
当双击一个包后在里面可以看到有一列叫做时间  这个时间有什么用呢? 我们经常发现一个问题 就是当你登录域中的时候很慢  按显示--选择选项--选择前一帧之后的秒数(F)   按确定  可以看到第1帧到第8帧花了快3秒时间  为什么有的包花了这么长时间呢? 你看一下那个包是在做什么  比如这些包都是RPC的 说明RPC的端口可能被封了  因为封了所以你的包老是收不到应答  收不到应答所以你要花很长时间
  2003462
在命令提示符里面输入gpresult /z > gp.txt按回车键 加/z是复杂模式表示输出的信息量很多 如果你用的是Windows Server 2000的话就用gpresult /v > gp.txt按回车键   输入gp.txt按回车键来打开刚才生成的文本文件  可以看到当前的操作系统为Microsoft(R) Windows(R) Server 2003, Enterprise Edition  里面内容很多的  你可以到里面认真地看一下 
2003464
我现在来到Windowsxp这台计算机上  在命令提示符里面输入regedt32按回车键来打开注册表编辑器  在注册表编辑器左下角那个路径里面新建一个DWORD值  数值名称为UserEnvDebugLevel   在数值数据里面输入10002 如果你用的是Windows 2003要变成30002 如果用的是windows server 2000需要重新启动  按确定后就会生成一个日志
2003465
我在Windowsxp这台计算机里面找到C:\WINDOWS\Debug\UserMode这个路径  双击userenv这个文本文档后可以看到很多内容在里面 
2003466
怎么样激活winlogon.log呢? 打开注册表编辑  在注册表编辑器下面那个路径  双击ExtensionDebugLevel这个DWORD值  把它的数值数据修改成2按确定   2003467
在命令提示符里面输入gpotool.exe > gl.txt按回车键  输入gl.txt按回车键来打开刚才生成的文本文件 可以看到里面有那些组策略  gpotool这个工具起什么作用呢? 假设你有多个域控制器 你的组策略其实最后也是操作系统上的一个文件了 用文件复制服务在多个域控制器之间同步 比如说有两台域控制器 由于这两台域控制器之间复制出了问题 你在第一台域控制器里面做了组策略 它没复制到第二台域控制器里面 当你登录的时候你用的域控制器是第二台域控制器的时候 你的组策略已经不会应用了 但是麻烦的时候 你不知道是不是复制出了问题 而且当你的环境比较大的时候  比如说你有很多台域控制器  你怎么知道一条组策略在每台域控制器上都复制好了呢  所以就需要使用gpotool这个工具