2011年4月16日 星期六

奢侈稅不分區實施,無退場機制

http://udn.com/NEWS/NATIONAL/NATS1/6276813.shtml

財政部賦稅署昨(15)日表示,早已草擬奢侈稅的施行細則,最快5月中送交行政院公布,奢侈稅應可以趕上6月1日實施。

奢侈稅確定要提前實施,鄉林建設董事長賴正鎰指出,工商建研會昨天拜會馬英九總統,告訴總統奢侈稅開徵後會影響300萬張選票。因奢侈稅一直沒定案,很多人轉趨觀望,交易量掉三、四成;目前價格有維持住,沒有往下掉,但也沒有繼續上漲。

賦稅署表示,奢侈稅施行細則會參考貨物稅稽徵規則訂立,將以「名詞解釋」把各項課徵貨物的定義說明清楚,如小客車、入會權利等。

另外也將制定稽徵程序、不動產申報程序、廠商登記等章節。

賦稅署強調,施行細則內容絕對不會逾越「特種貨物及勞務稅條例」母法,細則中不會有分區實施、退場機制,也不會增訂財政部對豁免的解釋空間。部分業者期望將落空。



【2011/04/16 經濟日報】@ http://udn.com/

在CentOS 5.5 安裝Guest Additions之方式

◆ VirtualBox 版本:v4.0.4


◆ 安裝方式

 1. 進入終端機 (Terminal)

2. 先更新系統核心 => yum install kernel-headers kernel-devel gcc

3. 切換到VirtualBox虛擬光碟掛載的位置 => cd /media/<光碟目錄>

4. 執行程式(會自動解壓縮後再安裝) => sh ./VBoxLinuxAdditions.run

5. 正常狀況應該會安裝成功,執行重新開機(reboot)即可

6-1.若出現有「失敗」字眼時,要依據終端機上的指示去執行。曾經遇
   到過的失敗案例,是一個核心套件安裝失敗,所以要額外把它挑出
   來獨立安裝
    => yum install kernel-devel-2.6.18-238.5.1.el5 (當時失敗的套件)

6-2.若6-1安裝成功,重新開機(reboot)即可
 


◆ 注意事項

 Guest Additions 的功能,主要是在協調虛擬系統與實體系統,以令其相容
 而同步作業。如同OS Driver,若驅動程式與作業系統,各走各路,周邊就
 動不起來。

 所以,我們要做的是更新Linux 核心與所使用VirtialBox版本所帶的Guest
 Additions 能夠共同協作。

 這些與Linux 核心有關的套件,大約如下:

 1. 通常安裝右述三個就夠了 => yum install kernel-headers kernel-devel gcc

 2. 再不足,就再考慮以下的套件:
  ‧binutils
  ‧make
  ‧ patch
  ‧ libgomp
  ‧ glibc-headers
  ‧ glibc-devel

 3.要注意「kernel 的版本必須和 kernel-devel 相同」

 4. x86 起動前之組態設定,要注意是否有挑「PAE」功能?若有,則Linux
  Kernel 應該要安裝「 kernel-PAE」、「 kernel-PAE-devel」

 5.「kernel 及 kernel-devel」是一對,「 kernel-PAE 及 kernel-PAE-devel」
  又是一對,千萬不要混在一起使用

Execute Virtual Machine at OS Start Up

http://ns2.ublink.org/phpbb/viewtopic.php?f=8&t=2026

VirtualBox 1.60 版已經更改資料夾位置與檔案名稱,執行的檔案已經
改成"VBoxHeadless"(若有新版,也比照以下方式,但要改執行檔名)。


所以使用 1.60版使用方式如下:

Linux (Host OS):
在你的 /etc/rc.local 中加入下列幾行
VBoxHeadless -startvm WinXP &
VBoxHeadless -startvm Win2003 &
VBoxHeadless -startvm LinuxFC6 &


Windows (Host OS):
開啟記事本,將虛線內文字另存為"Virtualbox.bat",將檔案存放到[開始]->[程式集]->[啟動]內,即可在開機 時同時跑3個Virtualbox虛擬機器的系統了.
-----------------------------------------------------------
@ECHO OFF
"C:\Program Files\Sun\xVM VirtualBox\VBoxHeadless" -startvm WinXP
"C:\Program Files\Sun\xVM VirtualBox\VBoxHeadless" -startvm Win2003
"C:\Program Files\Sun\xVM VirtualBox\VBoxHeadless" -startvm LinuxFC6
------------------------------------------------------------

PS:記得要啟用VRDP伺服器,伺服器的Port號要跳開.

註記:
"WinXP" & "Win2003" & "LinuxFC6" 是虛擬機器的OS 的名稱。
這種啟動方式,讓你不須要點選Virtualbox 主程式,再開啟你要執行的虛擬機器的OS。
它會自動啟動在背景執行,如果你有設定 OS可以遠端遙控的話,你可以在別台電腦以遠端連線來控制虛擬機器的OS。

清單 - Virtual Machine

.
◆ VirtualBox

 ‧VirtualBox Install USB & Network For DOS

   - How to set up DOS and USB
    http://forums.virtualbox.org/viewtopic.php?t=1038


   - Set up a DOS VM with networking (and shared folders)
    http://forums.virtualbox.org/viewtopic.php?t=865



 ‧ 開機就在「背景執行」虛擬系統
 ‧ 在CentOS 5.5 安裝Guest Additions之方式
 ‧ 其它Linux安裝Guest Additions方式,和Xorg配置




◆ VMWare


◆ MS Virtual PC/Server, Hyper-V
 ‧ 微軟Hyper-V伺服器虛擬化簡介



◆ 瀏覽器沙盒 (sandbox)
 ‧ Google Native Client (NaCl) , NaCl Source Code

.

2011年4月12日 星期二

清單 - Network

.

 ‧0000/00 網路封包分析的好幫手—Wireshark

.

網路封包分析的好幫手—Wireshark

http://www.netadmin.com.tw/article_content.asp?sn=0808050013
(圖片直接連結,未擷取至本站)

網路封包分析的好幫手—Wireshark 擷取分析、防範攻擊無所不包

文.蔡一郎
資訊安全是近幾年相當熱門的話題,在一個封閉的網路環境中,才有可能實現一個絕對 安全的網路環境,在網際網路中是不太可能存在這樣的條件。目前,網路環境中大多建置了各式各樣的網路安全設備,如防火牆(Firewall)、入侵偵測防 禦系統(IPS)、內容閘道器(Content Gateway)等,這些設備大多只能夠針對已知的特徵進行過濾和阻擋惡意行為,對於新型態或無法明確定義特徵的行為,則幾乎都達不到防護的要求。
網路封包的解析是目前經常用來解決現有設備不足的最佳方案。分析網路封包,除了能夠找出 異常的行為和網路流量之外,也可以用來學習各種不同通訊協定,是網路管理人員不可或缺的技能。網路提供使用環境,人類是網路的使用者,許多在真實社會發生 的事件,仍然會在網路上重演,但是更為隱匿,這也是發展資訊安全技術的重點所在。

認識網路封包分析

網路封包是目前網路用來傳送資料的最小單位。封包因為不同的應用服務或通訊協定,而有各種不同的大小。一個封包由標頭(Header)和資料(Data) 所組成,封包的屬性被詳細地定義在標頭中,包括所使用的通訊協定、來源的IP位址、來源的通訊埠、目的地的IP位址、目的地的通訊埠等欄位,不過並非所有 的通訊協定都有相同的欄位資料,由於採用不同的通訊協定,網路封包的結構都有些許的差異。

在網路上傳送網路封包,路由器(Router)主要是依據封包標頭所記載的目的地IP位址進行路由的交換,以確定依據目前的路由表(Routing Table)能夠將封包送到目的地。因此,在網路架構中的適當位置擷取網路封包,就可以取得相關的資訊進行行為分析。目前常見的網路封包分析工具有 Tcpdump、Sniffer、NetXRay、Wireshark(Ethereal)等,其中Wireshark雖然屬於Open Source軟體,但是所具備的功能卻足可媲美許多商業軟體。在GNU GPL通用授權的保障之下,使用者可以免費取得軟體及其程式碼,並擁有修改原始碼與客製化的權利。

一般而言,之所以想要解析網路封包,大致上有以下幾種原因:瞭解電腦網路目前進行的動作、監聽側錄另一台電腦網路連線、瞭解網路程式如何運行以及學習網路 通訊協定。透過網路封包的工具,使用者可以掌握目前網路上的通訊和使用者行為模式。準備擷取網路封包時,必須配合Hub、Y-TAP或Switch進行網 路介面的對應,這是因應Switch本身設備的特性而必須進行的設定。大多數中高階的交換器都會提供Port Mirror或Port Mapping功能,這樣才能夠確保安裝網路封包分析工具的設備能夠正確地擷取到網路封包。

▲網路的架構圖

網路封包分析工具(Network Packet Analyzer)並不是入侵偵測(防禦)系統,既不會對擷取到的網路封包提出警告,當然也不可能針對任何網路封包進行阻擋的動作。網路封包分析工具主要 是解析網路封包,透過軟體的介面解析網路封包,以呈現使用者真實的網路行為。

通訊協定簡介

因應不同的網路服務,目前網路使用相當多不同類型的通訊協定,這些通訊協定可以視為「溝通」的語言,讓資訊透過相同的語言在網路上進行交流,以下列舉出在網路層、傳輸層與應用層常見的通訊協定。

TCP/IP的架構 通訊協定
網路層 IP(IPv4,IPv6,IPv9)、OSPF、IS-IS、BGP、IPsec、ARP、RARP、RIP、ICMP、ICMPv6等
傳輸層 TCP、UDP、DCCP、SCTP、RTP、RSVP、IGMP、PPTP等
應用層 DHCP、DNS、FTP、Gopher、HTTP、IMAP4、IRC、NNTP、XMPP、POP3、SIP、SMTP、SNMP、SSH、TELNET、RPC、RTCP、RTSP、TLS、SDP、SOAP、GTP、STUN、NTP等
連結層 Ethernet、Wi-Fi、MPLS等

目前網路上有許多不安全的通訊協定,這些通訊協定大多採用明碼的方式傳送,經常造成資訊外洩,如HTTP、TELNET、POP、SMTP等。這些通訊協 定也都應用在常見的網路服務,包括網頁瀏覽、電子郵件接收與傳送,以及遠端管理連線等。傳統的網路服務程序,因為在網路上用明文傳送數據、用戶帳號和用戶 密碼,很容易受到中間人(Man-in-the-middle)方式的攻擊。

TCP是目前網路上最常見的通訊協定,屬於TCP/IP模型中的Application Layer(應用層),能夠確保資料正確可靠地傳送到目的地,TCP連接包含連線建立、資料傳送和連線終止三個狀態。必須完成三向交握,才能夠建立連線。

Client→Server 發送 SYN
Server→Client 發送 SYN/ACK
Client→Server 發送 ACK

HTTP(HyperText Transfer Protocol)是一種網際網路上應用相當廣泛的網路協定,使用者端和伺服端之間可以透過HTTP來傳輸資料,因為在瀏覽大多數的網站時,都會採用網域 名稱的方式,因此在整個建立連線的過程,會先查詢DNS。使用UDP 53埠向系統設定的DNS伺服器進行查詢,待取得解析後的IP位址後,才會進行TCP三向交握的處理,以建立使用者端與伺服器端的連線。

▲HTTP通訊協定

Telnet協議是TCP/IP協議族中的一員,是Internet遠端登入服務的標準協議和主要方式,傳統Telnet連線通訊所傳輸的資料並未加密, 這代表所輸入及顯示的資料,包括帳號名稱和密碼等隱密資料,可能會遭其他人竊聽,因此目前大多數設備都已經使用安全遠端登入的通訊協定SSH來取代 Telnet。由於SSH採用了加密的機制來保護所傳送的資料,因此透過Wireshark就可以很容易地發現SSH所傳送的網路封包,其內容都經過加密 處理,不像Telnet使用明文的方式來傳送資料。

Wireshark簡介

Wireshark的前身就是大名鼎鼎的Ethereal,目前最新的版本是1.0.2版,各位可以直接到Wireshark的官方網站 (www.wireshark.org)下載,在網站上提供了許多不同作業系統的版本,可以安裝在各種常見的作業系統中,在資訊安全領域 中,Wireshark被廣泛應用在網路封包的解析,目前已經能夠解析超過七百種的通訊協定,所以對於目前網路上所使用的通訊協定,幾乎都能夠辨識與解 析。此外,Wireshark也結合了強大功能的過濾器,讓使用者可以針對特定的目標分析網路封包,有助於通訊協定的行為研究與異常行為的偵測。

▲Wireshark官方網站(www.wireshark.org)

Wireshark也支援其他軟體所擷取下來網路封包檔案,以下是目前能夠支援的格式,幾乎涵蓋了所有常見的工具軟體:

libpcap, tcpdump and various other tools using tcpdump's capture format
Sun snoop and atmsnoop
Shomiti/Finisar Surveyor captures
Novell LANalyzer captures
Microsoft Network Monitor captures
AIX's iptrace captures
Cinco Networks NetXray captures
Network Associates Windows-based Sniffer and Sniffer Pro captures
Network General/Network Associates DOS-based Sniffer (compressed or uncompressed) captures
AG Group/WildPackets EtherPeek/TokenPeek/ AiroPeek/EtherHelp/PacketGrabber captures
RADCOM's WAN/LAN Analyzer captures Network Instruments Observer version 9 captures
Lucent/Ascend router debug output
HP-UX's nettl
Toshiba's ISDN routers dump output
ISDN4BSD i4btrace utility
traces from the EyeSDN USB S0
IPLog format from the Cisco Secure Intrusion
Detection System
pppd logs (pppdump format)
the output from VMS's TCPIPtrace/TCPtrace/ UCX$TRACE utilities
the text output from the DBS Etherwatch VMS utility
Visual Networks' Visual UpTime traffic capture
the output from CoSine L2 debug
the output from Accellent's 5Views LAN agents
Endace Measurement Systems' ERF format captures
Linux Bluez Bluetooth stack hcidump -w traces
Catapult DCT2000 .out files

如果之前使用過上述的軟體擷取好檔案,就能夠直接透過Wireshark開啟並且運作所提供的各種過濾器與統計分析的功能進行處理,解決原工具可能無友善 使用者介面的問題,例如純文字模式的tcpdump就無法提供像Wireshark一樣強大的過濾器與圖形介面。將tcpdump的檔案載入到 Wireshark中,就能夠快速針對封包的內容與網路封包所隱藏的行為進行分析,使用上相當的方便。

Wireshark的操作介面

Wireshark雖然不是商業軟體,但是所提供軟體介面相當優秀,具備完整的過濾器和統計分析的功能。其操作介面分成幾個主要的部份,包括最上方的功能 表和各種工具列、網路封包的清單、封包的標頭和封包的內容,並且以不同的顏色來代表各種不同的通訊協定或是過濾條件。這樣的設計讓使用者在擷取網路封包的 過程中,就能夠即時瞭解目前網路上所傳送的網路封包類型。由於Wireshark可以解析超過七百種的通訊協定,因此幾乎所有協定都能夠解碼,就算將來有 新的通訊協定推出,也會因為其採用開放原始碼的授權方式,而能夠快速地發展解析新通訊協定所需要的程式,這對於適應未來網路的發展相當重要。

另外,在網路封包清單中,可以針對不同的網路通訊協定或過濾規則指定顏色,這種設計方式可以協助使用者快速辨識各種不同通訊協定,或是過濾規則符合目前網路流量的情況,能夠更直覺地進行後續處理。

▲Wireshark的使用者介面

啟動Wireshark程式之後,將會自動載入通訊協定的解碼以及偵測目前系統上的網路介面。以目前Wireshark的版本而言,能夠辨識相當多的網路 介面裝置,除了實體的網路介面卡之外,虛擬機器(Virtual Machine)所使用的虛擬網卡大多也能夠辨識,因此從系統上同時針對虛擬機器中的作業系統來分析網路通訊協定相當容易。在網路介面卡清單中,可以瀏覽 即時的網路狀態,例如目前進入該網路介面的封包數和每秒的封包量。Wireshark另外也提供了三個控制按鈕,可以針對後續的處理程序進行控制,如果想 要進一步的瞭解網路介面卡的細部資訊,按下〔Details〕按鈕即可查看。如果在準備擷取網路封包之前,想要設定擷取網路封包時的處理機制或是套用的過 濾條件,可以按下〔Options〕按鈕進行修改。
▲網路介面卡清單與控制按鈕

在選項設定畫面中可以選擇準備擷取的網路介面卡,透過下拉式選單就能夠輕易地找到想要擷取的網路介面卡。在預設的情況下,Wireshark會將擷取到的 網路封包儲存在記憶體中,不過這樣的方式不適用在長時間的網路封包收集上,因此如果想要進行長時間的網路封包收集,可以指定儲存的檔案名稱,以及是否要分 割成多個檔案,並且可以指定分割檔案的規則等。另外,針對擷取網路封包時的畫面處理方式,建議在此勾選自動捲動(Automatic scrolling in live capture)功能,如此一來在主畫面上就能夠自動地捲動網路封包清單的捲軸,可以直接觀察到最新的網路封包資料。最後,在名稱的反解上,可以選擇是否 啟動MAC Name、Network Name和Transport Name的解析,這個項目依據實際的需求來決定即可。
▲擷取網路封包的選項

此外,針對網路封包所使用的通訊協定, Wireshark在預設的情況下會啟用所有能夠辨識的通訊協定,不過使用者仍然可以自行選擇想要比對的通訊協定種類。

如果確定某些通訊協定並不存在於收集網路封包的環境中,則可以停用這些通訊協定,這在較繁忙的網路環境中將能降低比對的協定種類與數量,也可以避免因為硬體效能的問題而遺失原本打算擷取的網路封包。通訊協定清單中提供詳細的描述,可以做為是否啟用這些通訊協定的參考。

▲啟用的通訊協定

以Wireshark的操作介面配合滑鼠右鍵的快速功能表選單,就能夠輕易地過濾或追蹤所指定網路封包或特定的通訊協定,這對使用者而言是相當方便的設計。

Wireshark的主要功能

Wireshark提供了圖形化的操作介面和功能完整的過濾器,提供使用者相當友善的操作方式,能夠快速地找到想要分析的網路封包。透過其內建的通訊協定 解析功能,使用者可以掌握每一個網路封包的詳細資訊,除了能夠瞭解封包所傳送的內容之外,也可以學習各種通訊協定的行為模式。

▲使用過濾條件(http)

前面介紹了HTTP建立連線的過程,在輸入想要開啟的網址時,必須先透過DNS伺服器進行名稱的解析。藉由Wireshark所擷取到的網路封包,很容易觀察到這個現象,以驗證整個行為的模式是否符合預期。
▲DNS與TCP的三向交握

Wireshark具備功能十分完整的過濾器(Filter),使用者可以輸入關鍵字或條件,協助鎖定分析目標。在條件輸入的欄位內,如果使用的語法正確,底色將會變成綠色,反之,則會出現紅色底色,提醒使用者必須確認所輸入的過濾條件以及語法是否有誤。
▲Wireshark具備功能完整的過濾器(Filter)

ARP是區域網路中常見的通訊協定,主要是用來查詢網路介面卡的實體位址。在區域網路中擷取封包時,若配合「arp」當作過濾的條件,將會發現如下圖的畫面,在這裡可以發現許多廣播封包正詢問區域網路中是否存在這些電腦。

在正常情況下,如果在區域網路內收到這類型的網路封包已連上網路的主機將會進行回應,因為經常會看到一些閘道器(Gateway)或路由器 (Router)發送出來的詢問封包,而這些封包正在找尋該網段中電腦或設備所使用的MAC位址。若配合過濾器,則必須輸入「arp」以作為過濾的條件, 這樣可以很容易地將焦點聚集在ARP這個通訊協定上。

▲ARP通訊協定

當發現有興趣進一步分析的網路封包,在點選該網路封包後,就可以透過滑鼠右鍵的功能表選單,直接指定交談時的過濾器,這樣就能夠很快地產生過濾條件,並且自動填入過濾規則的欄位中。
▲轉換過濾器的條件

Wireshark針對通訊協定提供了完整的Follow TCP/UDP Stream功能,能夠依序追蹤網路封包所傳送的內容,此種方式可以將有關聯性的網路封包一起呈現,如此在進行網路行為或通訊協定的行為分析時,將更為清楚易讀。
▲Follow TCP Stream功能

針對已收集到的網路封包,可以進一步針對來源和目的地位址進行交談行為的分析,透過清單的方式,很快地就會知道那些IP之間的通訊,以及所使用的通訊協定為何,在這個統計的分析中,仍然可以得知封包的數量、每秒的封包量以及封包的大小等等。
▲交談的統計

在統計分析的畫面,同樣可以快速地製作出過濾的規則。在指定的項目上,透過滑鼠右鍵的功能表選單,直接指定【Apply as Filter】,並且選擇想要分析的流量。指定時必須仔細思考要觀察與不需要觀察的項目有那些,如此過濾規則時,可成為參考的依據。
▲建立過濾規則

當完成過濾規則之後,將會自動將產生好的過濾條件,直接填入過濾器的欄位中,不論是正在收集或是單純想要分析以往收集的資料,都能夠透過這樣的方式分析網路封包。
▲自動產生過濾規則

Endpoint的統計畫面會統計目前收集到的封包,主要分成「Ethernet」、「Fiber Channel」、「FDDI」、「IPv4」、「IPX」、「JXTA」、「NCP」、「RSVP」、「SCTP」、「TCP」、「Token Ring」、「UDP」、「USB」和「WLAN」進行統計與分析。每一個項目都將終端的主機詳列成清單,並且統計各個主機所傳送的網路封包數量與大小。
▲Endpoint的統計畫面

統計的資料可以事後分析,也可以即時分析,因此想要瞭解目前網路上的使用情況,透過統計分析的功能,就能夠更清楚掌握網路的現況。對於所收集到的網路封 包,可以針對主機或是通訊協定進行分析,也可以選擇特定主機流入或流出的網路封包進行分析。當然,也可以依據通訊的雙方進行分析,不同的條件都可以在 Wireshark中統計與分析,以提供不同的資訊給使用者。

Wireshark的應用

Wireshark提供完的網路協定分析功能,透過各種統計分析能夠掌握目前網路的狀態,目前支援相當多種不同層級的統計與分析方式,可以統計每一種通訊 協定在整個收集網路封包的過程中,佔有多少的比例、封包的總量、封包大小的總和,以及每一秒送了多少Mbit的資料等,這些數據讓使用者能夠輕易地掌握目 前網路的現況。

▲通訊協定的統計

Wireshark還提供了一項相當貼心的設計,針對目前所收集到網路封包,可以任意指定一個想要納入防火牆管理的網路封包,直接產生出不同平台使用的安 全規則,這對於管理防火牆的工程師而言是相當好用的工具,因為能夠依據所產生好的安全規則直接組態設定到設備上,縮短相當多的處理時效。先指定好設備的廠 牌後,就可以依據Filter的內容,配合所指定的處理方式,轉換成設備組態所需要的安全規則,使用上相當方便。
▲直接產生不同平台使用的安全規則

如果想要在網路封包中找尋特定的字串,可以利用Wireshark所提供的搜尋封包功能,開啟「Edit/Find Packet」功能之後,可以發現這裡提供了三種不同的模式:「Display filter」、「Hex value」以及在找尋字串時所要使用「String」模式。接著,輸入想要找尋的字串即可,例如username或pass等,這些必須是明文的字串才 行,一般而言可以針對所傳送的參數進行搜尋。

▲尋找特定的字串

一些不安全的通訊協定(如POP),在使用者端的郵件軟體向郵件伺服器進行收信的動作時,會將使用者帳號與密碼以明文的方式進行傳送,此時如果透過Wireshark進行分析時,將會發現使用者的帳號與密碼資料,因而造成機敏資料外洩的問題。

在網路攻擊或異常流量的偵測上,以DDoS攻擊對於網路流量的影響最大。在極短的時間內會收集到相當多的封包,進而影響到網路的頻寬和伺服器本身的效能, 例如遭受到大量的UDP網路封包攻擊時,透過網路封包的分析,就能夠得知許多假冒來源IP位址的網路封包正針對特定的目標傳送大量的UDP網路封包。

▲不安全的通訊協定(POP)

如果攻擊的方式是使用TCP進行,則可以看到三向交握的第一個SYN網路封包,這樣的攻擊模式會造成受到攻擊的主機必須耗費相當多的系統資源,等待遠端的 電腦回應SYN/ACK的網路封包。當資源耗盡時,受攻擊的主機就無法再提供網路服務。這樣的攻擊行為同樣可以透過Wireshark所擷取到的網路封包 進行分析,進而掌握攻擊者的攻擊方式。

▲遭受DDoS攻擊時的網路封包現象(TCP)

Wireshark面對大量的攻擊封包時,有可能會因為系統效能不彰而影響到所收集到的網路封包,此時增加記憶體的容量、使用Gigabit以上的網路介面卡或是更高速的中央處理器,就能夠改善這個問題。

2011年4月9日 星期六

第2代 Intel Core (Sandy Bridge架構) 特性



Intel CPU 功能圖示























DDR3 記憶體效能: 1066MHz
BENEFITS OF DDR3 Memory:DDR3 效能比DDR2 高 13%、耗電量較低

2011年4月2日 星期六

清單 - Linux Shell Commands

編輯


  ・mount
  ・ffind找出檔案、grep找出檔案內容
  ・Linux Shell Commands: awk, sed 對檔案內容的應用


MS Shell Commands

來源:http://topmanopensource.iteye.com/blog/506634

1 echo @

@ #關閉單行回顯

echo off #從下一行開始關閉回顯

@echo off #從本行開始關閉回顯。一般批處理第一行都是這個

echo on #從下一行開始打開回顯

echo #顯示當前是 echo off 狀態還是 echo on 狀態

echo. #輸出一個回車換行,空白行

#(echo, echo; echo+ echo[ echo] echo/ echo")

2 errorlevel

echo %errorlevel%

每個命令運行結束,可以用這個命令行格式查看返回碼

默認值為0,一般命令執行出錯會設 errorlevel 1

3 dir

dir #顯示當前目錄中的文件和子目錄

dir /a #顯示當前目錄中的文件和子目錄,包括隱藏文件和系統文件

dir c: /a:d #顯示 C 盤當前目錄中的目錄

dir c: /a:-d #顯示 C 盤根目錄中的文件

dir c:" /b/p #/b只顯示文件名,/p分頁顯示

dir *.exe /s #顯示當前目錄和子目錄裡所有的.exe文件

4 cd

cd" #進入根目錄

cd #顯示當前目錄

cd /d d:"sdk #可以同時更改盤符和目錄

5 md

md d:"a"b"c #如果 d:"a 不存在,將會自動創建中級目錄

#如果命令擴展名被停用,則需要鍵入 mkdir "a"b"c

6 rd

rd abc #刪除當前目錄裡的 abc 子目錄,要求為空目錄

rd /s/q d:"temp #刪除 d:"temp 文件夾及其子文件夾和文件,/q安靜模式

7 del

del d:"test.txt #刪除指定文件,不能是隱藏、系統、只讀文件

del /q/a/f d:"temp"*.*

刪除 d:"temp 文件夾裡面的所有文件,包括隱藏、只讀、系統文件,不包括子目錄

del /q/a/f/s d:"temp"*.*

刪除 d:"temp 及子文件夾裡面的所有文件,包括隱藏、只讀、系統文件,不包括子目錄

8 ren

ren d:"temp tmp #支持對文件夾的重命名

9 cls

清屏

10 type

顯示文件內容

type c:"boot.ini #顯示指定文件的內容,程序文件一般會顯示亂碼

type *.txt #顯示當前目錄裡所有.txt文件的內容

11 copy

拷貝文件

copy c:"test.txt d:"test.bak

複製 c:"test.txt 文件到 d:" ,並重命名為 test.bak

copy con test.txt

從屏幕上等待輸入,按 Ctrl+Z 結束輸入,輸入內容存為test.txt文件

con代表屏幕,prn代表打印機,nul代表空設備

copy 1.txt + 2.txt 3.txt

合併 1.txt 2.txt 的內容,保存為 3.txt 文件

如果不指定 3.txt ,則保存到 1.txt

copy test.txt +

複製文件到自己,實際上是修改了文件日期

12 title

設置cmd窗口的標題

title 新標題 #可以看到cmd窗口的標題欄變了

13 ver

顯示系統版本

14 label vol

設置卷標

vol #顯示卷標

label #顯示卷標,同時提示輸入新卷標

label c:system #設置C盤的卷標為 system

15 pause

暫停命令

16 rem ::

註釋命令

註釋行不執行操作

17 date time

日期和時間

date #顯示當前日期,並提示輸入新日期,按""回車""略過輸入

date/t #只顯示當前日期,不提示輸入新日期

time #顯示當前時間,並提示輸入新時間,按""回車""略過輸入

time/t #只顯示當前時間,不提示輸入新時間

18 goto :

跳轉命令

:label #行首為:表示該行是標籤行,標籤行不執行操作

goto label #跳轉到指定的標籤那一行

19 find (外部命令)

查找命令

find ""abc"" c:"test.txt

c:"test.txt 文件裡查找含 abc 字符串的行

如果找不到,將設 errorlevel 返回碼為1

find /i 「abc」 c:"test.txt

查找含 abc 的行,忽略大小寫

find /c ""abc"" c:"test.txt

顯示含 abc 的行的行數

20 more (外部命令)

逐屏顯示

more c:"test.txt #逐屏顯示 c:"test.txt 的文件內容

21 tree

顯示目錄結構

tree d:" #顯示D盤的文件目錄結構

22 &

順序執行多條命令,而不管命令是否執行成功

23 &&

順序執行多條命令,當碰到執行出錯的命令後將不執行後面的命令

find ""ok"" c:"test.txt && echo 成功

如果找到了""ok""字樣,就顯示""成功"",找不到就不顯示

24 ||

順序執行多條命令,當碰到執行正確的命令後將不執行後面的命令

find ""ok"" c:"test.txt || echo 不成功

如果找不到""ok""字樣,就顯示""不成功"",找到了就不顯示

25 |

管道命令

dir *.* /s/a | find /c "".exe""

管道命令表示先執行 dir 命令,對其輸出的結果執行後面的 find 命令

該命令行結果:輸出當前文件夾及所有子文件夾裡的.exe文件的個數

type c:"test.txt|more

這個和 more c:"test.txt 的效果是一樣的

26 > >>

輸出重定向命令

> 清除文件中原有的內容後再寫入

>> 追加內容到文件末尾,而不會清除原有的內容

主要將本來顯示在屏幕上的內容輸出到指定文件中

指定文件如果不存在,則自動生成該文件

type c:"test.txt >prn

屏幕上不顯示文件內容,轉向輸出到打印機

echo hello world>con

在屏幕上顯示hello world,實際上所有輸出都是默認 >con

copy c:"test.txt f: >nul

拷貝文件,並且不顯示""文件複製成功""的提示信息,但如果f盤不存在,還是會顯示出錯信息

copy c:"test.txt f: >nul 2>nul

不顯示文件複製成功的提示信息,並且f盤不存在的話,也不顯示錯誤提示信息

echo ^^W ^> ^W>c:"test.txt

生成的文件內容為 ^W > W

^ > 是控制命令,要把它們輸出到文件,必須在前面加個 ^ 符號

27 <

從文件中獲得輸入信息,而不是從屏幕上

一般用於 date time label 等需要等待輸入的命令

@echo off

echo 2005-05-01>temp.txt

date

del temp.txt

這樣就可以不等待輸入直接修改當前日期

28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*

命令行傳遞給批處理的參數

%0 批處理文件本身

%1 第一個參數

%9 第九個參數

%* 從第一個參數開始的所有參數

批參數(%n)的替代已被增強。您可以使用以下語法:

%~1 - 刪除引號(""),擴充 %1

%~f1 - %1 擴充到一個完全合格的路徑名

%~d1 - 僅將 %1 擴充到一個驅動器號

%~p1 - 僅將 %1 擴充到一個路徑

%~n1 - 僅將 %1 擴充到一個文件名

%~x1 - 僅將 %1 擴充到一個文件擴展名

%~s1 - 擴充的路徑指含有短名

%~a1 - %1 擴充到文件屬性

%~t1 - %1 擴充到文件的日期/時間

%~z1 - %1 擴充到文件的大小

%~$PATH : 1 - 查找列在 PATH 環境變量的目錄,並將 %1

擴充到找到的第一個完全合格的名稱。如果環境

變量名未被定義,或者沒有找到文件,此組合鍵會

擴充到空字符串

可以組合修定符來取得多重結果:

%~dp1 - 只將 %1 擴展到驅動器號和路徑

%~nx1 - 只將 %1 擴展到文件名和擴展名

%~dp$PATH:1 - 在列在 PATH 環境變量中的目錄裡查找 %1

並擴展到找到的第一個文件的驅動器號和路徑。

%~ftza1 - %1 擴展到類似 DIR 的輸出行。

可以參照 call/? for/? 看出每個參數的含意

echo load ""%%1"" ""%%2"">c:"test.txt

生成的文件內容為 load ""%1"" ""%2""

批處理文件裡,用這個格式把命令行參數輸出到文件

29 if

判斷命令

if ""%1""==""/a"" echo 第一個參數是/a

if /i ""%1"" equ ""/a"" echo 第一個參數是/a

/i 表示不區分大小寫,equ == 是一樣的,其它運算符參見 if/?

if exist c:"test.bat echo 存在c:"test.bat文件

if not exist c:"windows (

echo 不存在c:"windows文件夾

)

if exist c:"test.bat (

echo 存在c:"test.bat

) else (

echo 不存在c:"test.bat

)

30 setlocal endlocal

設置命令擴展名延緩環境變量擴充

SETLOCAL ENABLEEXTENSIONS #啟用""命令擴展名""

SETLOCAL DISABLEEXTENSIONS #停用""命令擴展名""

SETLOCAL ENABLEDELAYEDEXPANSION #啟用""延緩環境變量擴充""

SETLOCAL DISABLEDELAYEDEXPANSION #停用""延緩環境變量擴充""

ENDLOCAL #恢復到使用SETLOCAL語句以前的狀態

命令擴展名默認為啟用

延緩環境變量擴充默認為停用

批處理結束系統會自動恢復默認值

可以修改註冊表以禁用""命令擴展名"",詳見 cmd /? 。所以用到""命令擴展名""的程

序,建議在開頭和結尾加上 SETLOCAL ENABLEEXTENSIONS ENDLOCAL 語句,以確

保程序能在其它系統上正確運行

""延緩環境變量擴充""主要用於 if for 的符合語句,在 set 的說明裡有其實用例程

31 set

設置變量

引用變量可在變量名前後加 % ,即 %變量名%

set #顯示目前所有可用的變量,包括系統變量和自定義的變量

echo %SystemDrive% #顯示系統盤盤符。系統變量可以直接引用

set p #顯示所有以p開頭的變量,要是一個也沒有就設errorlevel=1

set p=aa1bb1aa2bb2 #設置變量p,並賦值為 = 後面的字符串,即aa1bb1aa2bb2

echo %p% #顯示變量p代表的字符串,即aa1bb1aa2bb2

echo %p:~6% #顯示變量p中第6個字符以後的所有字符,即aa2bb2

echo %p:~6,3% #顯示第6個字符以後的3個字符,即aa2

echo %p:~0,3% #顯示前3個字符,即aa1

echo %p:~-2% #顯示最後面的2個字符,即b2

echo %p:~0,-2% #顯示除了最後2個字符以外的其它字符,即aa1bb1aa2b

echo %p:aa=c% #c替換變量p中所有的aa,即顯示c1bb1c2bb2

echo %p:aa=% #將變量p中的所有aa字符串置換為空,即顯示1bb12bb2

echo %p:*bb=c% #第一個bb及其之前的所有字符被替換為c,即顯示c1aa2bb2

set p=%p:*bb=c% #設置變量p,賦值為 %p:*bb=c% ,即c1aa2bb2

set /a p=39 #設置p為數值型變量,值為39

set /a p=39/10 #支持運算符,有小數時用去尾法,39/10=3.9,去尾得3p=3

set /a p=p/10 # /a 參數時,在 = 後面的變量可以不加%直接引用

set /a p=」1&0〞 #」運算,要加引號。其它支持的運算符參見set/?

set p= #取消p變量

set /p p=請輸入

屏幕上顯示請輸入,並會將輸入的字符串賦值給變量p

注意這條可以用來取代 choice 命令

注意變量在 if for 的復合語句裡是一次性全部替換的,如

@echo off

set p=aaa

if %p%==aaa (

echo %p%

set p=bbb

echo %p%

)

結果將顯示

aaa

aaa

因為在讀取 if 語句時已經將所有 %p% 替換為aaa

這裡的""替換"",在 /? 幫助裡就是指""擴充""""環境變量擴充""

可以啟用延緩環境變量擴充,用 ! 來引用變量,即 !變量名!

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION

set p=aaa

if %p%==aaa (

echo %p%

set p=bbb

echo !p!

)

ENDLOCAL

結果將顯示

aaa

bbb

還有幾個動態變量,運行 set 看不到

%CD% #代表當前目錄的字符串

%DATE% #當前日期

%TIME% #當前時間

%RANDOM% #隨機整數,介於0~32767

%ERRORLEVEL% #當前 ERRORLEVEL

%CMDEXTVERSION% #當前命令處理器擴展名版本號

%CMDCMDLINE% #調用命令處理器的原始命令行

可以用echo命令查看每個變量值,如 echo %time%

注意 %time% 精確到毫秒,在批處理需要延時處理時可以用到

32 start

批處理中調用外部程序的命令,否則等外部程序完成後才繼續執行剩下的指令

33 call

批處理中調用另外一個批處理的命令,否則剩下的批處理指令將不會被執行

有時有的應用程序用start調用出錯的,也可以call調用

34 choice (外部命令)

選擇命令

讓用戶輸入一個字符,從而選擇運行不同的命令,返回碼errorlevel1234……

win98裡是choice.com

win2000pro裡沒有,可以從win98裡拷過來

win2003裡是choice.exe

choice /N /C y /T 5 /D y>nul

延時5

35 assoc ftype

文件關聯

assoc 設置'文件擴展名'關聯,關聯到'文件類型'

ftype 設置'文件類型'關聯,關聯到'執行程序和參數'

當你雙擊一個.txt文件時,windows並不是根據.txt直接判斷用 notepad.exe 打開

而是先判斷.txt屬於 txtfile '文件類型'

再調用 txtfile 關聯的命令行 txtfile=%SystemRoot%"system32"NOTEPAD.EXE %1

可以在""文件夾選項""""文件類型""裡修改這2種關聯

assoc #顯示所有'文件擴展名'關聯

assoc .txt #顯示.txt代表的'文件類型',結果顯示 .txt=txtfile

assoc .doc #顯示.doc代表的'文件類型',結果顯示 .doc=Word.Document.8

assoc .exe #顯示.exe代表的'文件類型',結果顯示 .exe=exefile

ftype #顯示所有'文件類型'關聯

ftype exefile #顯示exefile類型關聯的命令行,結果顯示 exefile=""%1"" %*

assoc .txt=Word.Document.8

設置.txtword類型的文檔,可以看到.txt文件的圖標都變了

assoc .txt=txtfile

恢復.txt的正確關聯

ftype exefile=""%1"" %*

恢復 exefile 的正確關聯

如果該關聯已經被破壞,可以運行 command.com ,再輸入這條命令

36 pushd popd

切換當前目錄

@echo off

c: & cd" & md mp3 # C:" 建立 mp3 文件夾

md d:"mp4 # D:" 建立 mp4 文件夾

cd /d d:"mp4 #更改當前目錄為 d:"mp4

pushd c:"mp3 #保存當前目錄,並切換當前目錄為 c:"mp3

popd #恢復當前目錄為剛才保存的 d:"mp4

37 for

循環命令

這個比較複雜,請對照 for/? 來看

for %%i in (c: d: e: f:) do echo %%i

依次調用小括號裡的每個字符串,執行 do 後面的命令

注意%%i,在批處理中 for 語句調用參數用2%

默認的字符串分隔符是""空格鍵""""Tab""""回車鍵""

for %%i in (*.txt) do find ""abc"" %%i

對當前目錄裡所有的txt文件執行 find 命令

for /r . %%i in (*.txt) do find ""abc"" %%i

在當前目錄和子目錄裡所有的.txt文件中搜索包含 abc 字符串的行

for /r . %%i in (.) do echo %%~pni

顯示當前目錄名和所有子目錄名,包括路徑,不包括盤符

for /r d:"mp3 %%i in (*.mp3) do echo %%i>>d:"mp3.txt

d:"mp3 及其子目錄裡的mp3文件的文件名都存到 d:"mp3.txt 裡去

for /l %%i in (2,1,8) do echo %%i

生成2345678的一串數字,2是數字序列的開頭,8是結尾,1表示每次加1

for /f %%i in ('set') do echo %%i

set 命令的輸出結果循環調用,每行一個

for /f ""eol=P"" %%i in ('set') do echo %%i

set 命令的輸出結果,忽略以 P 開頭的那幾行

for /f %%i in (d:"mp3.txt) do echo %%i

顯示 d:"mp3.txt 裡的每個文件名,每行一個,不支持帶空格的名稱

for /f ""delims="" %%i in (d:"mp3.txt) do echo %%i

顯示 d:"mp3.txt 裡的每個文件名,每行一個,支持帶空格的名稱

for /f ""skip=5 tokens=4"" %%a in ('dir') do echo %%a

dir 命令的結果,跳過前面5行,餘下的每行取第4

每列之間的分隔符為默認的""空格""

可以注意到 dir 命令輸出的前5行是沒有文件名的

for /f ""tokens=1,2,3 delims=- "" %%a in ('date /t') do (

echo %%a

echo %%b

echo %%c

)

date /t 的輸出結果,每行取123

第一列對應指定的 %%a ,後面的 %%b %%c 是派生出來的,對應其它列

分隔符指定為 - ""空格"",注意 delims=- 後面有個""空格""

其中 tokens=1,2,3 若用 tokens=1-3 替換,效果是一樣的

for /f ""tokens=2* delims=- "" %%a in ('date /t') do echo %%b

取第2列給 %%a ,其後的列都給 %%b

32 subst (外部命令)

映射磁盤。

subst z: "server"d #這樣輸入z:就可以訪問"server"d

subst z: /d #取消該映射

subst #顯示目前所有的映時

38 xcopy (外部命令)

文件拷貝

xcopy d:"mp3 e:"mp3 /s/e/i/y

複製 d:"mp3 文件夾、所有子文件夾和文件到 e:" ,覆蓋已有文件

/i 表示如果 e:" 沒有 mp3 文件夾就自動新建一個,否則會有詢問

HP宣布支援Google雲端列印

http://www.ithome.com.tw/itadm/article.php?c=66819
文/陳曉莉 (編譯) 2011-04-01

在與Google Cloud Print整合後,使用者必須先在Google帳號中加入這些印表機的電子郵件位址,在執行Gmail或Google Docs等行動程式時,只要選擇Google帳號中所列出的印表機位址,就可傳送檔案進行列印。


HP週四(3/31)宣佈旗下具備ePrint功能的印表機都將支援Google雲端列印(Google Cloud Print),因此,使用者只要使用連網裝置,不需要驅動程式,不需要連結個人電腦,也不用額外的軟體,就能執行遠端列印。

Google於去年4月發表雲端列印計畫,讓使用各種作業系統的裝置或應用程式都能在各式印表機上列印。Google藉由該雲端列印平台讓應用程式提交及管理列印工作,負責把使用者的列印工作傳到印表機上,各種桌面、行動或雲端應用程式都可透過該平台進行列印。

HP說明,具備ePrint功能的印表機都有自己的郵件位址,使用者只要在Google帳號中加入這些位址,然後選擇印表機,就可進行列印。支援 ePrint功能的印表機包括HP Photosmart、HP Officejet、HP Officejet Pro及HP LaserJet Pro。

雖然Google曾標榜不論何種印表機都可使用Google雲端列印功能,但若要創造最流暢的使用經驗還是得仰賴支援Google Cloud Print的裝置。

HP的ePrint就是賦予每個印表機一個獨立的電子郵件位址,使用者只要將透過電子郵件服務將所要列印的文件傳送到該位址即可進行遠端列印,因此可支援諸如電腦或智慧型手機等擁有電子郵件功能的行動裝置。

在與Google Cloud Print整合後,使用者必須先在Google帳號中加入這些印表機的電子郵件位址,在執行Gmail或Google Docs等行動程式時,只要選擇Google帳號中所列出的印表機位址,就可傳送檔案進行列印。

Google已陸續釋出各種支援雲端列印的產品及服務,包括Chrome筆電、行動版Gmail及Google Docs,亦有第三方業者釋出支援Google雲端列印的Android程式、Chrome擴充程式與Firefox附加程式等。(編譯/陳曉莉)