Eventual OpenBSD netcat clone with Kerberos support, implemented in Perl
NAME knc.pl - Eventual OpenBSD netcat clone with Kerberos support. VERSION This README refers to knc.pl version 0.012. USAGE Simple server: knc.pl -l 127.0.0.1 12345 Simple client: knc.pl 127.0.0.1 12345 Kerberized server: knc.pl --kerberos encrypt --spn example -l 127.0.0.1 12345 Kerberized client: kinit -f (You will need a TGT from your KDC first) knc.pl --kerberos encrypt --spn example 127.0.0.1 12345 REQUIRED ARGUMENTS The Hostname/IP address and Port of the host you either want to connect to or listen on are required. OPTIONS Run the program with the '--help' swith for alist of all available options. DESCRIPTION knc.pl aims to be a full clone of netcat that comes with OpenBSD. Additionally, knc.pl supports Kerberos authentication in both client and server modes. As of this release, features are few. For more information on OpenBSD's netcat, please see the current manual at <http://www.openbsd.org/cgi-bin/man.cgi?query=nc> AUTHOR Ryan Corder, "ryanc at greengrey.org" BUGS AND LIMITATIONS Many of the features/switches from OpenBSD's netcat are not yet implemented. If the Server is in Kerberos mode, but the Client is not and the client connects, the server does not immediately close the connection. This is because the subroutine to handle receving of auth from the client blocks until it gets it, if ever. Timeouts (-w) are done via the AnyEvent handles since IO::Socket::INET doesn't seem to implement them even though it has the option to specify it. Besides, nc (the real one) only times out if both the connection and STDIN reach the timeout value...so using the handles makes sense. ACKNOWLEDGEMENTS The OpenBSD project: <http://www.openbsd.org> Author(s) of the AnyEvent framework: <https://metacpan.org/release/AnyEvent> Author(s) of Authen::Krb5: <https://metacpan.org/module/Authen::Krb5> LICENSE AND COPYRIGHT Copyright 2012 Ryan Corder, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. DIAGNOSTICS CONFIGURATION DEPENDENCIES INCOMPATIBILITIES EXIT STATUS 0 for success, 1 for failure.