1. gopher
- 简介
互联网上使用的分布型的文件搜集获取网络协议。
gopher支持多行
$ curl gopher://localhost:2222/hi%0anewline%0athere
$ nc -lvp 2222
listening on [any] 2222 ...
connect to [127.0.0.1] from localhost [127.0.0.1] 34116
i
newline
there
通过nc回显可以发现,数据换行了, 然而 hi 只回显了 i ,也就是说 h "被吃了", 因此要在传输的数据前家一个无用字符
$ curl gopher://localhost:2222/_hi%0anewline%0athere
- 格式
gopher://www.xxx.com/path/[file]
- 端口
TCP:70
2. ldap
- 简介
轻量目录访问协议, Lightweight Directory Access Protocol。 LDAP服务器的概念和原理简单介绍
LDAP的结构用树来表示,而不是用表格,不能用SQL语句了
LDAP提供了静态数据的快速查询方式
Client/server模型,Server 用于存储数据,Client提供操作目录信息树的工具
LDAP是一种开放Internet标准,LDAP协议是跨平台的Interent协议
3. telnet
- 简介
远程登录协议,该协议允许用户把自己的计算机当作远程主机上的一个终端,通过该协议用户可以登录到远程服务器上,使用基于文本界面的命令联接并控制远程计算机,而无需WWW中的图形界面的功能。用户一旦用TELNET与远程服务器建立联系后,该用户的计算机就享受远程计算机本地终端同样的权力,可以与本地终端同样使用服务器的CPU、硬盘及其他系统资源
- 端口
TCP:23
4. ftp
- 简介
文件传输协议, File Transfer Protocol,用于Internet上的控制文件的双向传输
- 格式
ftp://www.xxx.com/path/file
- 端口
FTP服务运行在20和21端口
端口20用于在客户端和服务器之间传输数据流
端口21用于传输控制流
- FTP传输方式
ASCII传输模式和二进制数据传输模式。
1.ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。
2.二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。
如果在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。
5. tftp
- 简介
简单文件传输协议或称小型文件传输协议,Trivial File Transfer Protocol, TFTP,是一种简化的文件传输协议
特点:
不能列出目录内容。
无验证或加密机制。
被用于在远程服务器上读取或写入文件
- 端口
UDP:69
- 传输过程
初始化主机A送一个读请求(RRQ)或写请求(WRQ)包给主机B,包含了文件名和传输模式。
B向A发一个ACK包应答,同时也通知了A其余送往B包应该发送的端口号。
源主机向目的主机送编过号的数据包,除了最后一个都应该包含一个全尺寸的数据块。目的主机用编号的ACK包应答所有的数据包。
最终的数据包必须包含少于最大尺寸的数据块以表明这是最后一个包。如果被传输文件正好是尺寸块的整数倍,源主机最后送的数据包就是0字节的
6. ftps
简介
FTPS是在安全套接层使用标准的FTP协议和指令的一种增强型FTP协议,为FTP协议和数据通道增加了SSL安全功能。FTPS也称作“FTP-SSL”和“FTP-over-SSL”
7. file
- 简介
本地文件传输协议,File Protocol。主要用于访问本地计算机中的文件。MSDN File Protocol
基本格式: file:///path
8. dict
- 简介
dict协议,字典服务器协议, A Dictionary Server Protocol 。
dict是基于查询响应的TCP协议。
- 端口
服务器侦听端口:2628
- Quick Staart
$ ping www.dict.org
PING dictionary-server.dict.org (216.18.20.172) 56(84) bytes of data.
$ telnet 216.18.20.172 2628
Trying 216.18.20.172...
Connected to 216.18.20.172.
Escape character is '^]'.
220 pan.alephnull.com dictd 1.12.1/rf on Linux 4.4.0-1-amd64 <auth.mime> <1388509.31530.1458785926@pan.alephnull.com>
help
113 help text follows
DEFINE database word -- look up word in database
MATCH database strategy word -- match word in database using strategy
SHOW DB -- list all accessible databases
SHOW DATABASES -- list all accessible databases
SHOW STRAT -- list available matching strategies
SHOW STRATEGIES -- list available matching strategies
SHOW INFO database -- provide information about the database
SHOW SERVER -- provide site-specific information
OPTION MIME -- use MIME headers
CLIENT info -- identify client to server
AUTH user string -- provide authentication information
STATUS -- display timing information
HELP -- display this help information
QUIT -- terminate connection
The following commands are unofficial server extensions for debugging
only. You may find them useful if you are using telnet as a client.
If you are writing a client, you MUST NOT use these commands, since
they won't be supported on any other server!
D word -- DEFINE * word
D database word -- DEFINE database word
M word -- MATCH * . word
M strategy word -- MATCH * strategy word
M database strategy word -- MATCH database strategy word
S -- STATUS
H -- HELP
Q -- QUIT
.
250 ok