-
2006-08-30
Windows环境下Unicode编程总结 (ZZ)
-
2006-08-07
sysinternal 专业的典范
一年前就开始使用process explorer, 却从来没有认真地看看作者(作者愤怒中....)。今天认真找找竟然发现一大堆好东西,原来最美好的东西常常就在我们身边。废话少说,开始介绍,blablabla.
SysInternals 的创始人之一Mark是大名顶顶的Windows Internal(深入windows内核)的作者,而且Windows IT Pro Magazine的专栏作者。他一直坚定的在computer engineering 领域从本科一直读到博士,在IBM也工作过两年。后来和Cogswell 一起创建了Winternal 公司和Sysinternal, 到现在已经有10年了。前者致力于企业级别的系统安全,系统恢复等其他强大的工作。后者提供的都是free工具(我们热烈欢迎这样的工具)。Process explorer 就是free工具中的一个啦。他们的网站上提供了很多非常cool的小工具和源代码,好好挖掘吧。
最近,也就是7月底两位都被Microsoft给收编了,Mark是作为fellow到Platform and Services Division,主要是作操作系统性能分析。以前在没有源代码的时候,他就能够inside windows了,现在的他一定是自由的在windows的世界了驰骋了吧。
他的blog严谨而认真,记录着他的工作,他对技术的追求,他的探索。而且在文章中总是透射出他对他的fans的交代:Sysinternal继续存在,继续提供强大的系统工具。当然后面的支持已经变成了可爱的盖茨大树了。
)
Mark的照片~~ -
2005-10-30
孙鑫VC++讲座笔记-(1)Windows程序内部运行机制 - -
-
2005-10-16
计算机启动过程详解
七。★★★计算机启动过程详解
打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows的蓝天白云时,计算机到底都干了些什么事情。
首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为*作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。
好了,下面我们就来仔细看看计算机的启动过程吧。
第一步: 当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。
第二步: 系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。
第三步: 接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。
第四步: 查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。
第五步: 接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。
第六步: 内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。
第七步: 标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。
第八步: 到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。
第九步: 接下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。ESCD是系统BIOS用来与*作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到“Update ESCD… Success”这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows 9x不相同的数据格式,于是Windows 9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。
第十步: ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows 9x最基本的系统文件。Windows 9x的IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。
如果系统之中安装有引导多种*作系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种*作系统,然后读取并执行该*作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录)。 上面介绍的便是计算机在打开电源开关(或按Reset键)进行冷启动时所要完成的各种初始化工作,如果我们在DOS下按Ctrl+Alt+Del组合键(或从Windows中选择重新启动计算机)来进行热启动,那么POST过程将被跳过去,直接从第三步开始,另外第五步的检测CPU和内存测试也不会再进行。我们可以看到,无论是冷启动还是热启动,系统BIOS都一次又一次地重复进行着这些我们平时并不太注意的事情,然而正是这些单调的硬件检测步骤为我们能够正常使用电脑提供了基础。
现在市场上主流的品牌机随机安装的*作系统一般为Windows XP,但是,部分用户可能仍然对Windows 98、Windows ME或Windows 2000等*作系统情有独钟,希望能在不破坏原*作系统的前提下,再安装一下以上*作系统。按常规来说,如不使用第三方的软件,我们在安装微软的Windows系列*作系统时,应该按照从低版本到高版本的顺序来依次安装;如果使用第三方的软件,又会涉及到所使用的软件的版权及用法问题,对一般用户来说显然是不太合适的。其实,按我们在本文提供的方法,不使用第三方的任何软件也能实现*作系统反着装,而且十分简单!
例如我的联想品牌机,硬盘的C区安装Windows XP家庭版,C区的文件格式为FAT 32,其它分区的文件系统也是FAT 32。使用本文的办法来安装Windows 98,C区和安装Windows 98的分区的文件系统均需要转化为FAT 32,否则需要第三方的启动软件。当然,如果文件格式为NTFS,我们可以使用“Partition Magic”这款软件来将它无损转换为FAT 32。
准备:支持光驱启动的Windows 98/ME启动软盘;DEBUG.EXE文件(可从Windows\Command文件夹中拷贝到启动软盘,或从EBD.CAB中解压缩出来)。
步骤:
第一部分:
安装Windows 98/ME*作系统1.将Windows 98/ME的安装光盘放入光驱; 2.使用制作好的启动盘来启动电脑;
3.按照正常的安装Windows 98/ME的方法来安装*作系统;只是不要将Windows 98/ME安装在Windows XP所在的分区;
4.安装好之后,将电脑启动到Windows 98/ME*作系统。
第二部分:
修改“BOOTSECT.DOS”文件
按照以上方法安装Windows 98/ME*作系统之后,会修改Windows XP所必需的启动文件,我们需要对“BOOTSECT.DOS”文件进行修改以修复它的启动文件。1.打开“记事本”或其它的文本编辑软件来制作“READ.SCR”(文件名可以更改),内容如下:
L 100 2 0 1
N C:\BOOTSECT.DOS
R BX
0
R CX
200
W
Q2.将以上制作好的文件拷贝到启动盘中;
3.用启动盘启动电脑到DOS方式;
4.修改“BOOTSECT.DOS”的文件属性,使用以下命令:
ATTRIB C:\BOOTSECT.DOS -S -H -R5.在命令提示符下输入:DEBUG
第三部分:
修复Windows XP1.修改BIOS中的启动选项,使电脑能从光驱启动;也可以使用刚才制作好的启动盘来启动电脑,再在命令提示下输入f:\i386\winnnt.exe(f为光驱的盘符)来运行安装指令;
2.在安装Windows XP时,我们要选择“修复”项,以修复硬盘中已安装的*作系统;
3.选择需要登录的*作系统,通常为“1”,键入“1”,并输入管理员口令(安装时所设定的,安装Windows XP家庭版的联想品牌机的用户只需要按回车键即可);
4.在命令提示符下键入“FIXBOOT”,以修复Windows XP的启动文件;
5.拿出光驱中的Windows XP安装光盘,重新启动电脑,并在BIOS修改启动选项,将它设置为从硬盘启动。
现在,你就可以看到Windows XP的启动菜单了,并能选择所需要进入的*作系统。重新启动电脑之后,我们就可以选择需要启动的*作系统了。是不是很简单?
第四部分:
WinXP下安装Win2000在安装好Windows XP之后,再安装Windows 2000比安装98或ME要简单得多。本文所说的方法也不用第三方的软件,而且可以在FAT32 或NTFS的文件格式上进行*作。
1.首先,打开“控制面板”,选择“文件夹选项”并双击,在“文件夹选项”窗口中选择“查看”,在“高级设置”中将“隐藏受保护的*作系统文件”前的“√”去掉,以显示我们所需要的两个系统文件:“NTLDR”和“NTDETECT.COM”;
2.将以上两个文件拷贝到一张软盘中;
3.修改BIOS中的启动选项以从光盘启动电脑,并运行Windows 2000的安装*作程序;
4.按正常方法安装Windows 2000;
5.安装完成后,将电脑启动到Windows 2000;
6.将我们拷贝到软盘中的以上两个文件拷贝到C区根目录;如果系统提示不能拷贝,用户需要修改以上两个文件的属性,去掉它们的“只读”和“隐藏”等属性。
说明:我们这儿所以这样做是因为Win XP版本的“NTLDR”和“NTDETECT.COM”支持启动Windows 2000,但是后者并不支持启动到前者,所以我们需要进行以上*作。
-
2005-10-16
网络最经典命令行-网络安全工作者的必杀技
转自 火狐技术联盟
网络最经典命令行-网络安全工作者的必杀技
作者:未知 来源:未知
1.最基本,最常用的,测试物理网络的
ping 192.168.0.8 -t ,参数-t是等待用户去中断测试
2.查看DNS、IP、Mac等
A.Win98:winipcfg
B.Win2000以上:Ipconfig/all
C.NSLOOKUP:如查看河北的DNS
C:\>nslookup
Default Server: ns.hesjptt.net.cn
Address: 202.99.160.68
>server 202.99.41.2 则将DNS改为了41.2
> pop.pcpop.com
Server: ns.hesjptt.net.cn
Address: 202.99.160.68
Non-authoritative answer:
Name: pop.pcpop.com
Address: 202.99.160.212
3.网络信使
Net send 计算机名/IP * (广播) 传送内容,注意不能跨网段
net stop messenger 停止信使服务,也可以在面板-服务修改
net start messenger 开始信使服务
4.探测对方对方计算机名,所在的组、域及当前用户名 (追捕的工作原理)
ping -a IP -t ,只显示NetBios名
nbtstat -a 192.168.10.146 比较全的
5.netstat -a 显示出你的计算机当前所开放的所有端口
netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和 IP的统计等
6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址
arp -a
7.在代理服务器端
捆绑IP和MAC地址,解决局域网内盗用IP!:
ARP -s 192.168.10.59 00 -50-ff-6c-08-75
解除网卡的IP与MAC地址的绑定:
arp -d 网卡IP
8.在网络邻居上隐藏你的计算机
net config server /hidden:yes
net config server /hidden:no 则为开启
9.几个net命令
A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表。
比如:查看这个IP上的共享资源,就可以
C:\>net view 192.168.10.8
在 192.168.10.8 的共享资源
资源共享名 类型 用途 注释
--------------------------------------
网站服务 Disk
命令成功完成。
B.查看计算机上的用户帐号列表 net user
C.查看网络链接 net use
例如:net use z: \192.168.10.8\movie 将这个IP的movie共享目录映射为本地的Z盘
D.记录链接 net session
例如: C:\>net session
计算机 用户名 客户类型 打开空闲时间
-------------------------------------------------------------------------------
\192.168.10.110 ROME Windows 2000 2195 0 00:03:12
\192.168.10.51 ROME Windows 2000 2195 0 00:00:39
命令成功完成。
10.路由跟踪命令
A.tracert pop.pcpop.com
B.pathping pop.pcpop.com 除了显示路由外,还提供325S的分析,计算丢失包的%
11.关于共享安全的几个命令
A.查看你机器的共享资源 net share
B.手工删除共享(可以编个bat文件,开机自运行,把共享都删了!)
net share c$ /d
net share d$ /d
net share ipc$ /d
net share admin$ /d
注意$后有空格。
C.增加一个共享:
c:\net share mymovie=e:\downloads\movie /users:1
mymovie 共享成功。
同时限制链接用户数为1人。
12.在DOS行下设置静态IP
A.设置静态IP
CMD
netsh
netsh>int
interface>ip
interface ip>set add "本地链接" static IP地址 mask gateway
B.查看IP设置
interface ip>show address
Arp
显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。
语法
arp [-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]
参数
-a [InetAddr] [-N IfaceAddr]
显示所有接口的当前 ARP 缓存表。要显示指定 IP 地址的 ARP 缓存项,请使用带有 InetAddr 参数的 arp -a,此处的 InetAddr 代表指定的 IP 地址。要显示指定接口的 ARP 缓存表,请使用 -N IfaceAddr 参数,此处的 IfaceAddr 代表分配给指定接口的 IP 地址。-N 参数区分大小写。
-g [InetAddr] [-N IfaceAddr]
与 -a 相同。
-d InetAddr [IfaceAddr]
删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。要删除所有项,请使用星号 (*) 通配符代替 InetAddr。
-s InetAddr EtherAddr [IfaceAddr]
向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。要向指定接口的表添加静态 ARP 缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。
在命令提示符显示帮助。
注释
InetAddr 和 IfaceAddr 的 IP 地址用带圆点的十进制记数法表示。
物理地址 EtherAddr 由六个字节组成,这些字节用十六进制记数法表示并且用连字符隔开(比如,00-AA-00-4F-2 A-9C)。
通过 -s 参数添加的项属于静态项,它们不会 ARP 缓存中超时。如果终止 TCP/IP 协议后再启动,这些项会被删除。要创建永久的静态 ARP 缓存项,请在批处理文件中使用适当的 arp 命令并通过“计划任务程序”在启动时运行该批处理文件。
只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
范例
要显示所有接口的 ARP 缓存表,可键入:
arp -a
对于指派的 IP 地址为 10.0.0.99 的接口,要显示其 ARP 缓存表,可键入:
arp -a -N 10.0.0.99
要添加将 IP 地址 10.0.0.80 解析成物理地址 00-AA-00-4F-2 A-9C 的静态 ARP 缓存项,可键入:
arp -s 10.0.0.80 00-AA-00-4F-2 A-9C
At
计划在指定时间和日期在计算机上运行命令和程序。at 命令只能在“计划”服务运行时使用。如果在没有参数的情况下使用,则 at 列出已计划的命令。
语法
at [\ComputerName] [{[ID] [/delete] /delete [/yes]}]
at [[\ComputerName] hours:minutes [/interactive] [{/every:date[,...] /next:date[,...]}] command]
参数
\computername
指定远程计算机。如果省略该参数,则 at 计划本地计算机上的命令和程序。
ID
指定指派给已计划命令的识别码。
/delete
取消已计划的命令。如果省略了 ID,则计算机中所有已计划的命令将被取消。
/yes
删除已计划的事件时,对来自系统的所有询问都回答“是”。
hours:minutes
指定命令运行的时间。该时间用 24 小时制(即从 00:00 [午夜] 到 23:59)的 小时: 分钟格式表示。
/interactive
对于在运行 command 时登录的用户,允许 command 与该用户的桌面进行交互。
/every:
在每个星期或月的指定日期(例如,每个星期四,或每月的第三天)运行 command 命令。
date
指定运行命令的日期。可以指定一周的某日或多日(即,键入 M、T、W、Th、F、S、Su)或一个月中的某日或多日(即,键入从 1 到31 之间的数字)。用逗号分隔多个日期项。如果省略了 date,则 at 使用该月的当前日。
/next:
在下一个指定日期(比如,下一个星期四)到来时运行 command。
command
指定要运行的 Windows 命令、程序(.exe 或 .com 文件)或批处理程序(.bat 或 .cmd 文件)。当命令需要路径作为参数时,请使用绝对路径,也就是从驱动器号开始的整个路径。如果命令在远程计算机上,请指定服务器和共享名的通用命名协定 (UNC) 符号,而不是远程驱动器号。
/?
在命令提示符显示帮助。
注释
Schtasks 是功能更为强大的超集命令行计划工具,它含有 at 命令行工具中的所有功能。对于所有的命令行计划任务,都可以使用 schtasks 来替代 at。有关 schtasks 的详细信息,请参阅“相关主题”。
使用 at
使用 at 命令时,要求您必须是本地 Administrators 组的成员。
-
2005-10-16
DOS下常用的相关网络命令
在DOS下的Microsoft Network Client和Windows 9x的DOS窗口等环境中,有许多很有用的但不包含在DOS自带的命令中的网络命令。那么,有哪些这样的命令呢?下面将它们中常用的命令介绍一下。
Arp
显示和修改“地址解析协议”(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表。该命令只有在安装了 TCP/IP 协议之后才可用。
arp -a [inet_addr] [-N [if_addr]]
arp -d inet_addr [if_addr]
arp -s inet_addr ether_addr [if_addr]
参数
-a
通过询问 TCP/IP 显示当前 ARP 项。如果指定了 inet_addr,则只显示指定计算机的 IP 和物理地址。
-g
与 -a 相同。
inet_addr
以加点的十进制标记指定 IP 地址。
-N
显示由 if_addr 指定的网络界面 ARP 项。
if_addr
指定需要修改其地址转换表接口的 IP 地址(如果有的话)。如果不存在,将使用第一个可适用的接口。
-d
删除由 inet_addr 指定的项。
-s
在 ARP 缓存中添加项,将 IP 地址 inet_addr 和物理地址 ether_addr 关联。物理地址由以连字符分隔的 6 个十六进制字节给定。使用带点的十进制标记指定 IP 地址。项是永久性的,即在超时到期后项自动从缓存删除。
ether_addr
指定物理地址。
Finger在运行 Finger 服务的指定系统上显示有关用户的信息。根据远程系统输出不同的变量。该命令只有在安装了 TCP/IP 协议之后才可用。
finger [-l] [user]@computer[...]
参数
-l
以长列表格式显示信息。
user
指定要获得相关信息的用户。省略用户参数以显示指定计算机上所有用户的信息:
@computerFtp
将文件传送到正在运行 FTP 服务的远程计算机或从正在运行 FTP 服务的远程计算机传送文件(有时称作 daemon)。Ftp 可以交互使用。单击“相关主题”列表中的“ftp 命令”以获得可用的“ftp”子命令描述。该命令只有在安装了 TCP/IP 协议之后才可用。Ftp 是一种服务,一旦启动,将创建在其中可以使用 ftp 命令的子环境,通过键入 quit 子命令可以从子环境返回到 Windows 2000 命令提示符。
当 ftp 子环境运行时,它由 ftp 命令提示符代表。
ftp [-v] [-n] [-i] [-d] [-g] [-s:filename] [-a] [-w:windowsize] [computer]
参数
-v
禁止显示远程服务器响应。
-n
禁止自动登录到初始连接。
-i
多个文件传送时关闭交互提示。
-d
启用调试、显示在客户端和服务器之间传递的所有 ftp 命令。
-g
禁用文件名组,它允许在本地文件和路径名中使用通配符字符(* 和 ?)。(请参阅联机“命令参考”中的 glob 命令。)
-s: filename
指定包含 ftp 命令的文本文件;当 ftp 启动后,这些命令将自动运行。该参数中不允许有空格。使用该开关而不是重定向 (> )。
-a
在捆绑数据连接时使用任何本地接口。
-w:windowsize
替代默认大小为 4096 的传送缓冲区。
computer
指定要连接到远程计算机的计算机名或 IP 地址。如果指定,计算机必须是行的最后一个参数。Nbtstat
该诊断命令使用 NBT(TCP/IP 上的 NetBIOS)显示协议统计和当前 TCP/IP 连接。该命令只有在安装了 TCP/IP 协议之后才可用。
nbtstat [-a remotename] [-A IP address] [-c] [-n] [-R] [-r] [-S] [-s] [interval]
参数
-a remotename
使用远程计算机的名称列出其名称表。
-A IP address
使用远程计算机的 IP 地址并列出名称表。
-c
给定每个名称的 IP 地址并列出 NetBIOS 名称缓存的内容。
-n
列出本地 NetBIOS 名称。“已注册”表明该名称已被广播 (Bnode) 或者 WINS(其他节点类型)注册。
-R
清除 NetBIOS 名称缓存中的所有名称后,重新装入 Lmhosts 文件。
-r
列出 Windows 网络名称解析的名称解析统计。在配置使用 WINS 的 Windows 2000 计算机上,此选项返回要通过广播或 WINS 来解析和注册的名称数。
-S
显示客户端和服务器会话,只通过 IP 地址列出远程计算机。
-s
显示客户端和服务器会话。尝试将远程计算机 IP 地址转换成使用主机文件的名称。
interval
重新显示选中的统计,在每个显示之间暂停 interval 秒。按 CTRL+C 停止重新显示统计信息。如果省略该参数,nbtstat 打印一次当前的配置信息。Netstat
显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
参数
-a
显示所有连接和侦听端口。服务器连接通常不显示。
-e
显示以太网统计。该参数可以与 -s 选项结合使用。
-n
以数字格式显示地址和端口号(而不是尝试查找名称)。
-s
显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。
-p protocol
显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。
-r
显示路由表的内容。
interval
重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。Ping
验证与远程计算机的连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list
参数
-t
Ping 指定的计算机直到中断。
-a
将地址解析为计算机名。
-n count
发送 count 指定的 ECHO 数据包数。默认值为 4。
-l length
发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是 65,527。
-f
在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段。
-i ttl
将“生存时间”字段设置为 ttl 指定的值。
-v tos
将“服务类型”字段设置为 tos 指定的值。
-r count
在“记录路由”字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 台计算机。
指定要 ping 的远程计算机。Rcp
在 Windows 2000 计算机和运行远程外壳端口监控程序 rshd 的系统之间复制文件。rcp 命令是一个连接命令,从 Windows 2000 计算机发出该命令时,也可以用于其他传输在两台运行 rshd 的计算机之间复制文件。rshd 端口监控程序可以在 UNIX 计算机上使用,而在 Windows 2000 上不能使用,所以 Windows 2000 计算机仅可以作为发出命令的系统参与。远程计算机必须也通过运行 rshd 提供 rcp 实用程序。
rcp [-a | -b] [-h] [-r] source1 source2 ... sourceN destination
参数
-a
指定 ASCII 传输模式。此模式在传出文件上将回车/换行符转换为回车符,在传入文件中将换行符转换为回车/换行符。该模式为默认的传输模式。
-b
指定二进制图像传输模式。没有执行回车/换行符转换。
-h
传输 Windows 2000 计算机上标记为隐藏属性的源文件。如果没有该选项,在 rcp 命令行上指定隐藏文件的效果与文件不存在一样。
-r
将源的所有子目录内容递归复制到目标。source 和 destination 都必须是目录,虽然即使源不是目录,使用 -r 也能够工作。但将没有递归。
source 和 destination
格式必须为 [computer[.user]:]filename。如果忽略了 [computer[.user]:] 部分,计算机将假定为本地计算机。如果省略了 [.user] 部分,将使用当前登录的 Windows 2000 用户名。如果使用了完全合格的计算机名,其中包含句点 (.) 分隔符,则必须包含 [.user]。否则,计算机名的最后部分将解释为用户名。如果指定了多个源文件,则 destination 必须是目录。
如果文件名不是以 UNIX 的正斜杠 (/) 或 Windows 2000 系统的反斜杠 (\) 打头,则假定相对于当前的工作目录。在 Windows 2000 中,这是发出命令的目录。在远程系统中,这是远程用户的登录目录。句点 (.) 表示当前的目录。在远程路径中使用转义字符(\、" 或 '),以便在远程计算机中使用通配符。Rexec
在运行 REXEC 服务的远程计算机上运行命令。rexec 命令在执行指定命令前,验证远程计算机上的用户名,只有安装了 TCP/IP 协议后才可以使用该命令。
rexec computer [-l username] [-n] command
参数
computer
指定要运行 command 的远程计算机。
-l username
指定远程计算机上的用户名。
-r
将 rexec 的输入重定向到 NULL。
command
指定要运行的命令。
Route控制网络路由表。该命令只有在安装了 TCP/IP 协议后才可以使用。
route [-f] [-p] [command [destination] [mask subnetmask] [gateway] [metric costmetric]]
参数
-f
清除所有网关入口的路由表。如果该参数与某个命令组合使用,路由表将在运行命令前清除。
-p
该参数与 add 命令一起使用时,将使路由在系统引导程序之间持久存在。默认情况下,系统重新启动时不保留路由。与 print 命令一起使用时,显示已注册的持久路由列表。忽略其他所有总是影响相应持久路由的命令。
command
指定下列的一个命令。
命令 目的
print 打印路由
add 添加路由
delete 删除路由
change 更改现存路由
destination
指定发送 command 的计算机。
mask subnetmask
指定与该路由条目关联的子网掩码。如果没有指定,将使用 255.255.255.255。
gateway
指定网关。
名为 Networks 的网络数据库文件和名为 Hosts 的计算机名数据库文件中均引用全部 destination 或 gateway 使用的符号名称。如果命令是 print 或 delete,目标和网关还可以使用通配符,也可以省略网关参数。
metric costmetric
指派整数跃点数(从 1 到 9999)在计算最快速、最可靠和(或)最便宜的路由时使用。
Rsh
在运行 RSH 服务的远程计算机上运行命令。该命令只有在安装了 TCP/IP 协议后才可以使用。
rsh computer [-l username] [-n] command
参数
computer
指定运行 command 的远程计算机。
-l username
指定远程计算机上使用的用户名。如果省略,则使用登录的用户名。
-n
将 rsh 的输入重定向到 NULL。
command
指定要运行的命令。Tftp
将文件传输到正在运行 TFTP 服务的远程计算机或从正在运行 TFTP 服务的远程计算机传输文件。该命令只有在安装了 TCP/IP 协议后才可以使用。
tftp [-i] computer [get | put] source [destination]
参数
-i
指定二进制图像传送模式(也称为“八位字节”)。在二进制图像模式中,文件一个字节接一个字节地逐字移动。在传送二进制文件时使用该模式。
如果省略了 -i,文件将以 ASCII 模式传送。这是默认的传送模式。此模式将 EOL 字符转换为 UNIX 的回车符和个人计算机的回车符/换行符。在传送文本文件时应使用此模式。如果文件传送成功,将显示数据传输率。
computer
指定本地或远程计算机。
put
将本地计算机上的文件 destination 传送到远程计算机上的文件 source。
get
将远程计算机上的文件 destination 传送到本地计算机上的文件 source。
如果将本地计算机上的文件 file-two 传送到远程计算机上的文件 file-one,请指定 put。如果将远程计算机上的文件 file-two 传送到远程计算机上的文件 file-one,请指定 get。
因为 tftp 协议不支持用户身份验证,所以用户必须登录,并且文件在远程计算机上必须可以写入。
source
指定要传送的文件。如果本地文件指定为 -,则远程文件在 stdout 上打印出来(如果获取),或从 stdin(如果放置)读取。
destination
指定将文件传送到的位置。如果省略了 destination,将假定与 source 同名。Tracert
该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP) 回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
参数
/d
指定不将地址解析为计算机名。
-h maximum_hops
指定搜索目标的最大跃点数。
-j computer-list
指定沿 computer-list 的稀疏源路由。
-w timeout
每次应答等待 timeout 指定的微秒数。
target_name
目标计算机的名称。此外,还有IPCONFIG,DNR等命令,这里就不再一一介绍了。
-
2005-10-16
Win XP的一个无敌命令
XP有一个很无敌的命令,用来替换文件的replace,连正在使用的文件也能替换。非常无敌。 比如:在C:下建一个目录,c:aaa ,然后复制一首mp3到c:aaa并命名为c:aaaa.mp3 ,然后再复制另一首歌到C:a.mp3 ,然后用media player 播放c:aaaa.mp3 ,在命令提示符下输入:replace c:a.mp3 c:aaa ,过一会,是不是播放的歌已变为另一首。
用这个命令来替换系统文件真是太爽了,并且XP的系统文件保护也对它无效。 再也不用到安全模式下去替换文件了
格式
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W]
[drive1:][path1]filename 指定源文件。
[drive2:][path2] 指定要替换文件的
目录
/A 把新文件加入目标目录。不能和/S 或 /U 命令行开关搭配使用。 /P 替换文件或加入源文件之前会先提示您进行确认。 /R 替换只读文件以及未受保护的文件。 /S 替换目标目录中所有子目录的文件。 不能与 /A 命令选项搭配使用。
/W 等您插入磁盘以后再运行。
/U 只会替换或更新比源文件日期早的文件。 不能与 /A 命令行开关搭配使用。
ps:要是病毒或者黑客也用这个命令那就危险了







