中央機械網管小組 July 21, 2001 5:20 PM

前言:其實這種字少少,類似演講提詞手稿的東西,如果加點水編成投影片的形式會更好看,也方便使用。不過鑑於 PPT 或 PDF 檔案都是封閉的檔案格式,雖然 reader 可以免費取得,但我還是堅持使用醜醜的,totally FREE 的 HTML 格式,以響應 OpenSource 的精神。

第零章 資料的搜尋與取得

使用搜索引擎:國內的 Openfind,國外的 Google

Openfind:邏輯運算符號都可用,可以做網站搜尋、全文檢索、BBS檢索的功能。

Google: 名字由 googol 而來,意為 10^100。只有全文檢索的功能,但速度快,資料量極多。

例題:尋找按鈕變亂碼、45G 新硬碟抓不到的問題。

尋找文件

除了用搜索引擎找以外,也可以直接造訪特定網站

Linuxdoc.org

英文的 How-To 集散地

CLDP 中文 Linux 文件計畫

這裡是中文翻譯版,不過最近新的文件都是對岸翻譯的,翻譯的品質嘛.....見仁見智啦!我是覺得有時直接看英文的比較快。

 

中央大學圖書館

好書很多,但通常都不在書架上。需要預約,但別害怕等待。

HOW-TO、書籍、網站間的差別:書籍或 HOW-TO 的說明較詳盡,但時效性比較差。尤其是 HOW-TO,照作之前最好先查看 manual,看看有沒有最新的、較適合的方法。

UNIX 超級工具(上下):被本人譽為九陰真經的絕妙好書,看完以後你也可以幹掉「吳一行」。

HINT:find, xargs, tee, (...), awk, sed..........

尋找軟體

Freshmeat 鮮肉

超強力搜索引擎

SourceForge

OpenSource 社群網站

ToGet?

找 Windows 應用程式時來這兒

LhD Linux 硬體資料網站

採購新硬體前檢查一下

Study Area

網中人的絕佳入門網站(裡面有 baseXXXX)

ylchang 近期工作紀錄

中研院計中

台北市教育網路中心

很久沒有好東西出現了,可能是負責人離職了吧。

基本上有兩種文件。一種是屬於 introduction guide 導覽、介紹的入門用文章,適合無經驗的新手服用。大部分的書籍都是屬於這類。另一種就純粹是零零碎碎的功能說明、語法介紹,屬於工程手冊的東西

 

在 UNIX 底下要怎麼辦?查手冊嘍!

1. 買本書。野心別太大,這本書只能帶你入門,所以涵蓋的主題不會太多,這樣知識的濃度才不會被稀釋掉,可惜大部分的中文書都不及格。所以別叫我推薦你買哪一本書,只要你自己喜歡就好了。

2. 學會一些基本的指令以後,開始用 man 闖天下。man 是 manual 的簡寫,遇到不會用的東西,一律先把 manual 看完整再開始動作。

3. info 是系統簡介。算 online guide 吧。我很少用。

4. 開始用 man 闖天下嘍!

5. man man 看有哪些功能。(-k,數字代表的意義)

6. 檔案的位置在哪?(find, locate, whereis, type, which)

7. 這是哪一種檔案?(file)

8. 檔案內容搜尋 grep

9. rpm Redhat Package Manager

10. rpm -qpi; rpm -qpl; /usr/doc

11.一般的 GNU 軟體:prog --help。至少會有一行 syntax 或 usage()。

 

※基本上這部分的資料,屬於「地圖」之類的工具,還是要先學會一點基本的行走知識。所以也許要先上一點 UNIX 基本指令。

※找好網站需要一點運氣,但通常跟著網站間相互的推薦連結,就可以找到一群很不錯的站

※用 Freshmeat 可以感覺很幸福。試著用 forum、monitor 的關鍵字下去找找看吧。

 

第一章 網路與通訊協定

理論部分:OSI 網路七層模型

使用者
7
應用層
Application Layer
將功能實做成函式 WinSock
6
表現層
Presentation Layer
將訊號轉換成資訊  
5
會議層
Session Layer
建立&中斷連線的程序 TCP/UDP
4
傳輸層
Transport Layer
傳輸方式、傳輸路徑 TCP/UDP
3
網路層
Network Layer
決定網路上的名稱、位置 IP/MAC
2
資料連結層
Data Link Layer
光電磁訊號定義 Ethernet
1
實體層
Physical Layer
實體電線電纜的連結 Ethernet

1. 實體層

網路設備(網路卡)之間的電纜、光纖連結。定義了諸如電流、電壓、頻率、腳位等電氣規格,是建立網路的根本。嗯...既然 UNIX 是電話公司發明的,我們就用電話系統來作例子吧。這一層的工作就是決定你的電話線該長什麼樣子,上面承載的電壓電流多大,哪一條線接聽筒,哪一條線接麥克風......。除非你做的電話符合規格,不然就無法跟別人的電話通話。

2. 資料連結層

建立實體連接之後,還要在定義線上的訊號什麼是0、什麼是1、什麼是無意義的雜訊,這樣線上跑的那些電子、光子才能幫你傳遞資料,所以此層命名為資料連結層。

在電話系統上,這就是決定怎樣的訊號是國語、台語、英語、傳真機語、數據機語,一旦訊號系統不相通,彼此都不能解釋通訊的內容是什麼。

3. 網路層

網路可以傳送資料以後,接著便是做定址的工作。因為在通訊之前,必須要先知道自己和對方的位置,這樣才能把資料傳送到正確的地方。

就好比我們要打電話給某人之前,要先查查他的電話號碼幾號:要別人能打電話聯絡自己,也要先告訴別人我的電話是幾號(或是去電話公司登記在電話本裡),之後才能談後續的動作。

4. 傳輸層

定址完畢,終於可以開始傳資料了。這層決定一個網路該如何傳送資料,資料漏失時的處置等等,定義本身不算複雜,但實做起來要花點功夫。

至於在電話系統裡面,這部分是機房工作人員&交換機的工作,所以我就不舉例子了。

5.會議層

(我個人覺得這一層的順序有點奇怪。)

在正式開始傳輸資料之前,我們需要會議層來定義該如何建立和終止一個網路連線。以電話的例子來講,撥號之後是對方電話鈴響,對方接通之後開始有聲音傳過來,然後依照慣例,對方會說一聲「喂∼」,然後.........。當然,不是每回撥號都這麼順利,所以會議層也要包含接不通時的反應,隔多久重播等等。

6.表現層

做完前面五層的工作,我們的網路便具備了傳輸資料的基本能力。但請不要忘了,我們之前所說的「資料」並不能稱作為「資料」,它們只能算是實體線路上傳輸的「訊號」,還需要有一套規範來決定各種訊號的意義。就好比以前的電報員需要先熟讀一本 XX 電碼表,接著才能開始解讀電報機上傳來的滴滴答答聲是什麼意思。

7.應用層

注意,應用層並不是指我們一般用的應用程式,而是 bind(), listen() 這類 API 函式。

到了這一層,網路的基本建設都差不多完備了,所以這一層的工作便是把之前辛苦的成果,組合整理成實際可用的函式(之後再整合成API),交給程式開發人員寫成能用的程式。


實務應用一:MS-Windows 的網路設定

對不起,我懶得處理圖片了

網路元件

主網路登入

TCP/IP

其他不瞭解的地方?

 

實務應用二:網路設備的分類

Tranceiver

Layer1,實體介面間的轉換

Repeater(RG58)

Layer1,匯集實體線路

Hub(UTP)

Layer1,匯集實體線路

Bridge

Layer2,連接異質網路,例如光電訊號的轉換

Switch

Layer2,匯集網段(segment),並處理網段間的通訊

Router

Layer3,匯集網絡(network),並處理網絡之間的通訊


實務應用三:網芳與 SAMBA

NetBIOS/NetBEUI

台大資工系學生的作業 NetBIOS Protocol

裡面的東西比較傾向講解 NetBIOS API 的功能及其在網路芳鄰通訊中的角色,文章不容易讀懂,需要有人導讀。

SAMBA

官方網站

不像微軟體系的文件包裝嚴重,這裡的文章單刀直入,十足的工程師性格,而且還可以發現許多鮮為人知的 Windows 設計細節(也許是從 MSDN 裡挖出來的)。

UNIX 與 NT 的整合

總結:通訊協定是建立網路的基石。用NetBIOS 可以建立宿網內最便利的網芳通訊,由 TCP/IP 可以發展出超越地理界限的 Internet。

 

第二章 UNIX 概論

什麼是作業系統?

什麼是UNIX?

在 i386 機器上安裝 UNIX

目前有哪些選擇?

有哪些安裝方式?

實務操作步驟

ぇ 製作開機磁片(裡面其實就是一個基本的系統)

え 設定核心與驅動程式

ぉ 分割硬碟

お 決定系統資訊

か 設定資料來源

が 選擇安裝套件

き 開始安裝

ぎ 處理 boot 相關事宜

く superuser password

ぐ 重新開機

UNIX 樹狀檔案系統,各目錄的意義。

存取權限

如何把玩 UNIX(在 sparc 上實行)

4. shell/editor 的使用。shell:bash 或 sh,editor:vi 或 vim

5. man info 的使用


第三章 UNIX 系統管理


複習 C 語言的概念


由 source code 編譯出可以用的程式


- 看 README INSTALL Makefile*
3. 用 package 安裝程式(再玩簡單的)
- FreeBSD 下的 pkg_add 系列
- RedHat family 的 RPM

>>>>>> 以下為選修 <<<<<<<<
4. file-link 的概念(選修)
- 用 ls -li 觀察
5. 一些 shell 的使用技巧(示範,但不講解)
6. 一些好用的工具程式,如 grep find xargs 等等等
7. 系統的裝置檔、記錄檔


四、Security
註:1) 因為涵蓋範圍廣闊,所以不適合翻成中文
2) 題目是個大哉問,我也不太知道該怎麼講
3) 有興趣可以去修資管所的課

Part.A
Client 端的 security (鳥人最在行的)
防毒、防木馬等等,不想班門弄斧,所以只講概念

Part.B
Server 端的 security (系統安全)

1. 分兩大類:local 與 remote
2. remote 分真假、會不會蔓延
3. 入侵方式講一講:
- shell-in
- daemon bug
- format-string(新)
4.產生漏洞的緣由:
- buffer overflow(把 register 內容蓋掉)
- race condition(查一下 SecurityFocus.com)
- root 的失誤(分 suid/sgid 及 /tmp 兩大類)
- 不當的 system call(提前跳脫)
5. 平時該注意事項、防護方法
6. 進階應對方案
7. 參考資料(ALL ON-LINE)

Part.C
通訊上的安全

1.緣由:..........
2.資料本身的處理:
-crypto(編碼)
-digest(彙簽)
-sign(簽章)
3.通訊時的處理:
-switch-ed network
-wrap後的 VPN/tunnel