rfc1413.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 451 行 · 第 1/2 页
TXT
451 行
Network Working Group M. St. Johns
Request for Comments: 1413 US Department of Defense
Obsoletes: 931 February 1993
Identification Protocol
Status of this Memo
This RFC specifies an IAB standards track protocol for the Internet
community, and requests discussion and suggestions for improvements.
Please refer to the current edition of the "IAB Official Protocol
Standards" for the standardization state and status of this protocol.
Distribution of this memo is unlimited.
1. INTRODUCTION
The Identification Protocol (a.k.a., "ident", a.k.a., "the Ident
Protocol") provides a means to determine the identity of a user of a
particular TCP connection. Given a TCP port number pair, it returns
a character string which identifies the owner of that connection on
the server's system.
The Identification Protocol was formerly called the Authentication
Server Protocol. It has been renamed to better reflect its function.
This document is a product of the TCP Client Identity Protocol
Working Group of the Internet Engineering Task Force (IETF).
2. OVERVIEW
This is a connection based application on TCP. A server listens for
TCP connections on TCP port 113 (decimal). Once a connection is
established, the server reads a line of data which specifies the
connection of interest. If it exists, the system dependent user
identifier of the connection of interest is sent as the reply. The
server may then either shut the connection down or it may continue to
read/respond to multiple queries.
The server should close the connection down after a configurable
amount of time with no queries - a 60-180 second idle timeout is
recommended. The client may close the connection down at any time;
however to allow for network delays the client should wait at least
30 seconds (or longer) after a query before abandoning the query and
closing the connection.
St. Johns [Page 1]
RFC 1413 Identification Protocol February 1993
3. RESTRICTIONS
Queries are permitted only for fully specified connections. The
query contains the local/foreign port pair -- the local/foreign
address pair used to fully specify the connection is taken from the
local and foreign address of query connection. This means a user on
address A may only query the server on address B about connections
between A and B.
4. QUERY/RESPONSE FORMAT
The server accepts simple text query requests of the form:
<port-on-server> , <port-on-client>
where <port-on-server> is the TCP port (decimal) on the target (where
the "ident" server is running) system, and <port-on-client> is the
TCP port (decimal) on the source (client) system.
N.B - If a client on host A wants to ask a server on host B about a
connection specified locally (on the client's machine) as 23, 6191
(an inbound TELNET connection), the client must actually ask about
6191, 23 - which is how the connection would be specified on host B.
For example:
6191, 23
The response is of the form
<port-on-server> , <port-on-client> : <resp-type> : <add-info>
where <port-on-server>,<port-on-client> are the same pair as the
query, <resp-type> is a keyword identifying the type of response, and
<add-info> is context dependent.
The information returned is that associated with the fully specified
TCP connection identified by <server-address>, <client-address>,
<port-on-server>, <port-on-client>, where <server-address> and
<client-address> are the local and foreign IP addresses of the
querying connection -- i.e., the TCP connection to the Identification
Protocol Server. (<port-on-server> and <port-on-client> are taken
from the query.)
For example:
6193, 23 : USERID : UNIX : stjohns
6195, 23 : ERROR : NO-USER
St. Johns [Page 2]
RFC 1413 Identification Protocol February 1993
5. RESPONSE TYPES
A response can be one of two types:
USERID
In this case, <add-info> is a string consisting of an
operating system name (with an optional character set
identifier), followed by ":", followed by an
identification string.
The character set (if present) is separated from the
operating system name by ",". The character set
identifier is used to indicate the character set of the
identification string. The character set identifier,
if omitted, defaults to "US-ASCII" (see below).
Permitted operating system names and character set
names are specified in RFC 1340, "Assigned Numbers" or
its successors.
In addition to those operating system and character set
names specified in "Assigned Numbers" there is one
special case operating system identifier - "OTHER".
Unless "OTHER" is specified as the operating system
type, the server is expected to return the "normal"
user identification of the owner of this connection.
"Normal" in this context may be taken to mean a string
of characters which uniquely identifies the connection
owner such as a user identifier assigned by the system
administrator and used by such user as a mail
identifier, or as the "user" part of a user/password
pair used to gain access to system resources. When an
operating system is specified (e.g., anything but
"OTHER"), the user identifier is expected to be in a
more or less immediately useful form - e.g., something
that could be used as an argument to "finger" or as a
mail address.
"OTHER" indicates the identifier is an unformatted
character string consisting of printable characters in
the specified character set. "OTHER" should be
specified if the user identifier does not meet the
constraints of the previous paragraph. Sending an
encrypted audit token, or returning other non-userid
information about a user (such as the real name and
phone number of a user from a UNIX passwd file) are
St. Johns [Page 3]
RFC 1413 Identification Protocol February 1993
both examples of when "OTHER" should be used.
Returned user identifiers are expected to be printable
in the character set indicated.
The identifier is an unformatted octet string - - all
octets are permissible EXCEPT octal 000 (NUL), 012 (LF)
and 015 (CR). N.B. - space characters (040) following the
colon separator ARE part of the identifier string and
may not be ignored. A response string is still
terminated normally by a CR/LF. N.B. A string may be
printable, but is not *necessarily* printable.
ERROR
For some reason the port owner could not be determined, <add-info>
tells why. The following are the permitted values of <add-info> and
their meanings:
INVALID-PORT
Either the local or foreign port was improperly
specified. This should be returned if either or
both of the port ids were out of range (TCP port
numbers are from 1-65535), negative integers, reals or
in any fashion not recognized as a non-negative
integer.
NO-USER
The connection specified by the port pair is not
currently in use or currently not owned by an
identifiable entity.
HIDDEN-USER
The server was able to identify the user of this
port, but the information was not returned at the
request of the user.
UNKNOWN-ERROR
Can't determine connection owner; reason unknown.
Any error not covered above should return this
error code value. Optionally, this code MAY be
returned in lieu of any other specific error code
if, for example, the server desires to hide
information implied by the return of that error
St. Johns [Page 4]
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?