# 5.5 封包撷取功能
## 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』就可以启动啦!启动的画面如下所示:
![](https://box.kancloud.cn/2016-05-13_5735da4e40965.gif)
图 5.5-1、wireshark 的使用示意图
其实这一套软件功能非常强大!鸟哥这里仅讲简单的用法,若有特殊需求,就得要自己找找数据啰。 想要开始撷取封包前,得要设定一下监听的接口之类的,因此点选图 5.5-1 画面中的网络卡小图标吧! 就会出现如下的画面给你选择了。
![](https://box.kancloud.cn/2016-05-13_5735da4e5ca4e.gif)
图 5.5-2、wireshark 的使用示意图
在上图中,你得先选择想要监听的接口,鸟哥这里因为担心外部的封包太多导致画面很乱,因此这里使用内部的 lo 接口来作为范例。你得要注意, lo 平时是很安静的!所以,鸟哥在点选了『start』之后,还有打开终端机, 之后使用『 ssh localhost 』来尝试登入自己,这样才能够获得封包喔!如下图所示:
![](https://box.kancloud.cn/2016-05-13_5735da4e78458.gif)
图 5.5-3、wireshark 的使用示意图
若没有问题,等到你撷取了足够的封包想要进行分析之后,按下图 5.5-3 画面中的停止小图示,那么封包撷取的动作就会终止, 接下来,就让我们来开始分析一下封包吧!
![](https://box.kancloud.cn/2016-05-13_5735da4e9546c.gif)
图 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 参考数据与延伸阅读