随笔-20  评论-13  文章-23  trackbacks-0
  2006年7月11日
专栏作品
Windows管理员的三大心愿之一限制Windows用户的并发登录
陈流浩
NTName %USERNAME% >%TEMP%\LOGONEDPC.TXT ;重定向到logonedpc.txt文件
If not errorlevel 1 goto Logon_OK
For /f %%f in(‘TYPE %TEMP%\LOGONEDPC.TXT’) do @echo 已经登录到%%f %0..\logout.exe
:Logon_OK
CLS
AT (1,1)
If @INWIN = 2          ; 表示客户计算机是Windows 95/98
    $L = "@LSERVER" + "\" + "NETLOGON" + "\" + "WINSET.EXE"
    shell "$L USERNAME=@USERID"
    shell "$L HOMEDRIVE=X:"  ; 你为用户映射的网络驱动器
    shell "$L HOMEPATH=@HOMEDIR"
    shell "$L HOMESHARE=@HOMESHR"
    shell "$L COMPUTERNAME=@WKSTA"
    shell "$L USERDOMAIN=@DOMAIN"
    shell "$L LOGONSERVER=@LSERVER"
    shell "$L USERPROFILE=@HOMESHR"
    shell "$L OS=Windows_98"
    setl "USERNAME=@USERID"
    setl "HOMEDRIVE=X:"
    setl "HOMEPATH=@HOMEDIR"
    setl "HOMESHARE=@HOMESHR"
    setl "COMPUTERNAME=@WKSTA"
    setl "USERDOMAIN=@DOMAIN"
    setl "LOGONSERVER=@LSERVER"
    setl "USERPROFILE=@HOMESHR"
    setl "OS=Windows_98"
endif
If @WKSTA <> "@LSERVER"      ; 如果客户的工作站不是这台计算机
    settime "@LSERVER"      ; 把工作站的时间设置成服务器时间
endif
use X: "@HOMESHR"      ;这是Kixtart中自带的Net use命令
$S = "@LSERVER" + "\" + "NETLOGON" + "\" + "users.txt"
IF INGROUP("users") and EXIST("$S")
    Display "$S"
    AT (23,1) "按任何键继续"
    GET $A
endif
$B = "@LSERVER" + "\" + "NETLOGON" + "\" + "LOGBAT.BAT"
shell "$B"     
CLS
BIG
$X = 1
DO
    COLOR w/n
    AT ( $X,$X*2 ) "@USERID"
    $X = $X+1
    UNTIL $X = 6
COLOR g+/n
AT ( $X,$X*2 ) "@USERID"
sleep 3
AT (23,0)
SMALL
$K=”@LSERVER”+”\”+”NETLOGON”+”\”+Onlyonce.txt”
$J=”x:\”+”@USERID”+”.txt”
if exist(“J$”)
goto done
endif
CLS
Display “$K”
Sleep 3
$RC=shutdown(“”,”正在关闭系统!”,0,1,0)
:done
cookie1 ; 需要通知Windows 98计算机当通过LMSCRIPT时脚本已经运行完毕
exit
posted @ 2006-07-11 12:51 海之蓝 阅读(311) | 评论 (0)编辑 收藏
解开拒绝本地登录的“死结”

目录
  • 前言
  • 被域策略拒绝本地登录时的解决办法
  • 被本地安全策略拒绝本地登录时的解决办法
  • secedit简介
  • 补充说明
  • 参考资料
  • 关于作者

前言
在Windows 2000环境下,被组策略拒绝本地登录一直是件比较令人头疼的事情。本文将介绍一种所有用户都被拒绝本地登录后的解决方法。
在Windows2000中,如果某个用户被取消了本地登录权限,当这个用户本地登录计算机时,系统就会提示"此系统的本地策略不允许您采用交互式登录",导致登录失败。遇到这种情况,通常请管理员在组策略中重新设置一下,将该用户从"拒绝本地登录"列表中删除或添加到"在本地登录"列表中即可。但如果因为操作失误或其它方面的原因,我们将所有用户的本地登录权限都禁止了(通常是禁止了users组(非域环境下)或domain users组(域环境下)),那就有点麻烦了。这种情形看起来像一个解不开的"死结":要解除禁止本地登录的组策略设置,必须以管理员身份本地登录;要以管理员身份本地登录,就必须先解除禁止本地登录的组策略设置。
但实际上,事情并没有我们想象的那么糟。经过查询相关资料和测试,我发现借助网络的帮助,这个"死结"还是可以解开的。因为域安全策略与本地安全策略的数据保存机制不同,下面分两种情况分别进行说明。

被域策略拒绝本地登录时的解决办法
域策略的安全设置部分都保存在一个名为"GptTmpl.inf"的安全模板中,这是一个文本文件,存放在DC(域控制器)的SYSVOL(物理目录指向DC的“c:\winnt\sysvol\sysvol")共享中。要解除对所有用户本地登录限制,在不能本地登录的情况下,最快捷的办法可能就是直接编辑这个文本文件。
具体操作如下:
  • 在另一台计算机(Win9X/2000/XP均可)上,使用域管理员账号连接到DC的SYSVOL共享,在"\\<DC name>\sysvol\<Domain name>\Policies\<policy GUID>\MACHINE\Microsoft\Windows NT\SecEdit"下找到该文本文件"GptTmpl.inf"。(路径中的"DC name"是你放置该组策略的域控制器的名字,"Domain name"是你的域的名字,"Policy GUID"是你要编辑的组策略对象的GUID,类似于"{31B2F340-016D-11D2-945F-05C04FB98439}")。
  • 使用记事本打开"GptTmpl.inf"文件,找到文件中"Privilege Rights"小节下的 "SeDenyInteractiveLogonRight"关键字,它的值就是被拒绝本地登录的用户或组的SID,将这些SID删除,使 "SeDenyInteractiveLogonRight"关键字的值为空。修改完毕将文件保存回原位置。
  • 使用记事本打开位于"\\<DC name>\sysvol\<Domain name>\Policies\<policy GUID>"下的 "GPT.INI"文件,提高"General"小节下的"Version"关键字的值,通常是加1000。这是我们修改的这个组策略对象的版本号,版本号提高后可以保证我们的更改被复制到其它DC上。修改完毕将文件保存回原位置。
  • 域策略刷新后,问题即告解决。
  • 本地登录DC重新设置域策略中的相关项目。

被本地安全策略拒绝本地登录时的解决办法
由于在Windows2000中,不支持对计算机本地策略的安全设置部分进行远程管理(详见组策略白皮书),而且本地安全策略的安全设置通常存放在一个二进制的安全数据库secedit.sdb中,这个安全数据库的结构我们无从知道,因此象第一部分那样直接编辑secedit.sdb文件的办法是无能为力了,我们需要采用迂回进攻的策略,"曲线救国"。
具体操作如下:
  • 假设故障计算机的IP地址是"192.168.0.111"。在另一台计算机(Windows9X/2000/XP均可)上,使用"Telnet 192.168.0.111"命令使用管理员账号连接到故障计算机。(如果故障计算机的telnet"服务没有启动,可以通过网络使用"服务"MMC启动,具体方法不在详述)
  • 通过telnet在故障计算机上执行"net share tmp$=d:\tmp"命令,将故障计算机上的"d:\tmp"隐藏共享为"tmp$",共享权限缺省是everyone完全控制(此时要特别注意网络安全)。当然你也可以共享其它的目录。
  • 通过telnet在故障计算机上执行"secedit /export /CFG d:\tmp\sec.inf"命令,将故障计算机的本地安全策略配置导入"d:\tmp\sec.inf"安全模板文件中,这是一个文本文件。
  • 连接到故障计算机上的tmp$共享,用记事本打开共享文件夹中的"sec.inf"文件。找到文件中"Privilege Rights"小节下的“SeDenyInteractiveLogonRight"关键字,它的值就是被拒绝本地登录的用户或组的SID,将这些SID删除,使"SeDenyInteractiveLogonRight"关键字的值为空或者是随便另设置一个无关的值。文件修改完毕保存回原位置。
  • 通过telnet在故障计算机上执行"secedit /configure /db c:\secedit.sdb /CFG d:\tmp\sec.inf"命令,使用新的安全模板和安全数据库重新配置故障计算机的本地安全策略。
  • 通过telnet在故障计算机上执行"secedit /refreshpolicy machine_policy /enforce"命令,强制在故障计算机上刷新策略设置,问题即告解决。
  • 本地登录故障计算机后,删除我们建立的Tmp$共享,重新设置本地安全策略中的相关项目。

secedit简介
secedit.exe,Windows2000自带的自动化安全配置任务命令行工具,功能强大。我们可以用它来分析系统的安全性、配置系统安全性、刷新安全性设置、导出安全性设置和验证安全配置文件。它的具体用法请使用"secedit /?"查看其帮助文件。

补充说明
上面所说的两种方法,都是以有权限用户(如管理员)没有被禁止从网络登录为前提的,如果你的策略把从网络登录也禁止了,让故障计算机成了真正的"孤家寡人",那问题解决起来要麻烦的多,但同样不是一个解不开的"死结"。具体的解决办法,我会另具文说明,在此不再细说。

参考资料
  • 参考资料1:微软KB数据库文章Q226243、Q257346、Q267553。
  • 参考资料2:微软msnews新闻组microsoft.public.win2000.setup、security和general。
  • 参考资料3:Windows2000中文帮助。
posted @ 2006-07-11 12:50 海之蓝 阅读(315) | 评论 (0)编辑 收藏

WinXP SP2与P2P

第一个问题:ICF(albatross@dRL)

SP2的ICF有两大改进,一个是支持自反型连接,也即是程序的动态端口使用,一个就是默认关闭非认证端口,这次的修改就是打开原本关闭非认证端口的设置,效果就像是原来的ICF+动态端口支持,理论上来说安全性是有所下降,但以前的ICF下有多少被攻破的概率呢?我认为个人用的话这样的安全级也就够了,毕竟对于个人来说应用第一。如果是用来做服务器的系统还是不要改了。

速度的变化大还是小要看你用的是哪一类软件,同样的协议有不同的软件,工作方式也有所不同,我的速度是用BitComet测出的,其它的软件没有对比过,不过只要是有外部发起的连接的情况就必定有影响,在BitComet中很清楚,不改的时候,可用连接数有100多,连接上了40多,但速度是0,慢慢的原本连接上的数目也越来越少,都超时断开了,这一情况也可以用 netstat -a 来监测,很清楚的。

SP2的增强了的网络安全性上!它对于从外部发起的对本机的连接进行的限制,只有认证了的端口如135、21这类的才给予放行,而对于不定端口的连接则全部丢弃,而这类连接却是前面所提到的应用所要用到的!那怕你禁用防火墙的功能或是在防火墙里把BT这类软件添加到允许列表也不成,因为这个允许是从内向外的,而不是从外向内的!

怎么办呢?有办法,下面请各位先做下准备:

  • 去微软官方 下载GetSid.exe
  • 安装这个程序,默认安装在 c:\program files 下面
  • 运行 CMD

进入:c:\program files\Resource Kit\目录,
运行:getsid.exe \\xx yy \\xx yy
(说明:xx=你的主机名,yy=你的用户名),例如:我的主机名=xp 用户名=bill[补充说明:因为一台XP上可能有不同的用户隶属于不同的权限组,所以定义本机(local machine)比较好!适用于全部本地用户,直接用\\xx xx这个参数就行了]运行结果如下:

				
						
								
										C
								
								
										:\
								
								
										Program Files
								
								
										\
								
								
										Resource Kitget
								
								
										\
								
								
										sid
								
								
										.
								
								
										exe
								
								
										 \\
								
								
										xp xp
								
								
										 \\
								
								
										xp xp
								
						
				
		
				
						
								
										The SID 
								
								
										for 
								
								
										account Xp
								
								
										\
								
								
										xp matches account Xp
								
								
										\
								
								
										xp
								
						
				
		
				
						
								
										The SID 
								
								
										for 
								
								
										account Xp
								
								
										\
								
								
										xp is S
								
								
										-
								
								
										1
								
								
										-
								
								
										5
								
								
										-
								
								
										21
								
								
										-
								
								
										1060284298
								
								
										-
								
								
										2147108755
								
								
										-
								
								
										854245398
								
						
				
		
				
						
								
										The SID 
								
								
										for 
								
								
										account Xp
								
								
										\
								
								
										xp is S
								
								
										-
								
								
										1
								
								
										-
								
								
										5
								
								
										-
								
								
										21
								
								
										-
								
								
										1060284298
								
								
										-
								
								
										2147108755
								
								
										-
								
								
										854245398
								
						
				
		

然后在命令行窗口点右键,选标记,把
S-1-5-21-1060284298-2147108755-854245398选中,然后按回车

  • 运行里输入 gpedit.msc ,打开项目:计算机配置 / 管理模板 / 网络 / 网络连接 /Windows 防火墙 / 允许通过验证的 IPSec 旁路
    选中启用,在空行里填入: O:DAG:DAD:(A;;RCGW;;;S-1-5-21-1060284298-2147108755-854245398)
  • 确定,关闭组策略编辑器,关闭 CMD 窗口,打开 BT 软件,试一下吧 !

第二个问题:tcpip.sys(Syllable@CCF)

先参看这篇文章并下载该补丁(英语及德语,注意程序默认是Patch为50并发,可以在CMD中用-?参数来定义取值范围)

SP2后修改注册表或者替换tcpip.sys都无法解除tcp并发线程的限制。根本原因是因为sp2建立了Service Pack 2 OOB Messages动态链接库,实时监控每一个进程的并发线程数目,只要超过了它认为的安全线程数目就开始蔽屏掉部分线程。这是为了防止震荡波这类的蠕虫病毒,但是bt、emule这类的多线程的点对点工具也一起陪绑了,对于注册表的说明 微软有个说明在这里

				
						
								
										TcpNumConnections
								
								
										
												
												
										
								
						
				
		
				
						
								项:
								
										TcpipParameters
								
								
										
												
												
										
								
						
				
		
				
						
								数值类型:
								
										REG_DWORD
								
								
										 数字
								
						
				
		
				
						
								有效范围:
								
										0
								
								
										 - 
								
								
										0
								
								
										xfffffe
								
								
										
												
												
										
								
						
				
		
				
						
								默认值:
								
										0
								
								
										xfffffe
								
								
										
												
												
										
								
						
				
		
				
						
								说明:此参数限制 
								
										TCP
								
								
										 能同时打开的最大连接数。
								
						
				
		

sp2的并发网络限制不是在这个上面,而是在动态连接上面,所以上面的那个补丁是来破解动态的限制的,的确有很多人没有遇到这个问题,但是有很多的人在开了BT、EM之后连网页都打不开,或者速度极慢,用这个可以破解。

 

posted @ 2006-07-11 12:48 海之蓝 阅读(409) | 评论 (0)编辑 收藏
  2006年7月4日


  近日在书上看到一篇控制用户运行程序的文章,该书提到在组策略中设置“只运行许可的Windows应用程序”,可以限制某些程序不能运行,笔者将该配置设为“启用”后,结果导致所有程序都不能运行(包括“gpedit”和“regedit”)。

  经笔者潜心研究,找出了完美解决该问题的方法:首先重启计算机,按F8键进入“带命令行的安全模式”,以超级管理员身份输入密码登录,然后输入“regedit”后回车,打开注册表编辑器,依次展开HKEY_CURRENT_USER\software\microsoft\ windows\CurrentVersion\PolicIEs\Explorer分支,将右侧窗口中的“RestrictRun”键值修改为“0”。然后退出注册表编辑器,重启计算机即可解除程序锁定。最后在正常模式下以管理员身份登录系统,打开组策略,将设置改回为“未配置”即可。
posted @ 2006-07-04 13:19 海之蓝 阅读(277) | 评论 (0)编辑 收藏
  2006年6月21日

好久没有来了啊,原来弄BLOG也要花时间经营的。最近工作真忙啊,什么时候能清闲点就好了!!

以后还要经常更新自己的BLOG,希望新到的朋友来捧场!   

posted @ 2006-06-21 15:58 海之蓝 阅读(172) | 评论 (0)编辑 收藏
  2006年5月9日
查看当前*作主机角色持有者
要查看当前*作主机角色持有者,通过 roles 选项使用 Ntdsutil.exe。此选项列出所有当前角色持有者。


• 工具:Ntdsutil.exe(系统工具)


过程步骤

查看当前*作主机角色持有者

1.
在 Run 文本框中,键入 ntdsutil ,然后按 ENTER。

2.
在 ntdsutil: 提示符下,键入 roles ,然后按 ENTER。

3.
在 fsmo maintenance: 提示符下,键入 connections ,然后按 ENTER。

4.
在 server connections: 提示符下,键入 connect to server servername (其中 servername 是属于包含*作机主的域的域控制器名)。

5.
收到连接确认后,键入 quit 然后按 ENTER 退出此菜单。

6.
在 fsmo maintenance: 提示符下,键入 select operation target ,然后按 ENTER。

7.
在 select operations target: 提示符下,键入 list roles for connected server ,然后按 ENTER。

系统响应,列出当前角色以及当前分派托管每一角色的域控制器的轻型目录访问协议 (LDAP) 名。

8.
键入 quit 然后按 ENTER 退出 Ntdsutil.exe 的每一提示符。键入 quit ,然后在 ntdsutil: 提示符下按 ENTER 关闭窗口。
posted @ 2006-05-09 17:36 海之蓝 阅读(274) | 评论 (0)编辑 收藏

FTP命令使用大全
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操 作系统下使用FTP,都会遇到大量的FTP内部命令。 熟悉并灵活应用FTP的内部 命令,可以大大方便使用者,并收到事半功倍之效。c FTP的命令行格式为: ftp -v -d -i -n -g [主机名] ,其中
-v 显示远程服务器的所有响应信息;
-n 限制ftp的自动登录,即不使用;
.n etrc文件;
-d 使用调试方式;
-g 取消全局文件名。

ftp使用的内部命令如下(中括号表示可选项):

1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如: !ls*.zip.
2.$ macro-ame[args]:执行宏定义macro-name.
3.account[password]:提供登录远程系统成功后访问系统资源所需的补 充口令。
4.append local-file[remote-file]:将本地文件追加到远程系统主机, 若未指定远程系统文件名,则使用本地文件名。
5.ascii:使用ascii类型传输方式。
6.bell:每个命令执行完毕后计算机响铃一次。
7.bin:使用二进制文件传输方式。
8.bye:退出ftp会话过程。
9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10.cd remote-dir:进入远程主机目录。
11.cdup:进入远程主机目录的父目录。
12.chmod mode file-name:将远程主机文件file-name的存取方式设置为 mode,如:chmod 777
a.out 。
13.close:中断与远程服务器的ftp会话(与open对应)。
14.cr:使用asscii方式传输文件时,将回车换行转换为回行。
15.delete remote-file:删除远程主机文件。
16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命 令,如: deb up 3,若设为0,表示取消debug。
17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本 地文件local-file。
18.disconnection:同close。
19.form format:将文件传输方式设置为format,缺省为file方式。
20.get remote-file[local-file]: 将远程主机的文件remote-file传至 本地硬盘的local-file。
21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名, 同命令行的-g参数。
22.hash:每传输1024字节,显示一个hash符号(#)。
23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
25.image:设置二进制传输方式(同binary)。
26.lcd[dir]:将本地工作目录切换至dir。
27.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本 地文件local-file。
28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结 束。
29.mdelete[remote-file]:删除远程主机文件。
30.mdir remote-files local-file:与dir类似,但可指定多个远程文件, 如: mdir *.o.*.zipoutfile 。
31.mget remote-files:传输多个远程文件。
32.mkdir dir-name:在远程主机中建一目录。
33.mls remote-file local-file:同nlist,但可指定多个文件名。
34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方 式。
35.modtime file-name:显示远程主机文件的最后修改时间。
36.mput local-file:将多个文件传输至远程主机。
37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同 名文件的时间更近,则重传该文件。
38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并 存入本地硬盘的local-file。
39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输 时,文件中的某些字符相互转换,如:nmap $1.$2.$3&1,$2;.&2,$3;,则 传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX 机的情况。
40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR。
41.open host[port]:建立指定ftp服务器连接,可指定连接端口。
42.passive:进入被动传输方式。
43.prompt:设置多个文件传输时的交互提示。
44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许 连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open, 以首先建立两个服务器间的连接。
45.put local-file[remote-file]:将本地文件local-file传送至远程主 机。
46.pwd:显示远程主机的当前工作目录。
47.quit:同bye,退出ftp会话。
48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如: quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:类似于get,但若local-file存在, 则从上次传输中断处续传。
51.rhelp[cmd-name]:请求获得远程主机的帮助。
52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否 则显示文件状态。
53.rename文章出处:bbs.nju.edu.cn[to]:更改远程主机文件名。
54.reset:清除回答队列。
55.restart marker:从指定的标志marker处,重新开始get或put,如: restart 130。
56.rmdir dir-name:删除远程主机目录。
57.runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀 .1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:设置PORT命令的使用。
60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。
61.size file-name:显示远程主机文件大小,如:site idle 7200。
62.status:显示当前ftp状态。
63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时 使用stream结构。
64.sunique:将远程主机文件名存储设置为唯一(与runique对应)。
65.system:显示远程主机的操作系统类型。
66.tenex:将文件传输类型设置为TENEX机的所需的类型。
67.tick:设置传输时的字节计数器。
68.trace:设置包跟踪。
69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如: type binary,设置二进制传输方式。
70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如: umask 3。
71.user user-name[password][account]:向远程主机表明自己的身份, 需要口令时,必须输入口令,如:user anonymous my@email
72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有 响应都将显示给用户,缺省为on.
73.?[cmd]:同help. 梦雨紫轩

COPY命令的用法

1.这个是操作系统提供的帮助,都说这是个简单的命令

E:\>copy /?
将一份或多份文件复制到另一个位置。

COPY [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]

source 指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。
destination 为新文件指定目录和/或文件名称。
/V 验证新文件写得正确。
/N 当复制一份带有非 8dot3 名称的文件,
如果可能的话,使用短文件名。
/Y 取消提示以确认您希望改写
一份现存目录文件。
/-Y 引起提示确认您想改写一份
现存目标文件。
/Z 用可重新启动模式复制已联网的文件。

命令选项 /Y 可以在 COPYCMD 环境变量中预先设定。
这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批文件脚本中执行的,默认应为
在改写时提示。

要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)。

2. COPY /B 选项

一旦文件保存以后,文件的日期和时间就写到文件中,可以用dir /t来查看这个日期和时间。
我们可以通过copy命令来更改这个日期和时间,命令格式如下:
C:\>COPY /B filename+,,
如果要将当前的时间和日期指派给文件而不修改文件,你就可以使用这个命令。

顺便说一下,如果你不想将时间日期更改为今天的日期时间,你可以用DATE和TIME命令将日期和时间修改成必要的时刻。
然后用"C:\>COPY /B+,,"修改,然后别忘了把时间改回来。

3.合并选项

  一般情况下,它主要用于合并相同类型的文件,比如将两个文本文件合并为一个文本文件、将两个独立的MPEG视频文件合并为一个连续的视频文件等。那么,如果用它合并两个不同类型的文件,结果会怎样呢?

 比如你有一段私人信息要隐藏起来,请先录入并保存为文本文件,假设保存为001.txt。另找一个非文本文件,最好为图片文件或可执行文件。以图片文件为例,假设它的文件名为002.jpg。如果把它们都放到D盘根目录下,那么在Windows的MS-DOS方式

下执行以下命令:

  d:\Copy 002.jpg/b + 001.txt/a 003.jpg

  其中参数/b指定以二进制格式复制、合并文件;参数/a指定以ASCII格式复制、合并文件。
这里要注意文件的顺序,二进制格式的文件应放在加号前,文本格式的文件放在加号后。

  执行该命令后,生成了一个新文件003.jpg。回到Windows中用图片浏览软件打开这个它,你会发现它与002.jpg的显示结果一模一样。然后用记事本打开003.jpg,你看到什么了?一堆乱码吗?没错!但如果你按下Ctrl+End键将光标移至文件的尾部,你再看看!是不是001.txt文件中的内容?

  按照这种方法,你可以轻松地把一些重要信息隐藏起来,比如用户ID、密码、重要私人信息等。

  有一点要提醒大家:就是这个文本文件的前面最好空上3行以上,这样它头部的内容就不会丢失。这主要是由于WINDOWS的文件保留块处理的问题,类似的UNIX命令是DD.

记不记得有的光盘打开看都是图片,可是用指定的浏览器就可以看到其他的东西,其实没有什么神秘的,我们也可以试试看。

4.COPY CON
COPY CON,拷贝一个DOS设备。
COPY CON filename
这个命令将保存接下来的输入到文件中。
DOS有很多设备,CON指屏幕和键盘.

同样,你可以用COPY命令把文件输出到屏幕上
COPY filename CON
这个命令类似于UNIX上VI的部分功能

5.COPY时在文件名上附加时间

有人问过COPY时怎么附加时间到文件上,可以这样实现
C:\>COPY filename filename%date:~4,10%
类似的你可以试试
C:\>MD %date%
C:\>MD %date:~4,10%
C:\>MD %date:~0,3%
看看你需要什么。

DATE命令的用法粗解
DATE命令的用法

1.系统帮助
C:\>date /?
显示或设置日期。

DATE [/T | date]

仅键入 DATE 而不加参数,可以显示当前日期设置,并且提示
您输入新的日期。按 ENTER 键即可保持原有日期。

如果命令扩展名被启用,DATE 命令会支持 /T 命令选项;该命令选项告诉
命令只输出当前日期,但不提示输出新日期。

2.DATA /T 参数说明

此参数输出当前日期,例如:

C:\>DATE /T
2002-10-28 星期一

这个日期格式可能不同与环境变量中的日期格式,如

C:\>echo %DATE%
星期一 2002-10-28

用for命令,可以组合出不同的表达,例如:

C:\>for /f "tokens=1,2" %a in ('date/t') do set date=%a

C:\>set date=2002-10-28
这条语句所做的的就是在date/t中取出不含星期的部分。

我们可以用更简单的命令得出相同的结果,如:

C:\>echo %DATE%
星期一 2002-10-28

C:\>echo %DATE:~4,10%
2002-10-28

如果想在批处理中以日期建立文件夹或者文件名都可以简单的做到了,如

C:\>mkdir %DATE:~4,10%
C:\>dir 2*
驱动器 C 中的卷是 本地磁盘
卷的序列号是 402A-3A7E

C:\ 的目录

2002-10-28 19:34 <DIR> 2002-10-28
0 个文件 0 字节
1 个目录 79,282,176 可用字节

C:\>copy mylist mylist%DATE:~4,10%
已复制 1 个文件。

C:\>dir my*
驱动器 C 中的卷是 本地磁盘
卷的序列号是 402A-3A7E

C:\ 的目录

2002-09-15 10:00 38 mylist
2002-09-15 10:00 38 mylist2002-10-28
3 个文件 446 字节
0 个目录 79,282,176 可用字节

这对于Oracle中的某些自动操作是很有用的。

可以看到,通过简单的DOS命令的组合,我们可以做到很多看似复杂的事情,只是我们的思维

并不总是能够到达那里。

3.关于%DATE:~4,10%的格式

这个命令的意思就是在DATE的输出中,取4-10中间的字符。
对于不同的机器,可能有不同的时间格式,这个可以在控制面板里设置。
可以通过ECHO命令察看当前设置,如:

C:\>echo %DATE%
星期一 2002-10-28

当然,我们可以同样取到星期的值:

C:\>echo %DATE:~0,3%
星期一

当然也可以从不同方向来:

C:\>echo %DATE:~-10%
2002-10-28

C:\>echo %DATE:~0,-10%
星期一

NBTSTAT和NETSTAT这两个命令有什么区别?

--------------------------------------------------------------------------------

icech搜集 2002-8-12 20:44:58 pchome.net

netstat和nbtstat可以说都是Windows下的网络检测工具,他们的输入形式很相似而且都是需要在安装了TCP/IP协议以后才可以使用的,但两者的功能却不同。首先我们来看看netstat这个命令:
C:\>netstat -h

Displays protocol statistics and current TCP/IP network connections.
显示协议统计和当前的 TCP/IP 网络连接。

NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]

-a Displays all connections and listening ports.
显示所有连接和侦听端口。
此命令可以显示出你的计算机当前所开放的所有端口,其中包括TCP端口和UDP端口。有经验的管理员会经常的使用它,以此来查看计算机的系统服务是否正常,是否被“黑客”留下后门,木马等。比如说我就有一个习惯,在刚刚装了系统配置好服务器以后我就会运行一下netstat -a看看系统开放了什么端口,并记录下来,以便以后作为参考使用,当发现有不明的端口时就可以及时的做出对策。由于这个参数同时还会显示出当前计算机有什么人的IP正连接着你的服务器,所以也是一种实时入侵检测工具,如发现有个IP连接着不正常的端口,你也可以及时做出有效对策。示例:
C:\>netstat -a

Active Connections

Proto Local Address Foreign Address State
TCP iceblood:ftp iceblood.yofor.com:0 LISTENING
TCP iceblood:telnet iceblood.yofor.com:0 LISTENING
TCP iceblood:smtp iceblood.yofor.com:0 LISTENING
TCP iceblood:http iceblood.yofor.com:0 LISTENING
TCP iceblood:https iceblood.yofor.com:0 LISTENING
………………
TCP iceblood:1171 iceblood.yofor.com:3306 ESTABLISHED
TCP iceblood:ms-sql-s iceblood.yofor.com:0 LISTENING
TCP iceblood:3306 iceblood.yofor.com:1171 ESTABLISHED
………………
UDP iceblood:ms-sql-m *:*
UDP iceblood:4000 *:*
UDP iceblood:4001 *:*
UDP iceblood:4002 *:*
从上面的情况就可以知道我的计算机现在开放的TCP端口有ftp(21),telnet(23),smtp(25),http(80),https(443),1171连接着自己的mysql(3306),ms-sql-s(1433),UDP端口有ms-sql-m(1433),4000-4002都是我的OICQ。:P

-e Displays Ethernet statistics. This may be combined with the -s option.
显示以太网统计。该参数可以与 -s 选项结合使用。
这个参数正如所说的,将在下面再跟大家说。

-n Displays addresses and port numbers in numerical form.
以数字格式显示地址和端口号(而不是尝试查找名称)。
大家如果只输入netstat的话就会看见如下类似的结果:
C:\>netstat

Active Connections

Proto Local Address Foreign Address State
TCP iceblood:1171 iceblood.yofor.com:3306 ESTABLISHED
TCP iceblood:3306 iceblood.yofor.com:1171 ESTABLISHED
TCP iceblood:1219 202.109.72.40:6667 ESTABLISHED
TCP iceblood:3566 SERVER-2:microsoft-ds ESTABLISHED
你会发现这些和netstat -a有相同的地方,只不过netstat可以很清楚的列举出来当前和你连接的所有计算机,在Local Address和Foreign Address里你也发现大多数给出的只是计算机NetBios名,却还是不知道当前和你连接的IP,但如果你加上-n参数就不同了,示例如下:
C:\>netstat -n

Active Connections

Proto Local Address Foreign Address State
TCP 127.0.0.1:1171 127.0.0.1:3306 ESTABLISHED
TCP 127.0.0.1:3306 127.0.0.1:1171 ESTABLISHED
TCP 192.168.1.21:1219 202.109.72.40:6667 ESTABLISHED
TCP 192.168.1.21:3566 192.168.1.3:445 ESTABLISHED
TCP 192.168.1.21:3577 202.107.208.187:110 TIME_WAIT
TCP 192.168.1.21:3578 192.168.1.24:445 ESTABLISHED
看!是不是很明了了?对方的IP全部都出来了。其实-n参数其实也就是告诉netstat不解析对方计算机的NetBios名。

-p proto Shows connections for the protocol specified by proto; proto may be TCP or UDP. If used with the -s option to display
per-protocol statistics, proto may be TCP, UDP, or IP.
显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp udp、icmp 或 ip。
这个参数你可以指定查看什么协议的连接状态,比如我想查看当前计算机正在连接的所有TCP端口,示例如下:
C:\>netstat -p tcp

Active Connections

Proto Local Address Foreign Address State
TCP iceblood:1171 iceblood.yofor.com:3306 ESTABLISHED
TCP iceblood:3306 iceblood.yofor.com:1171 ESTABLISHED
TCP iceblood:1219 202.109.72.40:6667 ESTABLISHED
…………

-r Displays the routing table.
显示路由表的内容。
这个没有特别的,可以输入netstat -r以后自己研究。

-s Displays per-protocol statistics. By default, statistics are shown for TCP, UDP and IP; the -p option may be used to specify a subset of the default.
显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。
这个参数让我们来配合-e来使用。
C:\>netstat -s -e
Interface Statistics

Received Sent

Bytes 505385542 41745793
Unicast packets 150106 150547
Non-unicast packets 313008 807
Discards 0 0
Errors 0 0
Unknown protocols 327149

IP Statistics

Packets Received = 379906
Received Header Errors = 0
Received Address Errors = 215043
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 166002
Output Requests = 151620
Routing Discards = 0
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures = 0
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0

TCP Statistics

Active Opens = 1556
Passive Opens = 1
Failed Connection Attempts = 4
Reset Connections = 143
Current Connections = 4
Segments Received = 141243
Segments Sent = 140462
Segments Retransmitted = 477

UDP Statistics

Datagrams Received = 15125
No Ports = 9634
Receive Errors = 0
Datagrams Sent = 10628
看!嘿嘿!你的网络基本状态都在这里面,比如你接受了多少数据包,多少字节,有多少TCP端口打开,有多少UDP端口打开,太丰富了……这些就留给各位高手自己慢慢琢磨去了。

interval Redisplays selected statistics, pausing interval seconds between each display. Press CTRL+C to stop redisplaying statistics. If omitted, netstat will print the current configuration information once.
重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。
这个就是自己定义检查网络状况的时间的参数,比如我想每过10秒检查一次我的计算机当前TCP连接的状态你就输入netstat 10 -p tcp这样netstat就会每过10秒就把你所有的TCP端口检查一次。

--------------------

C:\>nbtstat
Displays protocol statistics and current TCP/IP connections using NBT (NetBIOS over TCP/IP).
该诊断命令使用 NBT(TCP/IP 上的 NetBIOS)显示协议统计和当前 TCP/IP 连接。

NBTSTAT [ [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [interval] ]

-a (adapter status) Lists the remote machine\''s name table given its name
使用远程计算机的名称列出其名称表。
此参数可以通过远程计算机的NetBios名来查看他的当前状态。示例
C:\>nbtstat -a iceblood

本地连接:
Node IpAddress: [192.168.1.2] Scope Id: []

NetBIOS Remote Machine Name Table

Name Type Status
---------------------------------------------
ICEBLOOD <00> UNIQUE Registered
WORK <00> GROUP Registered
ICEBLOOD <20> UNIQUE Registered
WORK <1E> GROUP Registered
ICEBLOOD <03> UNIQUE Registered
ICEBLOOD$ <03> UNIQUE Registered
LIU_ICEBLOOD <03> UNIQUE Registered

MAC Address = 00-D0-09-52-91-DC
看见了?从上面就可以知道我的计算机当前计算机的NetBios名为iceblood属于work组或域,当前有liu_iceblood登陆的该计算机,嘿嘿~全都出来了。当然你也可以把计算机名换为IP也就是netstat -a 192.168.1.21,效果和上面的一样。这就有点像UNIX/Linux的finger了,如果你经常去netstat -a一台NT主机,你也可以收集到一些对方计算机中的用户列表了。

-A (Adapter status) Lists the remote machine\''s name table given its IP address.
使用远程计算机的 IP 地址并列出名称表。
这个和-a不同的是就是这个只能使用IP,其实-a就包括了-A的功能了,我也不再介绍。

-c (cache) Lists NBT\''s cache of remote [machine] names and their IP addresses
给定每个名称的 IP 地址并列出 NetBIOS 名称缓存的内容。
这个参数表示的是在你的NetBIOS里缓存的你连接过的计算机的IP。示例:
C:\>nbtstat -c

本地连接:
Node IpAddress: [192.168.1.21] Scope Id: []

NetBIOS Remote Cache Name Table

Name Type Host Address Life [sec]
------------------------------------------------------------
WORK <20> UNIQUE 192.168.1.20 597
从上面就可以知道你刚刚和IP为192.168.1.20的计算机的NetBIOS连接过。而这个命令也提供给了“黑客”在入侵了对方的主机以后进而入侵到内部网的一个有利的线索。因为NetBIOS的Cache里储存的IP是对方已经信任你的计算机的IP。聪明的“黑客”当然也会从这个方便的地方入手了。

-n Lists local NetBIOS names.
列出本地 NetBIOS 名称。
此参数和netstat -a类似,只是这个是检查本地的,如果把netstat -a后面的IP换为自己的就和netstat -n的效果是一样的了。

-r Lists names resolved by broadcast and via WINS
列出 Windows 网络名称解析的名称解析统计。在配置使用 WINS 的 Windows 2000 计算机上,此选项返回要通过广播或 WINS 来解析和注册的名称数。
这个正如上面所说的,列出当前Windows 网络名称解析的名称解析统计。

-R Purges and reloads the remote cache name table
清除 NetBIOS 名称缓存中的所有名称后,重新装入 Lmhosts 文件。
这个参数就是清除netstat -c所能看见的Cache里的IP缓存的。

-S Lists sessions table with the destination IP addresses
显示客户端和服务器会话,只通过 IP 地址列出远程计算机。
此参数可以查看计算机当前正在会话的NetBIOS。示例:
C:\>nbtstat -S

本地连接:
Node IpAddress: [192.168.1.21] Scope Id: []

NetBIOS Connection Table

Local Name State In/Out Remote Host Input Output

----------------------------------------------------------------------------

ICEBLOOD <00> Connected Out 192.168.1.22 8MB 316KB
ICEBLOOD <03> Listening
ICEBLOOD$ <03> Listening
LIU_ICEBLOOD <03> Listening

从上面就可以知道我的计算机现在正在和192.168.1.22进行会话,看得出是在复制文件,而且是从对方往自己的计算机里复制。通过以上参数所看到的信息到了“黑客”的手中也是非常重要的线索了。

-s Lists sessions table converting destination IP
显示客户端和服务器会话。尝试将远程计算机 IP 地址转换成使用主机文件的名称。
此参数和-S差不多,只是这个会把对方的NetBIOS名给解析出来。

-RR (ReleaseRefresh) Sends Name Release packets to WINs and then, starts Refresh
释放在 WINS 服务器上注册的 NetBIOS 名称,然后刷新它们的注册。

interval Redisplays selected statistics, pausing interval seconds between each display. Press Ctrl+C to stop redisplaying statistics.
重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。
此参数和netstat的一样,nbtstat的是配合-s和-S一起使用的

 

 

Nslookup 命令使用浅析

Nslookup 是一个监测网络中DNS服务器是否能正确实现域名解析的命令行工具。它在 Windows NT/2000/XP 中均可使用,但在Windows 98中却没有集成这一个工具。
  Nslookup 必须要安装了TCP/IP 协议的网络环境之后才能使用。下面笔者就举一个实例来介绍Nslookup的具体操作过程。
  现在网络中已经架设好了一台 DNS 服务器,主机名称为 linlin ,它可以把域名 www.company.com 解析为 192.168.0.1 的IP地址,这是我们平时用得比较多的正向解析功能。
检测步骤如下:
在 Windows 2000 中单击“开始”->“程序”->“附件”->“命令提示符”,在 C:\> 的后面键入 Nslookup www.company.com ,“回车”之后即可看到如下结果:
  Server: linlin
  Address: 192.168.0.5
  Name: www.company.com
  Address: 192.168.0.1
  以上结果显示,正在工作的 DNS 服务器的主机名为 linlin ,它的 IP 地址是192.168.0.5 ,而域名www.company.com 所对应的 IP 地址为 192.168.0.1 。那么,在检测到 DNS 服务器 linlin 已经能顺利实现正向解析的情况下,它的反向解析是否正常呢? 也就是说,能否把IP地址192.168.0.1反向解析为域名www.company.com ?我们在命令提示符C:\>的后面键入 Nslookup 192.168.0.1 ,得到结果如下:
  Server: linlin
  Address: 192.168.0.5
  Name: www.company.com
  Address: 192.168.0.1
这说明,DNS 服务器 linlin 的反向解析功能也正常。

然而,有的时候,我们键入Nslookup www.company.com ,却出现如下结果:
Server: linlin
Address: 192.168.0.5
*** linlin can't find www.company.com: Non-existent domain

这种情况说明网络中DNS服务器 linlin 在工作,却不能实现域名 www.company.com的正确解析。此时,要...渲们榭觯词欠?/a> www.company.com 这一条域名对应的 IP 地址记录已经添加到了DNS的数据库中。

还有的时候,我们键入Nslookup www.company.com ,会出现如下结果:
*** Can't find server name for domain: No response from server
*** Can't find www.company.com : Non-existent domain
这时,说明测试主机在目前的网络中,根本没有找到可以使用的 DNS 服务器。此时,我们要对整个网络的连通性作全面的检测,并检查DNS服务器是否处于正常工作状态,采用逐步排错的方法,找出 DNS 服务不能启动的根源。

除了可以在命令行下直接进行基本的DNS查询之外,直接启动nslookup将进入一个交互模式,在这里能查询各种类型的DNS数据。
  DNS的名字解析数据可以有各种不同的类型,有设置这个zone的参数的SOA类型数据,有设置名字对应的IP地址的A类型数据,有设置邮件交换的MX类型数据。这些不同类型的数据均可以通过nslookup的交互模式来查询,在查询过程中可以使用 set type命令设置相应的查询类型。

如:
C:>nslookup
Default Server: ns.hazzptt.net.cn
Address: 202.102.224.68

> set type=mx
> yahoo.com
Server: ns3.bta.net.cn
Address: 202.106.196.115

Non-authoritative answer:
yahoo.com       MX preference = 5, mail exchanger = mx4.mail.yahoo.com
yahoo.com       MX preference = 10, mail exchanger = mta-v18.mail.yahoo.com
yahoo.com       MX preference = 1, mail exchanger = mx1.mail.yahoo.com
yahoo.com       MX preference = 1, mail exchanger = mx2.mail.yahoo.com
yahoo.com       MX preference = 1, mail exchanger = mx3.mail.yahoo.com

yahoo.com         nameserver = ns1.yahoo.com
yahoo.com         nameserver = ns3.europe.yahoo.com
yahoo.com         nameserver = ns5.dcx.yahoo.com
mx4.mail.yahoo.com    internet address = 216.136.129.11
mx4.mail.yahoo.com    internet address = 216.136.129.13
mx4.mail.yahoo.com    internet address = 216.136.129.12
mx4.mail.yahoo.com    internet address = 216.136.129.4
mx4.mail.yahoo.com    internet address = 216.136.129.17
mx4.mail.yahoo.com    internet address = 216.136.129.18
mx4.mail.yahoo.com    internet address = 216.136.129.15
mx4.mail.yahoo.com    internet address = 216.136.129.14
mx4.mail.yahoo.com    internet address = 216.136.129.16
mta-v18.mail.yahoo.com  internet address = 216.136.129.11
mx1.mail.yahoo.com    internet address = 64.157.4.87
mx1.mail.yahoo.com    internet address = 64.157.4.89
mx1.mail.yahoo.com    internet address = 64.157.4.86
mx2.mail.yahoo.com    internet address = 64.157.4.83
mx2.mail.yahoo.com    internet address = 64.157.4.84
mx2.mail.yahoo.com    internet address = 64.157.4.85
mx3.mail.yahoo.com    internet address = 64.157.4.81
mx3.mail.yahoo.com    internet address = 64.157.4.82
ns1.yahoo.com       internet address = 204.71.200.33
>

这个例子使用nslookup来查询yahoo.com这个zone的邮件服务器,需要将类型设置为mx来执行查询。

如果所要查的某域名的MX记录不存在,则出现与以下类似的提示:
C:>nslookup
Default Server: ns3.bta.net.cn
Address: 202.106.196.115

> set type=mx
> 5555555.com.cn
Server: ns3.bta.net.cn
Address: 202.106.196.115

DNS request timed out.
timeout was 2 seconds.
*** ns3.bta.net.cn can't find 5555555.com.cn: Non-existent domain

posted @ 2006-05-09 17:21 海之蓝 阅读(524) | 评论 (0)编辑 收藏
网络测试命令详解

网管常用的网络命令
如果你玩过路由器的话,就知道路由器里面那些很好玩的命令缩写。
例如,"sh int" 的意思是 "show interface"。
现在 Windows 2000 也有了类似界面的工具,叫做 netsh。

我们在 Windows 2000 的 cmd shell 下
输入 netsh
就出来:netsh> 提示符,
输入 int ip
就显示: interface ip>

然后输入 dump ,我们就可以看到当前系统的网络配置:

  Quote:
# ----------------------------------
# Interface IP Configuration
# ----------------------------------
pushd interface ip


# Interface IP Configuration for "Local Area Connection"

set address name = "Local Area Connection" source = static addr = 192.168.1.168
mask = 255.255.255.0
add address name = "Local Area Connection" addr = 192.1.1.111 mask = 255.255.255.0
set address name = "Local Area Connection" gateway = 192.168.1.100 gwmetric = 1
set dns name = "Local Area Connection" source = static addr = 202.96.209.5
set wins name = "Local Area Connection" source = static addr = none


popd
# End of interface IP configuration

上面介绍的是通过交互方式*作的一种办法。
我们可以直接输入命令:
"netsh interface ip add address "Local Area Connection" 10.0.0.2 255.0.0.0"
来添加 IP 地址。

如果不知道语法,不要紧的哦!
在提示符下,输入 ? 就可以找到答案了。方便不方便啊?


原来微软的东西里面,也有那么一些让人喜欢的玩意儿。可惜,知之者甚少啊!


Windows网络命令行程序
这部分包括:

使用 ipconfig /all 查看配置
使用 ipconfig /renew 刷新配置
使用 ipconfig 管理 DNS 和 DHCP 类别 ID
使用 Ping 测试连接
使用 Arp 解决硬件地址问题
使用 nbtstat 解决 NetBIOS 名称问题
使用 netstat 显示连接统计
使用 tracert 跟踪网络连接
使用 pathping 测试路由器
使用 ipconfig /all 查看配置


发现和解决 TCP/IP 网络问题时,先检查出现问题的计算机上的 TCP/IP 配置。可以
使用 ipconfig 命令获得主机配置信息,包括 IP 地址、子网掩码和默认网关。

注意

对于 Windows 95 和 Windows 98 的客户机,请使用 winipcfg 命令而不是 ipconfig 命令。

使用带 /all 选项的 ipconfig 命令时,将给出所有接口的详细配置报告,包括任何
已配置的串行端口。使用 ipconfig /all,可以将命令输出重定向到某个文件,并将
输出粘贴到其他文档中。也可以用该输出确认网络上每台计算机的 TCP/IP 配置,或 者进一步调查 TCP/IP 网络问题。

例如,如果计算机配置的 IP 地址与现有的 IP 地址重复,则子网掩码显示为 0.0.0 .0。

下面的范例是 ipconfig /all 命令输出,该计算机配置成使用 DHCP 服务器动态配置 TCP/IP,并使用 WINS 和 DNS 服务器解析名称。

  Quote:
Windows 2000 IP Configuration

Node Type.. . . . . . . . : Hybrid
IP Routing Enabled.. . . . : No
WINS Proxy Enabled.. . . . : No

Ethernet adapter Local Area Connection:

Host Name.. . . . . . . . : corp1.microsoft.com
DNS Servers . . . . . . . : 10.1.0.200
Description. . . . . . . : 3Com 3C90x Ethernet Adapter
Physical Address. . . . . : 00-60-08-3E-46-07
DHCP Enabled.. . . . . . . : Yes
Autoconfiguration Enabled.: Yes
IP Address. . . . . . . . . : 192.168.0.112
Subnet Mask. . . . . . . . : 255.255.0.0
Default Gateway. . . . . . : 192.168.0.1
DHCP Server. . . . . . . . : 10.1.0.50
Primary WINS Server. . . . : 10.1.0.101
Secondary WINS Server. . . : 10.1.0.102
Lease Obtained.. . . . . . : Wednesday, September 02, 1998 10:32:13 AM
Lease Expires.. . . . . . : Friday, September 18, 1998 10:32:13 AM

如果 TCP/IP 配置没有问题,下一步测试能够连接到 TCP/IP 网络上的其他主机。

使用 ipconfig /renew 刷新配置
解决 TCP/IP 网络问题时,先检查遇到问题的计算机上的 TCP/IP 配置。如果计算机
启用 DHCP 并使用 DHCP 服务器获得配置,请使用 ipconfig /renew 命令开始刷新租
约。

使用 ipconfig /renew 时,使用 DHCP 的计算机上的所有网卡(除了那些手动配置的
适配器)都尽量连接到 DHCP 服务器,更新现有配置或者获得新配置。

也可以使用带 /release 选项的 ipconfig 命令立即释放主机的当前 DHCP 配置。


注意

对于启用 DHCP 的 Windows 95 和 Windows 98 客户,请使用 winipcfg 命令的 release 和 renew 选项,而不是 ipconfig /release 和 ipconfig /renew 命令,手动释放或更新客户的 IP 配置租约。
使用 ipconfig 管理 DNS 和 DHCP 类别 ID
也可以使用 ipconfig 命令:

显示或重置 DNS 缓存。

刷新已注册的 DNS 名称。

显示适配器的 DHCP 类别 ID。  

设置适配器的 DHCP 类别 ID。  

使用 Ping 测试连接 ''

Ping 命令有助于验证 IP 级的连通性。发现和解决问题时,可以使用 Ping 向目标主 机名或 IP 地址发送 ICMP 回应请求。需要验证主机能否连接到 TCP/IP 网络和网络 资源时,请使用 Ping。也可以使用 Ping 隔离网络硬件问题和不兼容配置。

通常最好先用 Ping 命令验证本地计算机和网络主机之间的路由是否存在,以及要连 接的网络主机的 IP 地址。Ping 目标主机的 IP 地址看它是否响应,如下:

ping IP_address



使用 Ping 时应该执行以下步骤:

Ping 环回地址验证是否在本地计算机上安装 TCP/IP 以及配置是否正确。
ping 127.0.0.1

Ping 本地计算机的 IP 地址验证是否正确地添加到网络。
ping IP_address_of_local_host

Ping 默认网关的 IP 地址验证默认网关是否运行以及能否与本地网络上的本地主机通
讯。
ping IP_address_of_default_gateway

Ping 远程主机的 IP 地址验证能否通过路由器通讯。
ping IP_address_of_remote_host



Ping 命令用 Windows 套接字样式的名称解析将计算机名解析成 IP 地址,所以如果 用地址成功,但是用名称 Ping 失败,则问题出在地址或名称解析上,而不是网络连 通性的问题。


如果在任何点上都无法成功地使用 Ping,请确认:

安装和配置 TCP/IP 之后重新启动计算机。
“Internet 协议 (TCP/IP) 属性”对话框“常规”选项卡上的本地计算机的 IP 地址 有效而且正确。
启用 IP 路由,并且路由器之间的链路是可用的。
您可以使用 Ping 命令的不同选项来指定要使用的数据包大小、要发送多少数据包、
是否记录用过的路由、要使用的生存时间 (TTL) 值以及是否设置“不分段”标志。可 以键入 ping -? 查看这些选项。



下例说明如何向 IP 地址 172.16.48.10 发送两个 Ping,每个都是 1,450 字节:

  Quote:
C:\>ping -n 2 -l 1450 172.16.48.10
Pinging 172.16.48.10 with 1450 bytes of data:

Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32
Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32

Ping statistics for 157.59.8.1:
Packets:Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate roundtrip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms

默认情况下,在显示“请求超时”之前,Ping 等待 1,000 毫秒(1 秒)的时间让每个响应返回。如果通过 Ping 探测的远程系统经过长时间延迟的链路,如卫星链路,则响应可能会花更长的时间才能返回。可以使用 -w (等待)选项指定更长时间的超时。



使用 Arp 解决硬件地址问题

“地址解析协议 (ARP)”允许主机查找同一物理网络上的主机的媒体访问控制地址,如果给出后者的 IP 地址。为使 ARP 更加有效,每个计算机缓存 IP 到媒体访问控制地址映射消除重复的 ARP 广播请求。

可以使用 arp 命令查看和修改本地计算机上的 ARP 表项。arp 命令对于查看 ARP 缓存和解决地址解析问题非常有用。




使用 nbtstat 解决 NetBIOS 名称问题

TCP/IP 上的 NetBIOS (NetBT) 将 NetBIOS 名称解析成 IP 地址。TCP/IP 为 NetBIOS 名称解析提供了很多选项,包括本地缓存搜索、WINS 服务器查询、广播、DNS 服务器查询以及 Lmhosts 和主机文件搜索。

Nbtstat 是解决 NetBIOS 名称解析问题的有用工具。可以使用nbtstat 命令删除或更正预加载的项目:

nbtstat -n 显示由服务器或重定向器之类的程序在系统上本地注册的名称。
nbtstat -c 显示 NetBIOS 名称缓存,包含其他计算机的名称对地址映射。
nbtstat -R 清除名称缓存,然后从 Lmhosts 文件重新加载。
nbtstat -RR 释放在 WINS 服务器上注册的 NetBIOS 名称,然后刷新它们的注册。
nbtstat -a name 对 name 指定的计算机执行 NetBIOS 适配器状态命令。适配器状态命令将返回计算机的本地 NetBIOS 名称表,以及适配器的媒体访问控制地址。
nbtstat -S 列出当前的 NetBIOS 会话及其状态(包括统计),如下例所示:

  Quote:

NetBIOS connection table

Local name State In/out Remote Host Input Output
------------------------------------------------------------------
CORP1 <00> Connected Out CORPSUP1<20> 6MB 5MB
CORP1 <00> Connected Out CORPPRINT<20> 108KB 116KB
CORP1 <00> Connected Out CORPSRC1<20> 299KB 19KB
CORP1 <00> Connected Out CORPEMAIL1<20> 324KB 19KB
CORP1 <03> Listening

使用 netstat 显示连接统计
可以使用 netstat 命令显示协议统计信息和当前的 TCP/IP 连接。netstat -a 命令将显示所有连接,而 netstat -r 显示路由表和活动连接。netstat -e 命令将显示Ethernet 统计信息,而 netstat -s 显示每个协议的统计信息。如果使用 netstat -n,则不能将地址和端口号转换成名称。下面是 netstat 的输出示例:

  Quote:
C:\>netstat -e
Interface Statistics

Received Sent
Bytes 3995837940 47224622
Unicast packets 120099 131015
Non-unicast packets 7579544 3823
Discards 0 0
Errors 0 0
Unknown protocols 363054211

C:\>netstat -a

Active Connections

Proto Local Address Foreign Address State
TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED
TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED
TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED
TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED
TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED
TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED
UDP CORP1:1025 *:*
UDP CORP1:snmp *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*

C:\>netstat -s
IP Statistics

Packets Received = 5378528
Received Header Errors = 738854
Received Address Errors = 23150
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 4616524
Output Requests = 132702
Routing Discards = 157
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures =
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0

ICMP Statistics
Received Sent
Messages 693 4
Errors 0 0
Destination Unreachable 685 0
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenches 0 0
Redirects 0 0
Echoes 4 0
Echo Replies 0 4
Timestamps 0 0
Timestamp Replies 0 0
Address Masks 0 0
Address Mask Replies 0 0

TCP Statistics

Active Opens = 597
Passive Opens = 135
Failed Connection Attempts = 107
Reset Connections = 91
Current Connections = 8
Segments Received = 106770
Segments Sent = 118431
Segments Retransmitted = 461

UDP Statistics

Datagrams Received = 4157136
No Ports = 351928
Receive Errors = 2
Datagrams Sent = 13809

使用 tracert 跟踪网络连接

Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

Tracert 工作原理
通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。

Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在Tracert 实用程序中看不到。

Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。

在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地 址是 192.168.0.1。

  Quote:
C:\>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1 2s 3s 2s 10,0.0,1
2 75 ms 83 ms 88 ms 192.168.0.1
3 73 ms 79 ms 93 ms 172.16.0.99
Trace complete.

用 tracert 解决问题
可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 192.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10. 0 网络不存在(错误的 IP 地址)。

  Quote:
C:\>tracert 192.168.10.99

Tracing route to 192.168.10.99 over a maximum of 30 hops

1 10.0.0.1 reportsestination net unreachable.

Trace complete.

Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个点。

Tracert 命令行选项
Tracert 命令支持多种选项,如下所示。

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

选项 描述

-d 指定不将 IP 地址解析到主机名称。
-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。
-j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。
-w timeout 等待 timeout 为每次回复所指定的毫秒数。
target_name 目标主机的名称或 IP 地址。




使用 pathping 测试路由器


pathping 命令是一个路由跟踪工具,它将 ping 和 tracert 命令的功能和这两个工具所不提供的其他信息结合起来。pathping 命令在一段时间内将数据包发送到到达最终目标的路径上的每个路由器,然后基于数据包的计算机结果从每个跃点返回。由于命令显示数据包在任何给定路由器或链接上丢失的程度,因此可以很容易地确定可能导致网络问题的路由器或链接。某些选项是可用的,如下表所示。

选项 名称           功能
-n Hostnames 不将地址解析成主机名。
-h Maximum hops 搜索目标的最大跃点数。
-g Host-list 沿着路由列表释放源路由。
-p Period 在 ping 之间等待的毫秒数。
-q Num_queries 每个跃点的查询数。
-w Time-out 为每次回复所等待的毫秒数。
-T Layer 2 tag 将第 2 层优先级标记(例如,对于 IEEE 802.1p)连接到数据包并将它发送到路径中的每个网络设备。这有助于标识没有正确配置第 2 层优先级的网络设备。-T 开关用于测试服务质量 (QoS) 连通性。
-R RSVP isbase Che检查以确定路径中的每个路由器是否支持“资源保留协议 (RSVP)”,此协议允许主机为数据流保留一定量的带宽。 -R 开关用于测试服务质量 (QoS) 连通性。

默认的跃点数是 30,并且超时前的默认等待时间是 3 秒。默认时间是 250 毫秒,并且沿着路径对每个路由器进行查询的次数是 100。

以下是典型的 pathping 报告。跃点列表后所编辑的统计信息表明在每个独立路由器上数据包丢失的情况。

  Quote:
D:\>pathping -n msw

Tracing route to msw [7.54.1.196]
over a maximum of 30 hops:
0 172.16.87.35
1 172.16.87.218
2 192.68.52.1
3 192.68.80.1
4 7.54.247.14
5 7.54.1.196

Computing statistics for 125 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 172.16.87.35
0/ 100 = 0% |
1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.218
13/ 100 = 13% |
2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.1
0/ 100 = 0% |
3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1
0/ 100 = 0% |
4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14
0/ 100 = 0% |
5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196

Trace complete.

当运行 pathping 时,在测试问题时首先查看路由的结果。此路径与 tracert 命令所显示的路径相同。然后 pathping 命令对下一个 125 毫秒显示忙消息(此时间根据跃点计数变化)。在此期间,pathping 从以前列出的所有路由器和它们之间的链接之间收集信息。在此期间结束时,它显示测试结果。

最右边的两栏 This Node/Link Lost/Sent=Pct 和 Address 包含的信息最有用。172.16.87.218(跃点 1)和 192.68.52.1(跃点 2)丢失 13% 的数据包。 所有其他链接工作正常。在跃点 2 和 4 中的路由器也丢失寻址到它们的数据包(如 This Node /Link 栏中所示),但是该丢失不会影响转发的路径。

对链接显示的丢失率(在最右边的栏中标记为 |)表明沿路径转发丢失的数据包。该丢失表明链接阻塞。对路由器显示的丢失率(通过最右边栏中的 IP 地址显示)表明这些路由器的 CPU 可能超负荷运行。这些阻塞的路由器可能也是端对端问题的一个因素,尤其是在软件路由器转发数据包时。


nbtstat -na这个命令可以防止wins中缓存造成的名称解析错误。通常ping -a是从wins服务器拿取信息,隐含的危险就是如果wins服务器没有即时更新缓存,就会产生同一个ip地址有不同bios名称的错误。



要特别提一下tracert命令

这是一个功能强大的命令,尤其在解决外部网路连接问题的时候,你甚至可以凭借它的测试结果,向你的ISP供应商发难!————didi_a语

用 tracert 解决问题
可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 19
2.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10.
0 网络不存在(错误的 IP 地址)。

C:\>tracert 192.168.10.99

Tracing route to 192.168.10.99 over a maximum of 30 hops

1 10.0.0.1 reportsestination net unreachable.

Trace complete.

Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个
点。

Tracert 命令行选项
Tracert 命令支持多种选项,如下表所示。

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

选项 描述
-d 指定不将 IP 地址解析到主机名称。
-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。
-j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。
-w timeout 等待 timeout 为每次回复所指定的毫秒数。
target_name 目标主机的名称或 IP 地址。

详细信息,请参阅使用 tracert 命令跟踪路径。

ARP(地址转换协议)的使用技巧

    ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址。实用arp命令,我们能够查

看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用arp命令,也可以用人工方式输入

静态的网卡物理/IP地址对,我们可能会使用这种方式为缺省网关和本地服务器等常用主机进行这项作,

有助于减少网络上的信息量。

    按照缺省设置,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存

在当前项目时,ARP便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。

例如,在Windows NT/2000网络中,如果输入项目后不进一步使用,物理/IP地址对就会在2至10分钟内失

效。因此,如果ARP高速缓存中项目很少或根本没有时,请不要奇怪,通过另一台计算机或路由器的ping

命令即可添加。所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本

机发送ping命令)。

    ARP常用命令选项:

  ·arp -a或arp –g
  用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示

ARP高速缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可

以接受比较传统的-g选项。

  ·arp -a IP
  如果我们有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项

目。

  ·arp -s IP 物理地址
  我们可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或

者在出现错误时,人工配置的物理地址将自动更新该项目。

  ·arp -d IP
  使用本命令能够人工删除一个静态项目。

  例如我们在命令提示符下,键入 Arp –a;如果我们使用过 Ping 命令测试并验证从这台计算机到 IP

地址为 10.0.0.99 的主机的连通性,则 ARP 缓存显示以下项:

  Interface:10.0.0.1 on interface 0x1
  Internet Address   Physical Address   Type
  10.0.0.99       00-e0-98-00-7c-dc   dynamic

    在此例中,缓存项指出位于 10.0.0.99 的远程主机解析成 00-e0-98-00-7c-dc 的媒体访问控制地址

,它是在远程计算机的网卡硬件中分配的。媒体访问控制地址是计算机用于与网络上远程 TCP/IP 主机物

理通讯的地址。

    至此我们可以用ipconfig和ping命令来查看自己的网络配置并判断是否正确、可以用netstat查看别

人与我们所建立的连接并找出ICQ使用者所隐藏的IP信息、可以用arp查看网卡的MAC地址。

posted @ 2006-05-09 17:17 海之蓝 阅读(963) | 评论 (0)编辑 收藏

Microsoft Windows XP Embedded

 

EWF Overview

The Enhanced Write Filter (EWF) protects a volume from write access. EWF provides the following benefits:

·                 Write-protects one or more partitions on your system

·                 Enables read-only media, such as CD-ROM or flash, to boot and run

EWF can be deployed on a variety of media types and configurations. The two major components for EWF are the EWF Overlay and the EWF Volume:

·                 EWF Overlay : EWF protects the contents of a volume by redirecting all write operations to another storage location. This location is called an overlay. An EWF overlay can be in RAM, or on another disk partition. An overlay is conceptually similar to a transparency overlay on an overhead projector. Any change that is made to the overlay affects the picture as it is seen in the aggregate, but if the overlay is removed, the underlying picture remains unchanged. For more information, see EWF Modes.

·                 EWF Volume : In addition to the EWF overlay, an EWF volume is created on the media in unpartitioned disk space. This EWF volume stores configuration information about all of the EWF-protected volumes on the device, including the number and sizes of protected volumes and overlay levels. Only one EWF volume is created on your device, regardless of how many disks are in the system. If your media does not support multiple partitions, you can save the EWF configuration information in the system's registry. For more information, see EWF Volume Configuration.

There can be only one EWF volume on the system. However, there can be more than one protected volume, and it is possible to have some volumes that are protected by disk overlays while others are protected by RAM overlays.

There are three different modes of EWF based on the different configurations for the EWF overlay and the EWF volume.

EWF Mode

EWF Overlay Location

EWF Volume Location

Description

Disk

On disk

Created on disk in unpartitioned space

EWF stores overlay information in a separate partition on the system. Because the overlay is stored in a nonvolatile location, the EWF overlay information can persist between reboots.

Use EWF Disk types on a system if you want to maintain the state of the system.

For more information, see EWF Disk Mode.

RAM

In RAM

Created on disk in unpartitioned space

EWF stores overlay information in RAM. When the system is rebooted, all of the information in the overlay is discarded.

Use EWF RAM types on systems if you want to discard any write information after reboot, or to delay writing the overlay to the media.

For more information, see EWF RAM Mode.

RAM Reg

In RAM

In system registry

Similar to EWF RAM types, RAM Reg overlays store overlay information in RAM. However, the configuration information about EWF is not stored in a separate EWF volume, but within the registry.

Use EWF RAM Reg types on media that does not support changing the partition structure of the media, such as CompactFlash. CompactFlash media is typically marked as removable media. Removable media cannot be partitioned. For more information, see CompactFlash Design Considerations.

For more information, see EWF RAM Reg Mode.

EWF RAM Reg Mode

EWF RAM Reg mode is similar to EWF RAM mode. It differs from the standard EWF RAM mode only in that the configuration information that is stored in the EWF volume is instead stored in the system's registry. EWF RAM Reg mode uses the following configuration:

·                 EWF Overlay is stored in RAM

·                 EWF volume is stored in the system's registry

The EWF RAM Reg overlay stores the write cache in RAM. When EWF RAM Reg mode is configured, EWF configuration is skipped during the First Boot Agent (FBA) process.

After FBA is complete, you must manually edit the system registry to enable EWF. No EWF volume is created on the system. EWF RAM mode supports only one overlay level.

Use RAM Reg mode in the following scenarios:

·                 Protecting media that has only a single partition, or media that cannot be partitioned

·                 Protecting removable media, such as CompactFlash, USB, or IEEE 1394 devices

·                 Protecting media that does not support standard RAM overlays

·                 Minimizing the number of write operations that are made to write-sensitive devices, such as CompactFlash

The following diagram shows an example of how EWF RAM Reg mode is configured on your device.

Because the EWF volume information is kept in the registry, if the registry is write-protected, attempts to disable EWF will fail. You must use the EWF Manager commitanddisable command to commit the changes to the registry and disable EWF. For more information, see EWF Manager Commands.

If you are protecting more than one partition, you only need to commit the overlay to the partition where the Registry is stored. For example, if you had two protected partitions, C: and D:, you would use the EWF Manager command to disable the overlay on D:, and then commit the changes to the registry on C:.

				
						
								ewfmgr d: -disable
						
				
		
				
						
								ewfmgr c: -commit
						
				
		

For more information about configuring EWF RAM Reg mode, see Configuring EWF RAM Reg Mode.

You can also protect multiple volumes by using EWF RAM Reg modes. For more information, see Protecting Multiple Volumes By Using RAM Reg Mode.

 

EWF RAM Mode

EWF RAM mode uses the following configuration:

·                 The EWF Overlay type is stored in RAM

·                 The EWF volume is stored on disk

The EWF RAM overlay stores the write cache in RAM. When EWF RAM mode is configured during the First Boot Agent (FBA) phase, the EWF volume is created in available space on media. The EWF volume stores the EWF master volume table and an overlay stack that points to the overlay data in system memory. When you shut down the target system, the overlay data in system memory is lost. EWF RAM mode supports only one overlay level.

Use EWF RAM mode in the following scenarios:

·                 Protecting data on a read/write volume from being altered or corrupted

·                 Deploying a run-time image on a stateless device

·                 Deploying a run-time image on a device without persistent read/write storage

The following diagram shows an example EWF RAM mode configuration.

EWF RAM overlays require additional RAM to store the write cache. RAM is not pre-allocated by EWF; therefore EWF uses free RAM until the system runs out of memory. RAM requirements for the EWF RAM overlay vary. They depend on the amount of write operations that are made to the overlay. It is recommended that while you test your run-time image, you review the memory usage of your applications in Windows Task Manager.

Note    EWF allocates space for the RAM overlay from physical RAM pages, and can surpass the standard Windows non-paged limit of 256 MB. However EWF does allocate a small amount of space from the non-paged memory pool. Non-paged RAM size is typically less than 1.5% of the size of the RAM overlay, and the non-paged RAM usage is less than .2% of the total usage.

For more information, see Configuring EWF RAM Mode.

EWF RAM Reg mode is a type of RAM overlay that does not require an EWF volume to be present on the system. The metadata information that is normally kept in the EWF volume is instead stored in the registry. For more information, see EWF RAM Reg Mode.

The minimum EWF volume size for EWF RAM mode is 64 KB.

 

 

 

 

Microsoft Windows XP Embedded

 

CompactFlash Design Considerations

By adding the Enhanced Write Filter (EWF) component to your configuration, you can reduce the wear on your CompactFlash device. Before you create your configuration for a CompactFlash device, be aware of the following considerations:

·                 The instructions provided in How to Configure EWF for CompactFlash show how to implement EWF RAM Reg Mode. In EWF RAM Reg mode, the EWF volume configuration information is stored in the registry, which is protected by EWF.

To disable EWF, you must use the EWFMGR commitanddisable command. Because the EWF configuration information is protected by EWF, committing the overlay writes all changes to the protected volume, including the EWF disable command.

Before you create your CompactFlash run-time image, familiarize yourself with EWF RAM Reg Mode.

·                 Typically, CompactFlash devices are marked as removable and cannot be partitioned by using Windows XP partitioning tools. Some manufacturers include utilities to mark their CompactFlash devices as non-removable (fixed) to allow additional partitioning. Use your manufacturer's CompactFlash partitioning tools to edit the partition sizes of your CompactFlash device.

·                 The instructions provided in How to Configure EWF for CompactFlash require a CompactFlash to IDE adapter. USB CompactFlash card readers are not supported.

·                 You should disable pagefile support on your run-time image, or, if possible, relocate your pagefile to a non-protected volume. Using a pagefile can add a significant amount of overhead in the RAM overlay. For more information, see Changing the Location of the Pagefile.

 

posted @ 2006-05-09 12:13 海之蓝 阅读(1261) | 评论 (0)编辑 收藏
     摘要: Windows XP Embedded 构建在已经通过验证的 Windows 2000 代码库基础之上, Windows 2000 使用 32 位计算体系结构以及受到全面保护的内存模型。可靠性增强包括下列内容: Windows 文件保护:保护核心系统文件不会在应用程序安装时被...  阅读全文
posted @ 2006-05-09 12:12 海之蓝 阅读(1284) | 评论 (0)编辑 收藏
仅列出标题  下一页