IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP/IP详解 卷1:协议 学习笔记 第三十章 其他的TCP/IP应用程序 -> 正文阅读

[网络协议]TCP/IP详解 卷1:协议 学习笔记 第三十章 其他的TCP/IP应用程序

Finger协议返回一个指定主机上一个或多个用户的信息,它常用来检查某个人是否登录了,或搞清一个人的登录名一边给他发邮件。

很多站点不支持Finger协议的原因:
1.Finger服务器的一个早期版本中的一个编程错误被1988年Internet蠕虫病毒利用,作为进入点之一。
2.Finger协议可能会泄露用户的私有信息(登录名、电话号码、上次登录时间等)。

Finger服务器的知名端口为79。Finger查询和响应都是采用NVT ASCII。

一般Unix下使用finger客户端来访问Finger服务器,也可用Telnet与Finger服务器直接相连,空行查询(NVT ASCII中,空行以一个CR接LF来传输)表示查询所有在线用户信息:
在这里插入图片描述
上图中的Office和Office Phone字段是从用户的口令文件(password)记录的选项字段中取出的,上例中都为空。

Finger服务器必须在最后做一个主动的关闭,因为服务器返回的是长度可变的信息,用于通知服务器的输出结束了。

当Finger客户只请求一个用户时,服务器就只响应该用户信息:
在这里插入图片描述
连接一个Finger服务被禁止的服务器,因为没有进程被动打开端口79,所以客户的主动打开会收到一个RST:
在这里插入图片描述
一些站点在端口79提供了一个服务器,但服务器只向客户输出信息,而不理睬客户的任何请求:
在这里插入图片描述
对一个组织来说,可配置防火墙网关,以扔掉从Internet进来的,目的端口是79的TCP报文段。

RFC 1288指出提供了Finger服务器的、具有TCP/IP连接的自动售货机应该对客户的空行请求响应现有产品的列表,而对由一个名字组成的客户请求,应响应与这个产品有关的可用项的列表。

Whois协议是另一种信息服务。任何站点都能提供Whois服务器,但在InterNIC(Internet Network Information Center,国际互联网络信息中心)站点上的Whois服务器最常使用,这个服务器维护者所有的DNS域和很多连接在Internet上的系统的系统管理员的信息。Whois返回的信息可能是过期的或不完整的。

Whois服务器有一个知名TCP端口43,请求和应答都以NVT ASCII来传输。

当NIC在1993年改变为InterNIC时,Whois服务器的站点也从nic.dn.mil移到了rs.internic.net,很多厂商仍然装载了采用nic.ddn.mil版本的whois客户程序,为了和正确的服务器连接,可能需要选项-h rs.internic.net。也可以使用Telnet登录rs.internic.net站点,登录名用whois。

使用whois查询stevens的信息:
在这里插入图片描述
上图中,人名后面的括号中内容是个人NIC句柄,可使用一个感叹号和一个NIC句柄查询这个人的更多信息:
在这里插入图片描述
其他有关Internet的信息也可查找,如请求一个IP将返回有关IP的信息。

使用SMTP的VRFY命令、Finger协议、Whois协议查找用户类似使用电话号码簿白页查找一个人的电话号码。

Archie提供了很多FTP服务器的目录,可登录Archie服务器搜索名字中包含了指定正则表达式的文件,输出是与文件名匹配的FTP服务器列表。有很多Archie服务器,可用Telnet以登录名archie登录ds.internic.net,执行命令servers,这个命令的输出是所有Archie服务器及其地址的列表。

WAIS(Wide Area Information Servers,广域信息服务系统)可以查找包含一个关键字的文件(文件内容中包含此关键字,而非文件名)或数据库。可使用Telnet以登录名wais登录quake.think.com站点来使用WAIS服务。

Gopher是Archie、WAIS、匿名FTP等资源服务的一个菜单驱动的前端程序,它使用简单,因为不管使用了哪个资源服务,用户界面都相同。可用Telnet以登录名gopher登录is.internic.net站点。

Veronica是一个Gopher标题的索引,可搜索Gopher服务器。

X窗口系统简称X,是一个客户-服务器应用程序,可使得多个应用使用由一个服务器管理的位映射显示器(用像素阵列表示图像的显示器)。服务器用来管理显示器、键盘、鼠标的软件,有些场合,服务器是与其他主机上客户通信的一个专门的硬件(如X终端)。客户可与服务器在同一主机上,或不同主机上(此时一般使用TCP与服务器通信,也可使用诸如DECNET等其他协议)。

X有时用于一个独立的工作站,客户与服务器位于同一台主机,,不涉及任何网络,使用进程间通信机制通信。

X需要一个可靠的、双向的流协议,不适用于不可靠的协议。客户与服务器的通信是由在连接上交换的8bit字节组成。

Unix系统中,当X客户和X服务器在同一台主机上时,一般使用Unix的本地协议通信,而不是用TCP协议,这样更快,如果还是使用TCP协议,那么在IP层以下发生了数据的环回,隐含着所有TCP和IP处理都发生了。

在这里插入图片描述
一般来说,上图中有一个客户是一个窗口管理程序,它有权限管理显示器上窗口的布局。

对于Telnet和FTP应用,我们把客户看作是在键盘和显示器上的交互式用户,对于X,键盘和显示器是服务器的。

当X终端或工作站引导时,一般启动X服务器,服务器会监听一个TCP端口,在端口6000+n上做一个被动打开,n是显示器号,大多Unix服务器也使用/tmp/.X11-unix/Xn创建一个Unix系统socket,其中n还是显示器号。

客户主动连接服务器上的端口6000+n,连接上后,客户通过TCP连接向服务器发送请求(如创建一个窗口),服务器返回应答。服务器也发送事件给客户,如鼠标按下、键盘按下、窗口暴露、窗口大小改变等。

强调客户与X服务器进程间通信:
在这里插入图片描述
TCP并发服务器每次收到一个新的TCP连接请求时,可能会产生一个新的进程,每个客户和一个不同的服务器进程通信。对于X,所有客户都是和同一服务器进程通信的。

X客户和服务器之间交换的数据依赖于特定的程序,如运行Xclock,Xclock在服务器的一个窗口中显示客户机当前的时间和日期,如果我们指定每隔1秒修改一次时间,那么每隔1秒就会有一个X报文通过TCP从客户传输到服务器;如果我们运行的是Xterm,我们敲的每个键都会变成一个32字节的X报文(加上标准的IP和TCP首部是72字节),相反方向上的回送字符是一个更大的X报文。

Xscope是一个检查X客户与服务器之间交换的信息的程序,大多X窗口实现都提供这个程序:
在这里插入图片描述
要使用Xscope监视X连接,首先在服务器主机上启动xscope进程,xscope在端口6001上监听TCP的连接请求,然后客户连接时指明显示器号为1而不是0,使得客户与xcope相连,当客户的连接请求到达时,xscope创建与端口6000上的真正服务器的一个TCP连接,在客户和服务器之间复制所有的数据,同时生成请求与应答的一个可读的描述。

在主机svr4上运行xclock客户,同时在sun主机上启动xscope。svr4上启动xclock的命令如下:
在这里插入图片描述
以上命令以数字形式显示时间和日期,同时更新间隔设为5秒。

运行xscope时使用-q选项以产生最小的输出:
在这里插入图片描述
前两个报文是客户与服务器之间标准的连接建立过程,第一个报文是客户标识它的字节顺序以及它希望的服务器版本,第二个报文中服务器相应有关自己的信息。

第三个报文包含了两个客户请求,第一个请求在服务器上创建一个客户可以画的图形上下文,第二个请求想从服务器上得到一个属性。服务器在第四个报文中给出了两个请求的应答。

第五个和第六个报文形成了返回一个atom(具有唯一整型标识符的属性,可降低网络传输量)的单个请求。服务器在第七个报文返回了这个atom。

为了将X用于局域网,对X协议使用的编码进行了优化,因为在局域网中花在对数据解码和编码的时间短比传输数据量小更重要,尽管这对于以太网是适用的,但对于低速串行线,如SLIP链路、PPP链路,就有问题了。

低带宽X(LBX)的标准使用以下技术减少网络流量:快速缓存、只发送与前面分组不同部分、压缩技术。

xscope可以与服务器运行在不同主机上,此时xscope可用TCP端口6000作为监听端口。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-08 11:53:51  更:2021-08-08 11:55:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 0:44:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码