8.9
一、scss和less的區別和用法
1.編譯環境不一樣
Sass的安裝需要Ruby環境,是在服務端處理的,而Less是需要引入less.js來處理Less代碼輸出css到瀏覽器,也可以在開發環節使用Less,然後編譯成css文件,直接放到項目中,也有 Less.app、SimpleLess、CodeKit.app這樣的工具,也有在線編譯地址。
2.變量符不一樣,Less是@,而Scss是$,而且變量的作用域也不一樣。
Less-作用域
@color: #00c; /* 藍色 */
#header {
@color: #c00; /* red */
border: 1px solid @color; /* 紅色邊框 */
}
#footer {
border: 1px solid @color; /* 藍色邊框 */
}
Less-作用域編譯後
#header{border:1px solid #cc0000;}
#footer{border:1px solid #0000cc;}
scss-作用域
$color: #00c; /* 藍色 */
#header {
$color: #c00; /* red */
border: 1px solid $color; /* 紅色邊框 */
}
#footer {
border: 1px solid $color; /* 藍色邊框 */
}
Sass-作用域編譯後
#header{border:1px solid #c00}
#footer{border:1px solid #c00}
我們可以看出來,less和scss中的變量會隨著作用域的變化而不一樣。
3.輸出設置,Less沒有輸出設置,Sass提供4中輸出選項:nested, compact, compressed 和 expanded。
輸出樣式的風格可以有四種選擇,默認為nested
- nested:嵌套縮進的css代碼
- expanded:展開的多行css代碼
- compact:簡潔格式的css代碼
- compressed:壓縮後的css代碼
4.Sass支持條件語句,可以使用if{}else{},for{}循環等等。而Less不支持。
/* Sample Sass “if” statement */
@if lightness($color) > 30% {
} @else {
}
/* Sample Sass “for” loop */
@for $i from 1 to 10 {
.border-#{$i} {
border: #{$i}px solid blue;
}
}
5. 引用外部CSS文件
scss引用的外部文件命名必須以_開頭, 如下例所示:其中_test1.scss、_test2.scss、_test3.scss文件分別設置的h1 h2 h3。文件名如果以下劃線_開頭的話,Sass會認為該文件是一個引用文件,不會將其編譯為css文件.
// 源代碼:
@import "_test1.scss";
@import "_test2.scss";
@import "_test3.scss";
// 編譯後:
h1 {
font-size: 17px;
}
h2 {
font-size: 17px;
}
h3 {
font-size: 17px;
}
[email protected]
6.Sass和Less的工具庫不同
Sass有工具庫Compass, 簡單說,Sass和Compass的關系有點像Javascript和jQuery的關系,Compass是Sass的工具庫。在它的基礎上,封裝了一系列有用的模塊和模板,補充強化了Sass的功能。
Less有UI組件庫Bootstrap,Bootstrap是web前端開發中一個比較有名的前端UI組件庫,Bootstrap的樣式文件部分源碼就是采用Less語法編寫。
總結
不管是Sass,還是Less,都可以視為一種基於CSS之上的高級語言,其目的是使得CSS開發更靈活和更強大,Sass的功能比Less強大,基本可以說是一種真正的編程語言了,Less則相對清晰明了,易於上手,對編譯環境要求比較寬松。考慮到編譯Sass要安裝Ruby,而Ruby官網在國內訪問不了,個人在實際開發中更傾向於選擇Less。
二、gulp
易於使用
通過代碼優於配置的策略,Gulp 讓簡單的任務簡單,復雜的任務可管理。
構建快速
利用 Node.js 流的威力,你可以快速構建項目並減少頻繁的 IO 操作。
插件高質
Gulp 嚴格的插件指南確保插件如你期望的那樣簡潔高質得工作。
易於學習
通過最少的 API,掌握 Gulp 毫不費力,構建工作盡在掌握:如同一系列流管道。
三、cmd命令
在命令行下輸入輸入arp -a(p和-之間有一個空格),系統將會顯示出ARP緩存表,-g和-a是相同的
如果不使用–save/–save-dev安裝模塊的話需要手動更新package.json裏的dependencies和devDepandencies,而使用–save/–save-dev就可以自動更新package.json了
一,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。
下面我們舉個例子來說明一下具體用法。
這裏time=2表示從發出數據包到接受到返回數據包所用的時間是2秒,從這裏可以判斷網絡連接速度的大小。從TTL的返回值可以初步判斷被ping主機的操作系統,之所以說"初步判斷"是因為這個值是可以修改的。這裏TTL=32表示操作系統可能是 win98。
(小知識:如果TTL=128,則表示目標主機可能是Win2000;如果TTL=250,則目標主機可能是Unix)
至於利用ping命令可以快速查找局域網故障,可以快速搜索最快的QQ服務器,可以對別人進行ping攻擊……這些就靠大家自己發揮了。
二,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 /?回車如圖6。
在這裏,我們重點掌握幾個入侵常用的子命令。
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 localgroup groupname username /add。
現在我們把剛才新建的用戶abcd加到administrator組裏去了,這時候abcd用戶已經是超級管理員了,呵呵,你可以再使用net user abcd來查看他的狀態,和圖10進行比較就可以看出來。但這樣太明顯了,網管一看用戶情況就能漏出破綻,所以這種方法只能對付菜鳥網管,但我們還得知道。現在的手段都是利用其他工具和手段克隆一個讓網管看不出來的超級管理員,這是後話。有興趣的朋友可以參照《黑客防線》第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服務的主機(一般都是開了21端口的機器),如果你還不會使用ftp的命令怎麽辦?下面就給出基本的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命令的介紹就告一段落了,這裏介紹的目的只是給菜鳥網管一個印象,讓其知道熟悉和掌握網絡DOS命令的重要性。其實和網絡有關的DOS命令還遠不止這些,這裏只是拋磚引玉,希望能對廣大菜鳥網管有所幫助。學好DOS對當好網管有很大的幫助,特別的熟練掌握了一些網絡的DOS命令。
另外大家應該清楚,任何人要想進入系統,必須得有一個合法的用戶名和密碼(輸入法漏洞差不多絕跡了吧),哪怕你拿到帳戶的只有一個很小的權限,你也可以利用它來達到最後的目的。所以堅決消滅空口令,給自己的帳戶加上一個強壯的密碼,是最好的防禦弱口令入侵的方法。
8.9