Net::SSH::Perl::Packet(3pm) - phpMan

Command: man perldoc info search(apropos)  


Net::SSH::Perl::Packet(3pm)    User Contributed Perl Documentation    Net::SSH::Perl::Packet(3pm)



NAME
       Net::SSH::Perl::Packet - Packet layer of SSH protocol

SYNOPSIS
           use Net::SSH::Perl::Packet;

           # Send a packet to an ssh daemon.
           my $pack = Net::SSH::Perl::Packet->new($ssh, type => SSH_MSG_NONE);
           $pack->send;

           # Receive a packet.
           my $pack = Net::SSH::Perl::Packet->read($ssh);

DESCRIPTION
       Net::SSH::Perl::Packet implements the packet-layer piece of the SSH protocol. Messages
       between server and client are sent as binary data packets, which are encrypted (once the
       two sides have agreed on the encryption cipher, that is).

       Packets are made up primarily of a packet type, which describes the type of message and
       data contained therein, and the data itself. In addition, each packet: indicates its
       length in a 32-bit unsigned integer; contains padding to pad the length of the packet to a
       multiple of 8 bytes; and is verified by a 32-bit crc checksum.

       Refer to the SSH RFC for more details on the packet protocol and the SSH protocol in
       general.

USAGE
   Net::SSH::Perl::Packet->new($ssh, %params)
       Creates/starts a new packet in memory. $ssh is a Net::SSH::Perl object, which should
       already be connected to an ssh daemon. %params can contain the following keys:

       o   type

           The message type of this packet. This should be one of the values exported by
           Net::SSH::Perl::Constants from the msg tag; for example, SSH_MSG_NONE.

       o   data

           A Net::SSH::Perl::Buffer object containing the data in this packet. Realistically,
           there aren't many times you'll need to supply this argument: when sending a packet, it
           will be created automatically; and when receiving a packet, the read method (see
           below) will create the buffer automatically, as well.

   Net::SSH::Perl::Packet->read($ssh)
       Reads a packet from the ssh daemon and returns that packet.

       This method will block until an entire packet has been read.  The socket itself is non-
       blocking, but the method waits (using select) for data on the incoming socket, then
       processes that data when it comes in. If the data makes up a complete packet, the packet
       is returned to the caller. Otherwise read continues to try to read more data.

   Net::SSH::Perl::Packet->read_poll($ssh)
       Checks the data that's been read from the sshd to see if that data comprises a complete
       packet. If so, that packet is returned. If not, returns "undef".

       This method does not block.

   Net::SSH::Perl::Packet->read_expect($ssh, $type)
       Reads the next packet from the daemon and dies if the packet type does not match $type.
       Otherwise returns the read packet.

   $packet->send([ $data ])
       Sends a packet to the ssh daemon. $data is optional, and if supplied specifies the buffer
       to be sent in the packet (should be a Net::SSH::Perl::Buffer object).  In addition, $data,
       if specified, must include the packed message type.

       If $data is not specified, send sends the buffer internal to the packet, which you've
       presumably filled by calling the put_* methods (see below).

   $packet->type
       Returns the message type of the packet $packet.

   $packet->data
       Returns the message buffer from the packet $packet; a Net::SSH::Perl::Buffer object.

   Net::SSH::Perl::Buffer methods
       Calling methods from the Net::SSH::Perl::Buffer class on your Net::SSH::Perl::Packet
       object will automatically invoke those methods on the buffer object internal to your
       packet object (which is created when your object is constructed). For example, if you
       executed the following code:

           my $packet = Net::SSH::Perl::Packet->new($ssh, type => SSH_CMSG_USER);
           $packet->put_str($user);

       this would construct a new packet object $packet, then fill its internal buffer by calling
       the put_str method on it.

       Refer to the Net::SSH::Perl::Buffer documentation (the GET AND PUT METHODS section) for
       more details on those methods.

AUTHOR & COPYRIGHTS
       Please see the Net::SSH::Perl manpage for author, copyright, and license information.



perl v5.10.0                                2010-03-11                Net::SSH::Perl::Packet(3pm)

Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-24 21:33 @38.107.179.236 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!