第30章 其他的TCP/IP应用程序

所属:TCP/IP详解 卷1:协议 来源:TCP/IP详解 卷1:协议

本章介绍其他的TCP/IP应用程序,包括Finger协议、Whois协议、时间服务等。


30.1 引言

其他应用程序

除了前面讲的,还有很多TCP/IP应用程序:

  • Finger:查询用户信息
  • Whois:查询域名/IP信息
  • 时间服务:同步时间
  • 等等

还有很多其他应用层协议。


本章讨论的内容

本章讨论的内容:

  • Finger协议
  • Whois协议
  • 时间服务
  • 其他小协议

本章介绍其他应用程序。


30.2 Finger协议

什么是Finger

Finger协议:

  • 查询用户信息
  • 看看某个人在不在
  • 基本信息
  • 应用层
  • 用TCP
  • 端口79

Finger用于查询用户信息。


Finger的作用

Finger的作用:

  • 查询用户是否登录
  • 用户的基本信息
    • 用户名
    • 真实姓名
    • 登录时间
    • 空闲时间
    • 邮箱
    • 等等
  • 也可以查.plan文件
    • 用户自己写的
    • 留言、计划之类的

Finger查用户信息。


Finger的工作方式

Finger的工作方式:

  1. 客户端连服务器的79端口

    • TCP连接
  2. 客户端发用户名

    • 要查谁
    • 一行
    • 可以是用户名@主机
  3. 服务器查询

    • 查用户信息
    • 查.plan文件
  4. 服务器返回信息

    • 文本格式
    • 用户的信息
  5. 关闭连接

简单的请求响应。


Finger的问题

Finger的问题:

  1. 安全问题

    • 泄露用户信息
    • 攻击者可以收集信息
    • 不安全
  2. 隐私问题

    • 暴露用户是否在线
    • 暴露个人信息
    • 隐私不好
  3. 滥用

    • 被用来扫描
    • 收集信息

现在:

  • 很少用了
  • 很多服务器都关了
  • 因为安全和隐私

Finger现在很少用了。


30.3 Whois协议

什么是Whois

Whois协议:

  • 查询域名、IP、AS等的注册信息
  • 谁注册的
  • 什么时候注册的
  • 联系方式
  • 等等
  • 应用层
  • 用TCP
  • 端口43

Whois查注册信息。


Whois的作用

Whois的作用:

  • 查域名是谁的
  • 查IP段是谁的
  • 查注册信息
  • 管理员联系方式
  • 注册/过期时间
  • 等等

用途:

  • 查域名有没有被注册
  • 找域名管理员
  • 排查问题
  • 反垃圾邮件
  • 等等

Whois查注册信息。


Whois的工作方式

Whois的工作方式:

  1. 客户端连Whois服务器的43端口

    • TCP连接
  2. 客户端发查询

    • 要查什么
    • 域名、IP等
    • 一行
  3. 服务器查询

    • 查数据库
  4. 服务器返回结果

    • 文本格式
    • 注册信息
  5. 关闭连接

简单的请求响应。


Whois服务器

Whois服务器:

  • 不同的后缀有不同的Whois服务器
    • .com:whois.verisign-grs.com
    • .cn:whois.cnnic.cn
    • 等等
  • IP段也有不同的Whois服务器
    • ARIN, RIPE, APNIC等

分级:

  • 顶层的Whois服务器
  • 指向下一级的
  • 一级一级找

不同的后缀有不同的服务器。


Whois的问题

Whois的问题:

  1. 隐私问题

    • 暴露注册人信息
    • 个人信息泄露
    • 垃圾邮件
  2. 准确性

    • 信息可能不准
    • 假信息
  3. 格式不统一

    • 不同服务器格式不一样
    • 解析麻烦

现在:

  • 有GDPR等隐私法规
  • 很多信息不公开了
  • 隐藏注册人信息

Whois也有隐私问题。


30.4 时间服务

什么是时间服务

时间服务:

  • 同步时间
  • 让计算机的时间准确
  • 很多应用需要准确的时间
    • 日志
    • 加密
    • 认证
    • 等等

时间服务同步时间。


几种时间协议

几种时间协议:

协议端口传输层说明
Time37TCP/UDP简单时间协议,返回32位时间
Daytime13TCP/UDP白天协议,返回人可读的时间字符串
NTP123UDP网络时间协议,更精确

有好几种时间协议。


Time协议

Time协议:

  • 端口37
  • TCP或UDP
  • 返回从1900年1月1日到现在的秒数
  • 32位
  • 简单

特点:

  • 简单
  • 精度不高
  • 秒级
  • 现在用得少了

Time协议很简单。


Daytime协议

Daytime协议:

  • 端口13
  • TCP或UDP
  • 返回人可读的时间字符串
  • 比如:“Monday, July 17, 2026 12:34:56-PDT”

特点:

  • 人能直接看
  • 方便
  • 但程序不好解析
  • 精度不高

Daytime返回字符串。


NTP

NTP(Network Time Protocol):

  • 网络时间协议
  • 端口123
  • UDP
  • 更精确
  • 毫秒级甚至微秒级
  • 复杂得多
  • 有层级结构
  • 有同步算法

特点:

  • 精度高
  • 复杂
  • 现在最常用
  • 互联网时间同步的标准

NTP是最常用的时间协议。


30.5 其他小协议

Echo协议

Echo协议:

  • 端口7
  • TCP或UDP
  • 你发什么它回什么
  • 测试用
  • 测试网络通不通
  • 测试能不能收发数据

Echo协议用于测试。


Discard协议

Discard协议:

  • 端口9
  • TCP或UDP
  • 你发什么它都扔掉
  • 不回应
  • 测试用
  • 测试发送

Discard协议扔掉所有数据。


Chargen协议

Chargen协议:

  • Character Generator
  • 端口19
  • TCP或UDP
  • 不断产生字符
  • 测试用
  • 测试接收能力
  • 测试带宽

Chargen不断产生字符。


这些小协议的用途

这些小协议的用途:

  • 测试网络
  • 测试协议栈
  • 调试
  • 很简单
  • 标准的测试服务

现在:

  • 很多都关了
  • 安全考虑
  • 容易被滥用
  • 比如反射攻击

这些小协议主要用于测试。


30.6 小结

其他应用程序概述

  1. Finger

    • 查询用户信息
    • 端口79
    • 现在很少用了
  2. Whois

    • 查询域名/IP注册信息
    • 端口43
    • 还在用
  3. 时间服务

    • 同步时间
    • Time, Daytime, NTP
  4. 其他小协议

    • Echo, Discard, Chargen等
    • 测试用

Finger协议

  1. 作用

    • 查询用户信息
    • 是否登录,基本信息
  2. 工作方式

    • TCP 79
    • 发用户名,回信息
  3. 问题

    • 安全
    • 隐私
    • 现在很少用

Whois协议

  1. 作用

    • 查询注册信息
    • 域名、IP等
  2. 工作方式

    • TCP 43
    • 发查询,回结果
  3. 服务器

    • 不同后缀不同服务器
    • 分级
  4. 问题

    • 隐私
    • 准确性
    • 格式不统一

时间服务

  1. Time协议

    • 端口37
    • 32位秒数
    • 简单
  2. Daytime协议

    • 端口13
    • 人可读字符串
    • 方便看
  3. NTP

    • 端口123
    • UDP
    • 精度高
    • 最常用

其他小协议

  1. Echo

    • 端口7
    • 发什么回什么
    • 测试
  2. Discard

    • 端口9
    • 扔掉所有
    • 测试发送
  3. Chargen

    • 端口19
    • 不断产生字符
    • 测试接收
  4. 用途

    • 测试网络
    • 调试
    • 现在很多关了

关键概念

  1. Finger

    • 用户信息查询
    • 端口79
  2. Whois

    • 注册信息查询
    • 端口43
  3. 时间服务

    • Time, Daytime, NTP
    • 同步时间
  4. 小协议

    • Echo, Discard, Chargen
    • 测试用

Finger Whois