(一)cls——清屏幕命令 1功能:清除屏幕上的所有显示,光标置于屏幕左上角。 2类型:内部命令 3格式:cls (二) ver查看系统版本号命令 1功能:显示当前系统版本号 2类型:内部命令 3格式:ver (三) date日期设置命令 1功能:设置或显示系统日期。 2类型:内部命令 3格式:date[mm——dd——yy] 4使用说明: (1)省略[mm——dd——yy]显示系统日期并提示输入新的日期,不修改则可直接按回车键,[mm——dd——yy]为“月月——日日——年年”格式; (2)当机器开始启动时,有自动处理文件(autoexec.bat)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。 (四) time系统时钟设置命令 1功能:设置或显示系统时期。 2类型:内部命令 3格式:time[hh:mm:ss:xx] 4使用说明: (1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式; (2)当机器开始启动时,有自动处理文件(autoexec.bat)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。 (五)mem查看当前内存状况命令 1功能:显示当前内存使用的情况 2类型:外部命令 3格式:mem[/c][/f][/m][/p] 4使用说明: (1)选用/c参数列出装入常规内存和cmb的各文件的长度,同时也显示内存空间的使用状况和最大的可用空间; (2)选用/f参数分别列出当前常规内存剩余的字节大小和umb可用的区域及大小; (3)选用/m参数显示该模块使用内存地地址、大小及模块性质; (4)选用/p参数指定当输出超过一屏时,暂停供用户查看。 (六) msd显示系统信息命令 1功能:显示系统的硬件和操作系统的状况。 2类型:外部命令 3格式:msd[/s] 4使用说明: (1)选用/i参数时,不检测硬件; (2)选用/b参数时,以黑白方式启动msd; (3)选用/s参数时,显示出简明的系统报告。 ping命令详解 对于windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。 现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,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]] [-wz timeout] destination-list options: -t ping the specified host until stopped.to see statistics and continue - type control-break;to stop - type control-c. 不停的ping地方主机,直到你按下control-c。 此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。 net use \\ip\ipc$ " " /user:" " 建立ipc空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立ipc非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方c:到本地为h: net use h: \\ip\c$ 登陆后映射对方c:到本地为h: net use \\ip\ipc$ /del 删除ipc链接 net use h: /del 删除映射对方到本地的为h:的映射 net user 用户名 密码 /add 建立用户 net user guest /active:yes 激活guest用户 net user 查看有哪些用户 net user 帐户名 查看帐户的属性 net localgroup ***istrators 用户名 /add 把“用户”添加到管理员中使其具有管理员权限,注意:***istrator后加s用复数 net start 查看开启了哪些服务net start 服务名 开启服务;(如:net start telnet, net start schedule)net stop 服务名 停止某服务 net time \\目标ip 查看对方时间 net time \\目标ip /set 设置本地计算机时间与“目标ip”主机的时间同步,加上参数/yes可取消确认信息 net view 查看本地局域网内开启了哪些共享 net view \\ip 查看对方局域网内开启了哪些共享 net config 显示系统网络设置 net logoff 断开连接的共享 net pause 服务名 暂停某服务 net send ip "文本信息" 向对方发信息 net ver 局域网内正在使用的网络连接类型和信息 net share 查看本地开启的共享 net share ipc$ 开启ipc$共享 net share ipc$ /del 删除ipc$共享 net share c$ /del 删除c:共享 net user guest 12345 用guest用户登陆后用将密码改为12345net password 密码 更改系统登陆密码 netstat -a 查看开启了哪些端口,常用 netstat -annetstat -n 查看端口的网络连接情况,常用 netstat -annetstat -v 查看正在进行的工作 netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况) netstat -s 查看正在使用的所有协议使用情况 nbtstat -a ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-a要大写 tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”用于设置超时间隔。 ping ip(或域名) 向对方主机发送默认大小为32字节的数据,参数:“-l[空格]数据包大小”;“-n发送数据次数”;“-t”指一直ping。 ping -t -l 65550 ip 死亡之ping(发送大于64k的文件并一直ping就成了死亡之ping) ipconfig (winipcfg) 用于windows nt及xp(windows 95 98)查看本地ip地址, ipconfig可用参数“/all”显示全部配置信息 tlist -t 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的support/tools文件夹内) kill -f 进程名 加-f参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的support/tools文件夹内) del -f 文件名加-f参数后就可删除只读文件,/ar、/ah、/as、/aa分别表示删除只读、隐藏、系统、存档文件,/a-r、/a-h、/a-s、/a-a表示删除除只读、隐藏、系统、存档以外的文件。例如“del/ar *.*”表示删除当前目录下所有只读文件,“del/a-s *.*”表示删除当前目录下除系统文件以外的所有文件 shutdown命令 命令如下: shutdown.exe -a 取消关机 shutdown.exe -s 关机 shutdown.exe -f 强行关闭应用程序。 shutdown.exe -m \\计算机名 控制远程计算机。 shutdown.exe -i 显示图形用户界面,但必须是Shutdown的第一个参数。 shutdown.exe -l 注销当前用户。 shutdown.exe -r 关机并重启。 shutdown.exe -t时间 设置关机倒计时。 shutdown.exe -c"消息内容" 输入关机对话框中的消息内容(不能超127个字符)。 比如你的电脑要在24:00关机,可以选择“开始→运行”,输入“at 24:00 Shutdown -s”,这样,到了24点,电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 7200”,这里表示120分钟后自动关机,“7200”代表120分钟。 如果想取消的话,可以在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。 让Windows 2000也实现同样的效果,可以把Shutdown.exe复制到系统目录System32下 eg:shutdown.exe -s -m \\z20235 当然你还可以把shutdown与at命配合使用来定时关机,会更加的精确,格式:at 关机时间 shutdown 选项 实例: at 12:45 shutdown -s -t 20 就是让机子在12:45关机,并倒计时20秒。须要注意的是在使用它时须先打开 “Task Scheduler”服务。
[编辑本段]八个基本DOS命令
一,ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。 -t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。 -l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。 -n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。 说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。 二,nbtstat 该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。 -a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息(下同)。 -A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。 -n 列出本地机器的NETBIOS信息。 当得到了对方的IP或者机器名的时候,就可以使用nbtstat命令来进一步得到对方的信息了,这又增加了我们入侵的保险系数。三,netstat 这是一个用来查看网络状态的命令,操作简便功能强大。 -a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息,如图4。 这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法:netstat -a IP。 -r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP。 四,tracert 跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。如图5。 这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。 五,net 这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软为我们提供的最好的入侵工具。 在这里,我们重点掌握几个入侵常用的子命令。 net view 使用此命令查看远程主机的所以共享资源。命令格式为net view \\IP。 net use 把远程主机的某个共享资源影射为本地盘符,图形界面方便使用,呵呵。命令格式为net use x: \\IP\sharename。上面一个表示把192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use $">\\IP\IPC$ "password" /user:"name"), 建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe $">\\192.168.0.7\admin$,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS命令就可以实现入侵了。 net start 使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。用法:net start servername,如图9,成功启动了telnet服务。 net stop 入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。 net user 查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。 1,net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。 2,net user abcd /del,将用户名为abcd的用户删除。 3,net user abcd /active:no,将用户名为abcd的用户禁用。 4,net user abcd /active:yes,激活用户名为abcd的用户。 5,net user abcd,查看用户名为abcd的用户的情况 net localgroup 查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个帐户提升为administrator组帐户,这样我们利用这个帐户就可以控制整个远程主机了。 net time 这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面,那么也许就用不到这个命令了。但简单的入侵成功了,难道只是看看吗?我们需要进一步渗透。这就连远程主机当前的时间都需要知道,因为利用时间和其他手段(后面会讲到)可以实现某个命令和程序的定时启动,为我们进一步入侵打好基础。用法:net time \\IP。 六,at 这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序(知道net time的重要了吧?)。当我们知道了远程主机的当前时间,就可以利用此命令让其在以后的某个时间(比如2分钟后)执行某个程序和命令。用法:at time command \\computer。 表示在6点55分时,让名称为a-01的计算机开启telnet服务(这里net start telnet即为开启telnet服务的命令)。 七,ftp 首先在命令行键入ftp回车,出现ftp的提示符,这时候可以键入“help”来查看帮助(任何DOS命令都可以使用此方法查看其帮助)。 首先是登陆过程,这就要用到open了,直接在ftp的提示符下输入“open 主机IP ftp端口”回车即可,一般端口默认都是21,可以不写。接着就是输入合法的用户名和密码进行登陆了,这里以匿名ftp为例介绍。 用户名和密码都是ftp,密码是不显示的。当提示**** logged in时,就说明登陆成功。这里因为是匿名登陆,所以用户显示为Anonymous。 接下来就要介绍具体命令的使用方法了。 dir 跟DOS命令一样,用于查看服务器的文件,直接敲上dir回车,就可以看到此ftp服务器上的文件。 cd 进入某个文件夹。 get 下载文件到本地机器。 put 上传文件到远程服务器。这就要看远程ftp服务器是否给了你可写的权限了,如果可以,呵呵,该怎么 利用就不多说了,大家就自由发挥去吧。 delete 删除远程ftp服务器上的文件。这也必须保证你有可写的权限。 bye 退出当前连接。 quit 同上。 八,telnet 功能强大的远程登陆命令,几乎所有的入侵者都喜欢用它,屡试不爽。为什么?它操作简单,如同使用自己的机器一样,只要你熟悉DOS命令,在成功以administrator身份连接了远程机器后,就可以用它来**想干的一切了。下面介绍一下使用方法,首先键入telnet回车,再键入help查看其帮助信息。 然后在提示符下键入open IP回车,这时就出现了登陆窗口,让你输入合法的用户名和密码,这里输入任何密码都是不显示的。 当输入用户名和密码都正确后就成功建立了telnet连接,这时候你就在远程主机上具有了和此用户一样的权限,利用DOS命令就可以实现你想干的事情了。这里我使用的超级管理员权限登陆的。 DOS命令中字符的应用 一、单符号 【~】 ① 在for中表示使用增强的变量扩展。 ② 在%var:~n,m%中表示使用扩展环境变量指定位置的字符串。 ③ 在set/a中表示一元运算符,将操作数按位取反。 【!】 ① 在set /a中一元运算符,表示逻辑非。比如set /a a=!0,这时a就表示逻辑1。 【@】 ① 隐藏命令行本身的回显,常用于批处理中。 【$】 ① 在findstr命令里面表示一行的结束。 ② 在prompt命令里面,表示将其后的字符转义(符号化或者效果化)。 【%】 ① 在set /a中的二元运算符,表示算术取余。 ② 命令行环境下,在for命令in前,后面接一个字符(可以是字母、数字或者一些特定字符),表示指定一个循环或者遍历指标变量。 ③ 批处理中,后接一个数字表示引用本批处理当前执行时的指定的参数。 ④ 其它情况下,%将会被脱去(批处理)或保留(命令行) 【^】 ① 取消特定字符的转义作用,比如& | > < ! "等,但不包括%。比如要在屏幕显示一些特殊的字符,比如> >> | ^ &等符号时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了; ② 在set/a中的二元运算符,表示按位异或。 ③ 在findstr/r的[]中表示不匹配指定的字符集。 【&】 ① 命令连接字符。比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令。 ② 在set/a中是按位与。 【*】 ① 代表任意个任意字符,就是我们通常所说的"通配符";比如想在c盘的根目录查找c盘根目录里所有的文本文件(.txt),那么就可以输入命令"dir c:\*.txt"。 ② 在set /a中的二元运算符,表示算术乘法。 ③ 在findstr/r中表示将前一个字符多次匹配。 【-】 ① 范围表示符,比如日期的查找,for命令里的tokens操作中就可以用到这个字符。 ② 在findstr/r中连接两个字符表示匹配范围。 ③ -跟在某些命令的/后表示取反向的开关。 ④ 在set /a中: 1.表示一个负数。 2.表示算术减运算。 【+】 ① 主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件,就要用到这个+字符了。 ② 在set/a中的二元运算符,表示算术加法。 【:】 ① 标签定位符,表示其后的字符串为以标签,可以作为goto命令的作用对象。比如在批处理文件里面定义了一个":begin"标签,用"goto begin"命令就可以转到":begin"标签后面来执行批处理命令了。 ② 在%var:string1=string2%中分隔变量名和被替换字串关系。 【|】 ① 管道符,就是将上一个命令的输出,作为下一个命令的输入."dir /a/b |more"就可以逐屏的显示dir命令所输出的信息。 ② 在set/a中的二元运算符,表示按位或。 ③ 在帮助文档中表示其前后两个开关、选项或参数是二选一的。 【/】 ① 表示其后的字符(串)是命令的功能开关(选项)。比如"dir /s/b/a-d"表示"dir"命令指定的不同的参数。 ② 在set/a中表示除法。 【>】 ① 命令重定向符, 参数:命令+ > +写入路径\文件名 实例: echo 唐山味儿不浓 欢迎你 >d:\1.txt ;写入文本到指定文件(如果文件存在则替换) ② 在findstr/r中表示匹配单词的右边界,需要配合转义字符\使用。 【<】 ① 将其后面的文件的内容作为其前面命令的输入。 ② 在findstr/r中表示匹配单词的左边界,需要配合转义字符\使用。 【=】 ① 赋值符号,用于变量的赋值。比如"set a=windows"的意思意思是将"windows"这个字符串赋给变量"a"。 ② 在set/a中表示算术运算,比如"set /a x=5-6*5"。 【\】 ① 这个"\"符号在有的情况下,代表的是当前路径的根目录.比如当前目录在c:\windows\system32下,那么你"dir \"的话,就相当与"dir c:\"。 ② 在findstr/r中表示正则转义字符。 【,】 ① 在set /a中表示连续表达式的分割符。 ② 在某些命令中分割元素。 【.】 ① 在路径的\后紧跟或者单独出现时: 一个.表示当前目录。 两个.表示上一级目录。 ② 在路径中的文件名中出现时: 最后的一个.表示主文件名与扩展文件名的分隔。 【?】 ① 在findstr/r中表示在此位置匹配一个任意字符。 ② 在路径中表示在此位置通配任意一个字符。 ③ 紧跟在/后表示获取命令的帮助文档。 __________________________________________________________________________________________二、多符号(符号不能分隔) 【&&】 ① 连接两个命令,当&&前的命令成功时,才执行&&后的命令。 【||】 ① 连接两个命令,当||前的命令失败时,才执行||后的命令。 【>&】 ① 将一个句柄的输出写入到另一个句柄的输入中。 【<&】 ① 从一个句柄读取输入并将其写入到另一个句柄输出中。 【%%】 ① 两个连续的%表示在预处理中脱为一个%。 ② 批处理中,在for语句的in子句之前,连续两个%紧跟一个字符(可以是字母、数字和一些特定字符),表示指定一个循 环或者遍历指标变量。 ③ 批处理中,在for语句中,使用与in之前指定的指标变量相同的串,表示引用这个指标变量。 【>>】 ① 命令重定向符,将其前面的命令的输出结果追加到其后面。 参数:命令+ >> +写入路径\文件名 实例: echo 唐山味儿不浓 欢迎你 >d:\1.txt ;写入文本到指定文件(如果文件存在则替换) netstat -an >>d:\1.txt ;即追随‘1.txt’的尾端继续写入‘netstat -an’命令输出结果 ② 在set /a中的二元运算符,表示逻辑右移。 【==】 ① 在if命令中判断==两边的元素是否相同。 【<<】 ① 在set /a中的二元运算符,表示逻辑左移。 【+=】 ① 在set /a中的二元运算符。例如set /a a+=b表示将a加上b的结果赋值给a。 【-=】 ① 在set /a中的二元运算符。例如set /a a-=b表示将a减去b的结果赋值给a。 【*=】 ① 在set /a中的二元运算符。例如set /a a*=b表示将a乘以b的结果赋值给a。 【/=】 ① 在set /a中的二元运算符。例如set /a a/=b表示将a加上b的结果赋值给a。 【%=】 ① 在set /a中的二元运算符。例如set /a a%=b表示将a除以b的余数赋值给a。 注:命令行可以直接用 set /a a%=b ,在批处理里面可以用 set /a a%%=b 。 【^=】 ① 在set /a中的二元运算符。例如set /a a"^="b表示将a与b按位异的结果赋值给a。 注:这里 "^=" 加引号是为了防止^被转义,下同。 【&=】 ① 在set /a中的二元运算符。例如set /a a"&="b表示将a与b按位与的结果赋值给a。 【|=】 ① 在set /a中的二元运算符。例如set /a a"|="b表示将a与b按位或的结果赋值给a。 【<<=】 ① 在set /a中的二元运算符。例如set /a a"<<="b表示将a按位左移b位的结果赋值给a。 【>>=】 ① 在set /a中的二元运算符。例如set /a a">>="b表示将a按位右移b位的结果赋值给a。 【\<】 ① 在findstr的一般表达式中表示字的开始处。 【\>】 ① 在findstr的一般表达式中表示字的结束处。 【! !】 ① 当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用。 【' '】 ① 在for/f中表示将它们包含的内容当作命令行执行并分析其输出。 ② 在for/f "usebackq"中表示将它们包含的字符串当作字符串分析。 【( )】 ① 命令包含或者是具有优先权的界定符,比如for命令要用到这个(),我们还可以在if,echo等命令中见到它的身影。 ② 在set /a中表示表达式分组。 【" "】 ① 界定符,在表示带有空格的路径时常要用""来将路径括起来,在一些命令里面也需要" "符号。 ② 在for/f中将表示它们包含的内容当作字符串分析。 ③ 在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容。 ④ 在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、<、&、|、空格等不再转义。 【` `】 ① 在for/f中表示它们所包含的内容当作命令行执行并分析它的输出。 【[ ]】 ① 在帮助文档表示其中的开关、选项或参数是可选的。 ② 在findstr /r中表示按其中指定的字符集匹配 按住shift可少量输入大写字母,?+?键表示先按住前一个键,同时按第二个键。 ctrl+sc或ctrl+num lock 暂停以便观察屏幕显示,在按一次继续。 ctrl+c或ctrl+break 终止程序运行,返回操作系统。