## 5.5 封包擷取功能
很多時候由于我們的網絡聯機出現問題,使用類似 ping 的軟件功能卻又無法找出問題點,最常見的是因為路由與 IP 轉遞后所產生的一些困擾 (請參考防火墻與 NAT 主機部分),這個時候要怎么辦?最簡單的方法就是『分析封包的流向』啰!透過分析封包的流向,我們可以了解一條聯機應該是如何進行雙向的聯機的動作, 也就會清楚的了解到可能發生的問題所在了!底下我們就來談一談這個 tcpdump 與圖形接口的封包分析軟件吧!
* * *
### 5.5.1 文字接口封包擷取器: tcpdump
說實在的,對于 tcpdump 這個軟件來說,你甚至可以說這個軟件其實就是個黑客軟件, 因為他不但可以分析封包的流向,連封包的內容也可以進行『監聽』, 如果你使用的傳輸數據是明碼的話,不得了,在 router 或 hub 上面就可能被人家監聽走了! 我們在[第二章談到的 CSMA/CD](http://linux.vbird.org/linux_server/0110network_basic.php#tcpip_link_csmacd) 流程中,不是說過有所謂的『監聽軟件』嗎?這個 tcpdump 就是啦! 很可怕吶!所以,我們也要來了解一下這個軟件啊!(注:這個 tcpdump 必須使用 root 的身份執行)
```
[root@www ~]# tcpdump [-AennqX] [-i 接口] [-w 儲存檔名] [-c 次數] \
[-r 檔案] [所欲擷取的封包數據格式]
選項與參數:
-A :封包的內容以 ASCII 顯示,通常用來捉取 WWW 的網頁封包資料。
-e :使用資料連接層 (OSI 第二層) 的 MAC 封包數據來顯示;
-nn:直接以 IP 及 port number 顯示,而非主機名與服務名稱
-q :僅列出較為簡短的封包信息,每一行的內容比較精簡
-X :可以列出十六進制 (hex) 以及 ASCII 的封包內容,對于監聽封包內容很有用
-i :后面接要『監聽』的網絡接口,例如 eth0, lo, ppp0 等等的界面;
-w :如果你要將監聽所得的封包數據儲存下來,用這個參數就對了!后面接檔名
-r :從后面接的檔案將封包數據讀出來。那個『檔案』是已經存在的檔案,
并且這個『檔案』是由 -w 所制作出來的。
-c :監聽的封包數,如果沒有這個參數, tcpdump 會持續不斷的監聽,
直到使用者輸入 [ctrl]-c 為止。
所欲擷取的封包數據格式:我們可以專門針對某些通訊協議或者是 IP 來源進行封包擷取,
那就可以簡化輸出的結果,并取得最有用的信息。常見的表示方法有:
'host foo', 'host 127.0.0.1' :針對單部主機來進行封包擷取
'net 192.168' :針對某個網域來進行封包的擷取;
'src host 127.0.0.1' 'dst net 192.168':同時加上來源(src)或目標(dst)限制
'tcp port 21':還可以針對通訊協議偵測,如 tcp, udp, arp, ether 等
還可以利用 and 與 or 來進行封包數據的整合顯示呢!
# 范例一:以 IP 與 port number 捉下 eth0 這個網絡卡上的封包,持續 3 秒
[root@www ~]# tcpdump -i eth0 -nn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
17:01:47.360523 IP 192.168.1.101.1937 > 192.168.1.100.22: Flags [.], ack 196, win 65219,
<u>17:01:47.362139 IP 192.168.1.100.22 > 192.168.1.101.1937: Flags [P.], seq 196:472, ack 1,</u>
17:01:47.363201 IP 192.168.1.100.22 > 192.168.1.101.1937: Flags [P.], seq 472:636, ack 1,
17:01:47.363328 IP 192.168.1.101.1937 > 192.168.1.100.22: Flags [.], ack 636, win 64779,
<==按下 [ctrl]-c 之后結束
6680 packets captured <==捉下來的封包數量
14250 packets received by filter <==由過濾所得的總封包數量
7512 packets dropped by kernel <==被核心所丟棄的封包
```
如果你是第一次看 tcpdump 的 man page 時,肯定一個頭兩個大,因為 tcpdump 幾乎都是分析封包的表頭數據,用戶如果沒有簡易的網絡封包基礎,要看懂粉難吶! 所以,至少你得要回到[網絡基礎](http://linux.vbird.org/linux_server/0110network_basic.php)里面去將 TCP 封包的表頭資料理解理解才好啊! ^_^!至于那個范例一所產生的輸出范例中,我們可以約略區分為數個字段, 我們以范例一當中那個特殊字體行來說明一下:
* 17:01:47.362139:這個是此封包被擷取的時間,『時:分:秒』的單位;
* IP:透過的通訊協議是 IP ;
* 192.168.1.100.22 > :傳送端是 192.168.1.100 這個 IP,而傳送的 port number 為 22,你必須要了解的是,那個大于 (>) 的符號指的是封包的傳輸方向喔!
* 192.168.1.101.1937:接收端的 IP 是 192.168.1.101, 且該主機開啟 port 1937 來接收;
* [P.], seq 196:472:這個封包帶有 PUSH 的數據傳輸標志, 且傳輸的數據為整體數據的 196~472 byte;
* ack 1:ACK 的相關資料。
最簡單的說法,就是該封包是由 192.168.1.100 傳到 192.168.1.101,透過的 port 是由 22 到 1937 , 使用的是 PUSH 的旗標,而不是 SYN 之類的主動聯機標志。呵呵!不容易看的懂吧!所以說,上頭才講請務必到 [TCP 表頭數據](http://linux.vbird.org/linux_server/0110network_basic.php#tcpip_transfer_tcp)的部分去瞧一瞧的啊!
再來,一個網絡狀態很忙的主機上面,你想要取得某部主機對你聯機的封包數據而已時, 使用 tcpdump 配合管線命令與正規表示法也可以,不過,畢竟不好捉取! 我們可以透過 tcpdump 的表示法功能,就能夠輕易的將所需要的數據獨立的取出來。 在上面的范例一當中,我們僅針對 eth0 做監聽,所以整個 eth0 接口上面的數據都會被顯示到屏幕上, 不好分析啊!那么我們可以簡化嗎?例如只取出 port 21 的聯機封包,可以這樣做:
```
[root@www ~]# tcpdump -i eth0 -nn port 21
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
01:54:37.96 IP 192.168.1.101.1240 > 192.168.1.100.21: . ack 1 win 65535
01:54:37.96 IP 192.168.1.100.21 > 192.168.1.101.1240: P 1:21(20) ack 1 win 5840
01:54:38.12 IP 192.168.1.101.1240 > 192.168.1.100.21: . ack 21 win 65515
01:54:42.79 IP 192.168.1.101.1240 > 192.168.1.100.21: P 1:17(16) ack 21 win 65515
01:54:42.79 IP 192.168.1.100.21 > 192.168.1.101.1240: . ack 17 win 5840
01:54:42.79 IP 192.168.1.100.21 > 192.168.1.101.1240: P 21:55(34) ack 17 win 5840
```
瞧!這樣就僅提出 port 21 的信息而已,且仔細看的話,你會發現封包的傳遞都是雙向的, client 端發出『要求』而 server 端則予以『響應』,所以,當然是有去有回啊! 而我們也就可以經過這個封包的流向來了解到封包運作的過程。舉例來說:
1. 我們先在一個終端機窗口輸入『 tcpdump -i lo -nn 』 的監聽,
2. 再另開一個終端機窗口來對本機 (127.0.0.1) 登入『ssh localhost』
那么輸出的結果會是如何?
```
[root@www ~]# tcpdump -i lo -nn
1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
2 listening on lo, link-type EN10MB (Ethernet), capture size 96 bytes
3 11:02:54.253777 IP 127.0.0.1.32936 > 127.0.0.1.22: S 933696132:933696132(0)
win 32767 <mss 16396,sackOK,timestamp 236681316 0,nop,wscale 2>
4 11:02:54.253831 IP 127.0.0.1.22 > 127.0.0.1.32936: S 920046702:920046702(0)
ack 933696133 win 32767 <mss 16396,sackOK,timestamp 236681316 236681316,nop,
wscale 2>
5 11:02:54.253871 IP 127.0.0.1.32936 > 127.0.0.1.22: . ack 1 win 8192 <nop,
nop,timestamp 236681316 236681316>
6 11:02:54.272124 IP 127.0.0.1.22 > 127.0.0.1.32936: P 1:23(22) ack 1 win 8192
<nop,nop,timestamp 236681334 236681316>
7 11:02:54.272375 IP 127.0.0.1.32936 > 127.0.0.1.22: . ack 23 win 8192 <nop,
nop,timestamp 236681334 236681334>
```
上表顯示的頭兩行是 tcpdump 的基本說明,然后:
* 第 3 行顯示的是『來自 client 端,帶有 SYN 主動聯機的封包』,
* 第 4 行顯示的是『來自 server 端,除了響應 client 端之外(ACK),還帶有 SYN 主動聯機的標志;
* 第 5 行則顯示 client 端響應 server 確定聯機建立 (ACK)
* 第 6 行以后則開始進入數據傳輸的步驟。
從第 3-5 行的流程來看,熟不熟悉啊?沒錯!那就是[三向交握](http://linux.vbird.org/linux_server/0110network_basic.php#tcpip_transfer_tcphand)的基礎流程啦!夠有趣吧! 不過 tcpdump 之所以被稱為黑客軟件之一可不止上頭介紹的功能吶! 上面介紹的功能可以用來作為我們主機的封包聯機與傳輸的流程分析, 這將有助于我們了解到封包的運作,同時了解到主機的防火墻設定規則是否有需要修訂的地方。
更神奇的使用要來啦!如果我們使用 tcpdump 在 router 上面監聽『明碼』的傳輸數據時, 例如 FTP 傳輸協議,你覺得會發生什么問題呢? 我們先在主機端下達『 tcpdump -i lo port 21 -nn -X 』然后再以 ftp 登入本機,并輸入賬號與密碼, 結果你就可以發現如下的狀況:
```
[root@www ~]# tcpdump -i lo -nn -X 'port 21'
0x0000: 4500 0048 2a28 4000 4006 1286 7f00 0001 E..H*(@.@.......
0x0010: 7f00 0001 0015 80ab 8355 2149 835c d825 .........U!I.\.%
0x0020: 8018 2000 fe3c 0000 0101 080a 0e2e 0b67 .....<.........g
0x0030: 0e2e 0b61 3232 3020 2876 7346 5450 6420 ...a220.(vsFTPd.
0x0040: 322e 302e 3129 0d0a 2.0.1)..
0x0000: 4510 0041 d34b 4000 4006 6959 7f00 0001 E..A.K@.@.iY....
0x0010: 7f00 0001 80ab 0015 835c d825 8355 215d .........\.%.U!]
0x0020: 8018 2000 fe35 0000 0101 080a 0e2e 1b37 .....5.........7
0x0030: 0e2e 0b67 5553 4552 2064 6d74 7361 690d ...gUSER.dmtsai.
0x0040: 0a .
0x0000: 4510 004a d34f 4000 4006 694c 7f00 0001 E..J.O@.@.iL....
0x0010: 7f00 0001 80ab 0015 835c d832 8355 217f .........\.2.U!.
0x0020: 8018 2000 fe3e 0000 0101 080a 0e2e 3227 .....>........2'
0x0030: 0e2e 1b38 5041 5353 206d 7970 6173 7377 ...8PASS.mypassw
0x0040: 6f72 6469 7379 6f75 0d0a ordisyou..
```
上面的輸出結果已經被簡化過了,你必須要自行在你的輸出結果當中搜尋相關的字符串才行。 從上面輸出結果的特殊字體中,我們可以發現『該 FTP 軟件使用的是 vsftpd ,并且使用者輸入 dmtsai 這個賬號名稱,且密碼是 mypasswordisyou』 嘿嘿!你說可不可怕啊!如果使用的是明碼的方式來傳輸你的網絡數據? 所以我們才常常在講啊,網絡是很不安全滴!
另外你得了解,為了讓網絡接口可以讓 tcpdump 監聽,所以執行 tcpdump 時網絡接口會啟動在 『錯亂模式 (promiscuous)』,所以你會在 /var/log/messages 里面看到很多的警告訊息, 通知你說你的網絡卡被設定成為錯亂模式!別擔心,那是正常的。至于更多的應用,請參考 man tcpdump 啰!
例題:如何使用 tcpdump 監聽 (1)來自 eth0 適配卡且 (2)通訊協議為 port 22 ,(3)封包來源為 192.168.1.101 的封包資料?答:tcpdump -i eth0 -nn 'port 22 and src host 192.168.1.101'
* * *
### 5.5.2 圖形接口封包擷取器: wireshark
tcpdump 是文字接口的封包擷取器,那么有沒有圖形接口的?有啊!那就是 wireshark ([注1](#ps1)) 這套軟件。這套軟件早期稱為 ethereal ,目前同時提供文字接口的 tethereal 以及圖形接口的 wireshark 兩個咚咚。由于我們當初安裝時預設并沒有裝這套,因此妳必須要先使用 yum 去網絡安裝喔!也可以拿出光盤來安裝啦!有兩套需要安裝,分別是文字接口的 wireshark 以及圖形接口的 wireshark-gnome 軟件。安裝方式如下:
```
[root@www ~]# yum install wireshark wireshark-gnome
```
啟動這套軟件的方法很簡單,你必須要在 X Window 底下,透過『應用程序』-->『因特網』-->『wireshark network analyzer』就可以啟動啦!啟動的畫面如下所示:

圖 5.5-1、wireshark 的使用示意圖
其實這一套軟件功能非常強大!鳥哥這里僅講簡單的用法,若有特殊需求,就得要自己找找數據啰。 想要開始擷取封包前,得要設定一下監聽的接口之類的,因此點選圖 5.5-1 畫面中的網絡卡小圖標吧! 就會出現如下的畫面給你選擇了。

圖 5.5-2、wireshark 的使用示意圖
在上圖中,你得先選擇想要監聽的接口,鳥哥這里因為擔心外部的封包太多導致畫面很亂,因此這里使用內部的 lo 接口來作為范例。你得要注意, lo 平時是很安靜的!所以,鳥哥在點選了『start』之后,還有打開終端機, 之后使用『 ssh localhost 』來嘗試登入自己,這樣才能夠獲得封包喔!如下圖所示:

圖 5.5-3、wireshark 的使用示意圖
若沒有問題,等到你擷取了足夠的封包想要進行分析之后,按下圖 5.5-3 畫面中的停止小圖示,那么封包擷取的動作就會終止, 接下來,就讓我們來開始分析一下封包吧!

圖 5.5-4、wireshark 的使用示意圖
整個分析的畫面如上所示,畫面總共分為三大區塊,你可以將鼠標光標移動到每個區塊中間的移動棒, 就可以調整每個區塊的范圍大小了。第一區塊主要顯示的是封包的標頭資料,內容就有點類似 tcpdump 的顯示結果,第二區塊則是詳細的表頭資料,包括訊框的內容、通訊協議的內容以及 socket pair 等等信息。 第三區塊則是 16 進位與 ASCII 碼的顯示結果 (詳細的封包內容)。
如果你覺得某個封包有問題,在畫面 1 的地方點選該封包 (圖例中是第 6 個封包),那么畫面 2 與 3 就會跟著變動!由于鳥哥測試的封包是加密數據的封包,因此畫面 2 顯示出封包表頭,但畫面 3 的封包內容就是亂碼啦! 透過這個 wireshark 你就可以一口氣得到所需要的所有封包內容啦!而且還是圖形接口的,很方便吧!
* * *
### 5.5.3 任意啟動 TCP/UDP 封包的埠口聯機: nc, netcat
這個 nc 指令可以用來作為某些服務的檢測,因為他可以連接到某個 port 來進行溝通,此外,還可以自行啟動一個 port 來傾聽其他用戶的聯機吶!非常的不錯用!如果在編譯 nc 軟件的時候給予『GAPING_SECURITY_HOLE』參數的話,嘿嘿! 這個軟件還可以用來取得客戶端的 bash 哩!可怕吧!我們的 CentOS 預設并沒有給予上面的參數, 所以我們不能夠用來作為黑客軟件~但是 nc 用來取代 telnet 也是個很棒的功能了!(有的系統將執行文件 nc 改名為 netcat 啦!)
```
[root@www ~]# nc [-u] [IP|host] [port]
[root@www ~]# nc -l [IP|host] [port]
選項與參數:
-l :作為監聽之用,亦即開啟一個 port 來監聽用戶的聯機;
-u :不使用 TCP 而是使用 UDP 作為聯機的封包狀態
# 范例一:與 telnet 類似,連接本地端的 port 25 查閱相關訊息
[root@www ~]# yum install nc
[root@www ~]# nc localhost 25
```
這個最簡單的功能與 telnet 幾乎一樣吧!可以去檢查某個服務啦!不過,更神奇的在后面, 我們可以建立兩個聯機來傳訊喔!舉個例子來說,我們先在服務器端啟動一個 port 來進行傾聽:
```
# 范例二:激活一個 port 20000 來監聽使用者的聯機要求
[root@www ~]# nc -l localhost 20000 &
[root@www ~]# netstat -tlunp | grep nc
tcp 0 0 ::1:20000 :::* LISTEN 5433/nc
# 啟動一個 port 20000 在本機上!
```
接下來你再開另外一個終端機來看看,也利用 nc 來聯機服務器,并且輸入一些指令看看喔!
```
[root@www ~]# nc localhost 20000
<==這里可以開始輸入字符串了!
```
此時,在客戶端我們可以打入一些字,你會發現在服務器端會同時出現你輸入的字眼吶! 如果你同時給予一些額外的參數,例如利用標準輸入與輸出 (stdout, stdin) 的話,那么就可以透過這個聯機來作很多事情了! 當然 nc 的功能不只如此,你還可以發現很多的用途喔! 請自行到你主機內的 /usr/share/doc/nc-1.84/scripts/ 目錄下看看這些 script ,有幫助的吶! 不過,如果你需要額外的編譯出含有 GAPING_SECURITY_HOLE 功能, 以使兩端聯機可以進行額外指令的執行時,就得要自行下載原始碼來編譯了!
* * *
- 鳥哥的Linux私房菜:服務器架設篇 第三版
- 第一部份:架站前的進修專區
- 作者序
- 第一章、架設服務器前的準備工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架設服務器流程
- 1.3 自我評估是否已經具有架站的能力
- 1.4 本章習題
- 第二章、基礎網絡概念
- 2.1 網絡是個什么玩意兒
- 2.2 TCP/IP 的鏈結層相關協議
- 2.3 TCP/IP 的網絡層相關封包與數據
- 2.4 TCP/IP 的傳輸層相關封包與數據
- 2.5 連上 Internet 前的準備事項
- 2.6 重點回顧:
- 2.7 本章習題
- 2.8 參考數據與延伸閱讀
- 第三章、局域網絡架構簡介
- 3.1 局域網絡的聯機
- 3.2 本書使用的內部聯機網絡參數與通訊協議
- 第四章、連上 Internet
- 4.1 Linux 連上 Internet 前的注意事項
- 4.2 連上 Internet 的設定方法
- 4.3 無線網絡--以筆記本電腦為例
- 4.4 常見問題說明
- 4.5 重點回顧
- 4.6 本章習題
- 4.7 參考數據與延伸閱讀
- 第五章、 Linux 常用網絡指令
- 5.1 網絡參數設定使用的指令
- 5.2 網絡偵錯與觀察指令
- 5.3 遠程聯機指令與實時通訊軟件
- 5.4 文字接口網頁瀏覽
- 5.5 封包擷取功能
- 5.6 重點回顧
- 5.7 本章習題
- 5.8 參考數據與延伸閱讀
- 第六章、 Linux 網絡偵錯
- 6.1 無法聯機原因分析
- 6.2 處理流程
- 6.3 本章習題
- 6.4 參考數據與延伸閱讀
- 第二部分:主機的簡易資安防護措施
- 第七章、網絡安全與主機基本防護:限制端口, 網絡升級與 SELinux
- 7.1 網絡封包聯機進入主機的流程
- 7.2 網絡自動升級軟件
- 7.3 限制聯機埠口 (port)
- 7.4 SELinux 管理原則
- 7.5 被攻擊后的主機修復工作
- 7.6 重點回顧
- 7.7 課后練習
- 7.8 參考數據與延伸閱讀
- 第八章、路由觀念與路由器設定
- 8.1 路由
- 8.2 路由器架設
- 8.3 動態路由器架設:quagga (zebra + ripd)
- 8.4 特殊狀況:路由器兩邊界面是同一個 IP 網段: ARP Proxy
- 8.5 重點回顧
- 8.6 本章習題
- 8.7 參考數據與延伸閱讀
- 第九章、防火墻與 NAT 服務器
- 9.1 認識防火墻
- 9.2 TCP Wrappers
- 9.3 Linux 的封包過濾軟件:iptables
- 9.4 單機防火墻的一個實例
- 9.5 NAT 服務器的設定
- 9.6 重點回顧
- 9.7 本章習題
- 9.8 參考數據與延伸閱讀
- 第十章、申請合法的主機名
- 10.1 為何需要主機名
- 10.2 注冊一個合法的主機名
- 10.3 重點回顧
- 10.4 本章習題
- 10.5 參考數據與延伸閱讀
- 第三部分:局域網絡內常見的服務器架設
- 第十一章、遠程聯機服務器SSH / XDMCP / VNC / RDP
- 11.1 遠程聯機服務器
- 11.2 文字接口聯機服務器: SSH 服務器
- 11.3 最原始圖形接口: Xdmcp 服務的啟用
- 11.4 華麗的圖形接口: VNC 服務器
- 11.5 仿真的遠程桌面系統: XRDP 服務器
- 11.6 SSH 服務器的進階應用
- 11.7 重點回顧
- 11.8 本章習題
- 11.9 參考數據與延伸閱讀
- 第十二章、網絡參數控管者: DHCP 服務器
- 12.1 DHCP 運作的原理
- 12.2 DHCP 服務器端的設定
- 12.3 DHCP 客戶端的設定
- 12.4 DHCP 服務器端進階觀察與使用
- 12.5 重點回顧
- 12.6 本章習題
- 12.7 參考數據與延伸閱讀
- 第十三章、文件服務器之一:NFS 服務器
- 13.1 NFS 的由來與其功能
- 13.2 NFS Server 端的設定
- 13.3 NFS 客戶端的設定
- 13.4 案例演練
- 13.5 重點回顧
- 13.6 本章習題
- 13.7 參考數據與延伸閱讀
- 第十四章、賬號控管: NIS 服務器
- 14.1 NIS 的由來與功能
- 14.2 NIS Server 端的設定
- 14.3 NIS Client 端的設定
- 14.4 NIS 搭配 NFS 的設定在叢集計算機上的應用
- 14.5 重點回顧
- 14.6 本章習題
- 14.7 參考數據與延伸閱讀
- 第十五章、時間服務器: NTP 服務器
- 15.1 關于時區與網絡校時的通訊協議
- 15.2 NTP 服務器的安裝與設定
- 15.3 客戶端的時間更新方式
- 15.4 重點回顧
- 15.5 本章習題
- 15.6 參考數據與延伸閱讀
- 第十六章、文件服務器之二: SAMBA 服務器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服務器的基礎設定
- 16.3 Samba 客戶端軟件功能
- 16.4 以 PDC 服務器提供賬號管理
- 16.5 服務器簡單維護與管理
- 16.6 重點回顧
- 16.7 本章習題
- 16.8 參考數據與延伸閱讀
- 第十七章、區網控制者: Proxy 服務器
- 17.1 什么是代理服務器 (Proxy)
- 17.2 Proxy 服務器的基礎設定
- 17.3 客戶端的使用與測試
- 17.4 服務器的其他應用設定
- 17.5 重點回顧
- 17.6 本章習題
- 17.7 參考數據與延伸閱讀
- 第十八章、網絡驅動器裝置: iSCSI 服務器
- 18.1 網絡文件系統還是網絡驅動器
- 18.2 iSCSI target 的設定
- 18.3 iSCSI initiator 的設定
- 18.4 重點回顧
- 18.5 本章習題
- 18.6 參考數據與延伸閱讀
- 第四部分:常見因特網服務器架設
- 第十九章、主機名控制者: DNS 服務器
- 19.1 什么是 DNS
- 19.2 Client 端的設定
- 19.3 DNS 服務器的軟件、種類與 cache only DNS 服務器設定
- 19.4 DNS 服務器的詳細設定
- 19.5 協同工作的 DNS: Slave DNS 及子域授權設定
- 19.6 DNS 服務器的進階設定
- 19.7 重點回顧
- 19.8 本章習題
- 19.9 參考數據與延伸閱讀
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服務器之三: FTP 服務器
- 21.1 FTP 的數據鏈路原理
- 21.2 vsftpd 服務器基礎設定
- 21.3 客戶端的圖形接口 FTP 聯機軟件
- 21.4 讓 vsftpd 增加 SSL 的加密功能
- 21.5 重點回顧
- 21.6 本章習題
- 21.7 參考數據與延伸閱讀
- 第二十二章、郵件服務器: Postfix
- 22.1 郵件服務器的功能與運作原理
- 22.2 MTA 服務器: Postfix 基礎設定
- 22.3 MRA 服務器: dovecot 設定
- 22.4 MUA 軟件:客戶端的收發信軟件
- 22.5 郵件服務器的進階設定
- 22.6 重點回顧
- 22.7 本章習題
- 22.8 參考數據與延伸閱讀