identd
This is a tutorial for the novice Delphi programmer that understands the basics of socket communication. I wrote this because I, myself, am a novice Delphi programmer, and I’ve decided to chronicle my newfound knowledge as it comes.
The Identification Protocol, or IDENT, was originally used to identify which user on a machine owned a specific TCP/IP connection. It is, however, very easy to spoof, so there is no real security in using it. It is now only used in a few specific environments, such as IRC. Specifically, servers on networks such as EFNet require that your machine respond with an IDENT reply, or they will not allow you to connect. Most IRC clients have built-in servers to handle these requests, but some don’t. If you find yourself on Windows, with an IRC client that won’t do IDENT, then what you need is a lightweight EXE that runs in the background and responds to IDENT requests from IRC servers.
This IDENTd is not a full implementation, that would be beyond a novice tutorial. This is a simple program that takes an optional sUser parameter which it will then use to respond to any IDENT requests on port 113 (the standard IDENT port).
This code requires Aphex’s wonderful SocketUnit. It is an elegant wrapper for the Windows socket API that will be natural to use in an OOP environment like Delphi. Full responsibility for the elegance and simplicity of this code go to Aphex, he kicks ass.
To start, either download the RAR containing the binary and source from the bottom of the article, or, alternatively, open Delphi and select File > New > Other… and choose Console Application in the first tab. Once the project loads, you’ll want to delete all of the text that Delphi generates, and replace it with the code below, you’ll also have to Save As… and name it identd before it’ll let you compile.
USAGE:
identd
SOURCE:




Hi! Remember me? Hahuuhahuah
Nice tut.. nice blog..
OH NOEZ!!!1 A STALKR!#$