Network Working Group M. St. Johns
Request for Comments: 1413 US Department of Defense
Obsoletes: 931 February 1993
Identification Protocol
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.
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.
St. Johns [Page 1]
RFC 1413 Identification Protocol February 1993 3. RESTRICTIONSQueries 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:
St. Johns [Page 2]
RFC 1413 Identification Protocol February 1993 5. RESPONSE TYPESA response can be one of two types:
St. Johns [Page 3]
RFC 1413 Identification Protocol February 1993
Returned user identifiers are expected to be printable in the character set indicated.
St. Johns [Page 4]
RFC 1413 Identification Protocol February 1993
Other values may eventually be specified and defined in future revisions to this document. If an implementer has a need to specify a non-standard error code, that code must begin with "X".
<error-type> ::= "INVALID-PORT" | "NO-USER" | "UNKNOWN-ERROR"
| "HIDDEN-USER" | <error-token>
<opsys-field> ::= <opsys> [ "," <charset>]
<opsys> ::= "OTHER" | "UNIX" | <token> ...etc.
; (See "Assigned Numbers")
<charset> ::= "US-ASCII" | ...etc.
St. Johns [Page 5]
RFC 1413 Identification Protocol February 1993
<integer> ::= 1*5<digit> ; 1-5 digits.<digit> ::= "0" | "1" ... "8" | "9" ; 0-9<token-characters> ::=
St. Johns [Page 6]
RFC 1413 Identification Protocol February 1993
4) The character sets and character set identifiers should map directly to those defined in or referenced by RFC 1340, "Assigned Numbers" or its successors. Character set identifiers only apply to the user identification field - all other fields will be defined in and must be sent as US-ASCII.
6. Security Considerations
The information returned by this protocol is at most as trustworthy as the host providing it OR the organization operating the host. For example, a PC in an open lab has few if any controls on it to prevent a user from having this protocol return any identifier the user wants. Likewise, if the host has been compromised the information returned may be completely erroneous and misleading.
St. Johns [Page 7]
RFC 1413 Identification Protocol February 1993 7. ACKNOWLEDGEMENTSAcknowledgement is given to Dan Bernstein who is primarily responsible for renewing interest in this protocol and for pointing out some annoying errors in RFC 931.