《UNIX网络编程 卷1:套接字联网API(第3版)》——2.12 标准因特网服务

简介: 注意,当我们连接到daytime服务器时,服务器执行主动关闭,然而当连接到echo服务器时,客户执行主动关闭。回顾图2-4,我们知道执行主动关闭的那一端就是历经TIME_WAIT状态的那一端。

本节书摘来自异步社区《UNIX网络编程 卷1:套接字联网API(第3版)》一书中的第2章,第2.5节,作者:【美】W. Richard Stevens , Bill Fenner , Andrew M. Rudoff著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.12 标准因特网服务

图2-18列出了TCP/IP多数实现都提供的若干标准服务。注意,表中所有服务同时使用TCP和UDP提供,并且这两个协议所用端口号也相同。
screenshot

这些服务通常由Unix主机的inetd守护进程提供(见13.5节)。它们还提供使用标准的Telnet客户程序就能完成的简易测试机制。举例来说,下面就是时间获取和回射这两个标准服务器的测试过程:

aix % telnet freebsd daytime
Trying 12.106.32.254...             Telnet客户输出
Connected to freebsd.unpbook.com.       Telnet客户输出
Escape character is ′^]′.            Telnet客户输出
Mon Jul 28 11:56:22 2003            daytime服务器输出
Connection closed by foreign host.       Telnet客户输出(服务器关闭连接)

aix % telnet freebsd echo
Trying 12.106.32.254...             Telnet客户输出
Connected to freebsd.unpbook.com.       Telnet客户输出
Escape character is ′^]′.            Telnet客户输出
hello,world                   我们键入这行
hello,world                   它由服务器回射回来
^]                        键入Ctrl+]以与Telnet客户交谈
telnet> quit                   告诉客户我们已测试完毕
Connection closed.               这次客户自己关闭连接

在这两个例子中,我们键入主机名和服务名(daytime和echo)。这些服务名由/etc/services文件映射到图2-18所示的端口号,详见11.5节。

注意,当我们连接到daytime服务器时,服务器执行主动关闭,然而当连接到echo服务器时,客户执行主动关闭。回顾图2-4,我们知道执行主动关闭的那一端就是历经TIME_WAIT状态的那一端。

为了应付针对它们的拒绝服务攻击和其他资源使用攻击,在如今的系统中,这些简单的服务通常被禁用。

相关文章
|
网络协议 Linux
【网络编程】基于TCP完成ECHO服务(更新)
【网络编程】基于TCP完成ECHO服务
|
网络协议 API 数据处理
【网络编程】第2章(2) 应用程序接口(API)
【网络编程】第2章(2) 应用程序接口(API)
|
11月前
|
Unix 程序员 Linux
【OSTEP】动态内存开辟 | 内存API常见错误 | UNIX: brk/sbrk 系统调用 | mmap创建匿名映射区域 | mmap创建以文件为基础的映射区域
【OSTEP】动态内存开辟 | 内存API常见错误 | UNIX: brk/sbrk 系统调用 | mmap创建匿名映射区域 | mmap创建以文件为基础的映射区域
252 0
|
2月前
|
开发框架 Unix Linux
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
42 0
|
5月前
|
网络协议 Dubbo Java
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
36 0
|
网络协议 Linux
【网络编程】基于TCP完成ECHO服务
【网络编程】基于TCP完成ECHO服务
|
5月前
|
域名解析 缓存 网络协议
探索Qt 网络编程:网络地址与服务类全解析
探索Qt 网络编程:网络地址与服务类全解析
122 0
|
5月前
|
缓存 JSON API
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
137 3
|
5月前
|
XML JSON API
Python 的网络编程:解释什么是 RESTful API?
Python 的网络编程:解释什么是 RESTful API?
53 1
|
11月前
|
存储 网络协议 API
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)(下)
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)