Package DataCollector :: Module TelnetClient :: Class TelnetClientProtocol
[hide private]
[frames] | no frames]

Class TelnetClientProtocol

source code

twisted.internet.protocol.BaseProtocol --+        
                                         |        
        twisted.internet.protocol.Protocol --+    
                                             |    
               twisted.protocols.telnet.Telnet --+
                                                 |
                                                TelnetClientProtocol

State-machine-based class for telnet

To switch from one state to the next, methods return the next state.

Instance Methods [hide private]
 
connectionMade(self)
Called when a telnet session is established
source code
 
iac_DO(self, feature)
Do we support this telnet feature? Reply back appropriately.
source code
 
iac_DONT(self, feature)
Do we support this telnet feature? Reply back appropriately.
source code
 
iac_WILL(self, feature)
Do we support this telnet feature? Reply back appropriately.
source code
 
iac_WONT(self, feature)
Do we support this telnet feature? Reply back appropriately.
source code
 
_iac_response(self, action, feature)
Respond to IAC request with our response
source code
 
write(self, data)
Write data across the wire and record it.
source code
 
processChunk(self, chunk)
Given data returned from the remote device, test out the current chunk of data to determine whether or not to switch states, or just add the chunk to the list of data received from the host.
source code
 
processLine(self, line)
Call a method that looks like 'telnet_*' where '*' is filled in by the current mode.
source code
 
dataReceived(self, data)
Look for data and send to processLine()
source code
 
applicationDataReceived(self, bytes)
Store any bytes received
source code
 
startTimeout(self, timeout=1, timeoutfunc=None)
Start a timer to decide if we continue or not.
source code
 
cancelTimeout(self)
Cancel the timeout timer
source code
 
defaultTimeout(self)
Reset the timeout timer
source code
string
loginTimeout(self, loginTries=0)
Called when the timeout timer expires.
source code
string
telnet_Login(self, data)
Called when login prompt is expected
source code
string
telnet_Password(self, data)
Called when the password prompt is expected
source code
string
telnet_Enable(self, unused)
Switch to 'enable' mode on a Cisco device
source code
string
telnet_FindPrompt(self, data)
Called after login to figure out the command prompt
source code
string
telnet_ClearPromptData(self, unused)
Called to try to restore sanity to output from the user.
source code
string
telnet_SendCommand(self, unused)
Get a command of the command stack and send it
source code
string
telnet_Command(self, data)
Process the data from a sent command If there are no more commands move to final state
source code
string
curCommand(self)
Return the current command to run
source code

Inherited from twisted.protocols.telnet.Telnet: iacSBchunk, iac_IP, loggedIn, loginPrompt, telnet_User, welcomeMessage

Inherited from twisted.internet.protocol.Protocol: connectionLost

Inherited from twisted.internet.protocol.BaseProtocol: makeConnection

Class Variables [hide private]
  mode = 'Login'
  timeout = 0
  timeoutID = None
  p1 = ""
  p2 = ""
  commandPrompt = ""
  command = ''
  enabled = -1
  scCallLater = None
  bytes = ''
  lastwrite = ''
  result = ''
  buffer = ""

Inherited from twisted.protocols.telnet.Telnet: delimiters, echo, gotIAC, iacByte, lastLine

Inherited from twisted.internet.protocol.BaseProtocol: connected, transport

Method Details [hide private]

connectionMade(self)

source code 
Called when a telnet session is established
Overrides: twisted.protocols.telnet.Telnet.connectionMade

iac_DO(self, feature)

source code 
Do we support this telnet feature? Reply back appropriately.
Parameters:
  • feature (string) - IAC feature request
Overrides: twisted.protocols.telnet.Telnet.iac_DO

iac_DONT(self, feature)

source code 
Do we support this telnet feature? Reply back appropriately.
Parameters:
  • feature (string) - IAC feature request
Overrides: twisted.protocols.telnet.Telnet.iac_DONT

iac_WILL(self, feature)

source code 
Do we support this telnet feature? Reply back appropriately.
Parameters:
  • feature (string) - IAC feature request
Overrides: twisted.protocols.telnet.Telnet.iac_WILL

iac_WONT(self, feature)

source code 
Do we support this telnet feature? Reply back appropriately.
Parameters:
  • feature (string) - IAC feature request
Overrides: twisted.protocols.telnet.Telnet.iac_WONT

_iac_response(self, action, feature)

source code 
Respond to IAC request with our response
Parameters:
  • action (string) - IAC action
  • feature (string) - IAC feature request

write(self, data)

source code 
Write data across the wire and record it.
Parameters:
  • data (string) - data to write
Overrides: twisted.protocols.telnet.Telnet.write

processChunk(self, chunk)

source code 

Given data returned from the remote device, test out the current chunk of data to determine whether or not to switch states, or just add the chunk to the list of data received from the host.

If we find the end condition for the state, process the line.
Parameters:
  • chunk (string) - data
Overrides: twisted.protocols.telnet.Telnet.processChunk

processLine(self, line)

source code 
Call a method that looks like 'telnet_*' where '*' is filled in by the current mode. telnet_* methods should return a string which will become the new mode.
Parameters:
  • line (string) - data
Overrides: twisted.protocols.telnet.Telnet.processLine

dataReceived(self, data)

source code 
Look for data and send to processLine()
Parameters:
  • data (string) - output from telnet
Overrides: twisted.protocols.telnet.Telnet.dataReceived

applicationDataReceived(self, bytes)

source code 
Store any bytes received
Parameters:
  • bytes (string) - output from telnet

startTimeout(self, timeout=1, timeoutfunc=None)

source code 
Start a timer to decide if we continue or not.
Parameters:
  • timeout (integer) - time in seconds to wait
  • timeoutfunc (function) - override for the default timeout timer

loginTimeout(self, loginTries=0)

source code 
Called when the timeout timer expires.
Parameters:
  • loginTries (integer) - number of login failures to accept
Returns: string
next state (Done, Login)

telnet_Login(self, data)

source code 
Called when login prompt is expected
Parameters:
  • data (string) - data sent back from the remote device
Returns: string
next state (Login, Password)

telnet_Password(self, data)

source code 
Called when the password prompt is expected
Parameters:
  • data (string) - data sent back from the remote device
Returns: string
next state (Password, FindPrompt)
Overrides: twisted.protocols.telnet.Telnet.telnet_Password

telnet_Enable(self, unused)

source code 
Switch to 'enable' mode on a Cisco device
Parameters:
  • unused (string) - unused (unused)
Returns: string
next state (Password)

telnet_FindPrompt(self, data)

source code 
Called after login to figure out the command prompt
Parameters:
  • data (string) - data sent back from the remote device
Returns: string
next state (ClearPromptData, FindPrompt, Password)

telnet_ClearPromptData(self, unused)

source code 
Called to try to restore sanity to output from the user. Send an empty string to get back a prompt
Parameters:
  • unused (string) - unused (unused)
Returns: string
next state (ClearPromptData)

telnet_SendCommand(self, unused)

source code 
Get a command of the command stack and send it
Parameters:
  • unused (string) - unused (unused)
Returns: string
next state (Command)

telnet_Command(self, data)

source code 
Process the data from a sent command If there are no more commands move to final state
Parameters:
  • data (string) - data sent back from the remote device
Returns: string
next state (Command, Done)
Overrides: twisted.protocols.telnet.Telnet.telnet_Command

curCommand(self)

source code 
Return the current command to run
Returns: string
next command to run