第1章 TCP/IP基础 1
1.1 协议的层次结构 1
1.1.1 ISO/OSI协议模型 1
1.1.2 Internet协议模型 3
1.2 以太网基础 4
1.2.1 以太网的设备 4
1.2.2 以太网地址(MAC地址) 5
1.2.3 以太网帧结构 7
1.2.4 用集线器(HUB)连接以太网 8
1.2.5 载波监听/冲突检测(CSMA/CD) 9
1.2.6 用交换机连接以太网 9
1.2.7 冲突域与广播域 10
1.2.8 虚拟局域网(VLAN) 12
1.3 IP地址与掩码 13
1.3.1 IP地址的结构与分类 13
1.3.2 网络地址 14
1.3.3 广播地址 15
1.3.4 A类IP地址 16
1.3.5 B类IP地址 16
1.3.6 C类IP地址 17
1.3.7 多播IP地址(D类地址) 17
1.3.8 其他IP地址 17
1.3.9 IP地址与以太局域网 18
1.3.10 掩码(mask) 18
1.3.11 私有地址 19
1.4.1 ARP协议的作用 20
1.4 ARP基础与实例剖析 20
1.4.2 ARP包结构 21
1.4.3 在以太网帧中封装ARP包 21
1.4.4 ARP协议的工作过程 22
1.4.5 静态ARP项 22
1.4.6 ARP代理 22
1.4.7 实例剖析 24
1.5 IP协议与路由 27
1.5.1 IP包结构 27
1.5.2 在以太网帧中封装IP包 28
1.5.3 路由器简介 29
1.5.4 一台路由器连接多个网络 29
1.5.5 一台路由器连接基于不同类型的局域网技术的网络 31
1.5.6 多台路由器连接多个网络 32
1.5.7 路由协议(Routing Protocol) 35
1.5.8 路由器的广域连接 35
1.6 ICMP基础与实例剖析 36
1.6.1 ICMP协议与IP协议的关系 36
1.6.2 ICMP回应请求包与ICMP回应包格式 36
1.6.3 其他类型ICMP包 37
1.6.4 在IP包中封装ICMP包 37
1.6.5 实例剖析 38
1.6.6 校验和的计算 41
1.7 UDP与TCP基础 42
1.7.1 端口号 43
1.7.2 UDP基础 44
1.7.4 TCP基础 45
1.7.3 在IP包中封装UDP包 45
1.7.5 在IP包中封装TCP包 47
1.7.6 基于UDP和TCP的通信过程 47
第2章 多播在RIP协议中的应用 51
2.1 RIP协议基础 51
2.1.1 RIP协议的作用 51
2.1.2 RIP包格式 51
2.2 与RIP协议相关的地址问题 52
2.2.1 用广播方式发送RIP包 52
2.2.2 用多播方式发送RIP包 53
2.3 实例剖析 53
2.3.1 环境介绍 53
2.3.3 帧剖析 55
2.3.2 通信过程中的帧 55
第3章 DHCP应用 59
3.1 DHCP基础 59
3.1.1 DHCP简介 59
3.1.2 DHCP包结构 59
3.1.3 DHCP选项 62
3.1.4 DHCP工作过程 64
3.2 配置DHCP客户端 65
3.2.1 Windows98系统的DHCP客户端的设置 65
3.2.2 Windows2000系统的DHCP客户端的设置 67
3.3 配置DHCP服务器 68
3.3.1 DHCP服务器软件的安装和启动 68
3.3.2 DHCP服务器的配置 68
3.4.1 环境介绍 69
3.4 实例剖析 69
3.4.2 通信过程中的以太帧 70
3.4.3 帧剖析 71
第4章 DNS应用 81
4.1 DNS简介 81
4.2 DNS包格式 81
4.2.1 DNS包的基本结构 81
4.2.2 DNS头结构 82
4.2.3 问题记录的格式 83
4.2.4 回答记录的格式 83
4.3 DNS客户端 84
4.3.1 DNS客户端实现 84
4.3.2 DNS客户端配置 85
4.4.1 DNS服务器简介 86
4.4 DNS服务器 86
4.4.2 DNS服务器的分类 87
4.4.3 DNS服务器的安装与启动 87
4.4.4 DNS服务器的配置 87
4.5 DNS查询方式 94
4.5.1 反复式查询 94
4.5.2 递归式查询 95
4.6 实例剖析 95
4.6.1 环境介绍 95
4.6.2 通信过程中的帧 96
4.6.3 帧剖析 97
4.6.4 校验和的计算 100
5.1 TELNET协议基础 101
第5章 TELNET应用 101
5.2 网络虚拟终端(NVT) 102
5.2.1 数据传输 102
5.2.2 控制功能 103
5.2.3 TELNET同步信号 103
5.2.4 NVT打印机和键盘 104
5.3 TELNET命令 106
5.4 TELNET选项 107
5.5 TELNET客户端 110
5.6 TELNET服务器端 112
5.6.1 in.telnetd的安装与启动 112
5.6.2 in.telnetd的配置 112
5.7 实例剖析 113
5.7.1 环境介绍 113
5.7.2 通信过程中的帧 114
5.7.3 帧剖析 117
第6章 WWW应用 119
6.1 WWW简介 119
6.2 HTTP协议 119
6.2.1 HTTP协议概述 119
6.2.2 HTTP包的格式 119
6.2.3 HTTP协议的工作过程 121
6.3 WWW客户端 122
6.4 WWW服务器 123
6.4.1 Apache的获取和安装 123
6.4.2 Apache的启动和关闭 123
6.4.3 Apache的基本配置 123
6.4.5 管理log文件 125
6.4.4 配置虚拟主机 125
6.4.6 用Apache建立动态网站 126
6.4.7 使用SSL建立安全的Web站点 127
6.5 实例剖析 128
6.5.1 环境介绍 128
6.5.2 通信过程中的帧 128
6.5.3 帧剖析 131
6.5.4 校验和的计算 147
第7章 FTP应用 149
7.1 FTP协议基础 149
7.1.1 FTP模型 149
7.1.3 数据表示 150
7.1.4 数据结构 150
7.1.2 FTP与TELNET之间的关系 150
7.1.5 FTP命令 151
7.1.6 FTP应答 155
7.1.7 FTP服务器的最小实现 157
7.2 FTP客户端 157
7.2.1 命令行FTP 157
7.2.2 CuteFtp 160
7.3 FTP服务器 163
7.3.1 Wu-Ftpd的获取和安装 163
7.3.2 Wu-Ftpd服务器的配置 163
7.3.3 FTP服务的启动和关闭 166
7.3.4 FTP服务器相关程序 166
7.4.1 环境介绍 167
7.4 实例剖析 167
7.4.2 通信过程中的帧 168
7.4.3 帧剖析 175
第8章 MAIL应用 177
8.1 MAIL系统的组成 177
8.2 SMTP协议 177
8.2.1 SMTP协议简介 177
8.2.2 SMTP协议模型 177
8.2.3 SMTP命令 178
8.2.4 SMTP应答 179
8.2.5 用telnet模拟SMTP协议实现过程 179
8.3.1 POP协议简介 180
8.3.2 POP3命令 180
8.3 POP协议 180
8.3.3 POP3应答 181
8.3.4 用telnet模拟POP3协议实现过程 181
8.4 MAIL系统的客户端程序 182
8.5 MAIL服务器 187
8.5.1 sendmail的安装和启动 187
8.5.2 sendmail的配置 187
8.6 实例剖析 190
8.6.1 环境介绍 190
8.6.2 通信过程的帧(SMTP) 191
8.6.3 帧剖析(SMTP) 196
8.6.4 通信过程的帧(POP3) 197
8.6.5 帧剖析(POP3) 202
9.2 PROXY的客户端配置 205
第9章 PROXY应用 205
9.1 PROXY简介 205
9.3 PROXY服务器 206
9.3.1 squid代理服务器的安装和启动 206
9.3.2 squid代理服务器的配置 207
9.4 实例剖析 208
9.4.1 环境介绍 208
9.4.2 通信过程中的帧 209
9.4.3 帧剖析 214
10.1.1 数据选择和过滤 217
10.1.2 数据输入和输出 217
10.1 用tcpdump进行网络数据的采集和分析 217
第10章 常用网络调试软件的使用 217
10.2 用NetXray进行网络数据的采集和分析 219
10.3 用ifconfig命令设置和查看网络接口 221
10.3.1 查看接口信息 221
10.3.2 设置接口 222
10.4 用route命令设置和查看路由信息 223
10.4.1 查看路由信息 224
10.4.2 设置路由 224
10.4.3 删除路由 225
10.5 用ping命令测试网络连通状态 225
10.6 用netstat命令显示网络状态 227
10.7 用traceroute命令显示经过的网关 228
10.8 用arp命令操作ARP缓存 229