Reputation:
I am using PHPSecLib to send commands via SSH to network switches, which works fine in most cases. I have had to make a few modifications to support a different brand, however it appears that sending the commands via write() is resulting in these being split.
I have never seen anything like this and I am beyond stumped as to what is causing it. Is there anything in PHPSecLib/SSH that would force command line strings to a certain length?
Command Line Output:
configure Entering configuration mode
{master:0}[edit]
LHBR@EVO-HN11-1# set policy-options prefix-list ddosHost 183.24.48.7 255.
LHBR@EVO-HN11-1# ...ix-list ddosHost 183.24.48.7 255.2 55.255.255 ^ syntax error.
{master:0}[edit]
LHBR@EVO-HN11-1# commit configuration check succeeds commit complete
{master:0}[edit]
LHBR@EVO-HN11-1# exit Exiting configuration mode
{master:0}
LHBR@EVO-HN11-1>
Function:
public function write_msg($msg)
{
for ($i = 0; $i < strlen($msg); $i++)
{
$this->conn->write($msg[$i]);
}
}
public function create_nullroute($ip, $netmask = "255.255.255.255")
{
$this->write_msg("configure\n");
$this->write_msg("set policy-options prefix-list ddosHost " . $ip . " " . $netmask . "\n");
$this->write_msg("commit\n");
// Escape the config mode
$this->conn->write("exit\n");
echo "</br><pre>" . $this->conn->getLog() . "</pre>";
echo $this->conn->read($this->_bashshell);
}
PHPSecLib Log:
-> NET_SSH2_MSG_NEWKEYS (since last: 0.005, network: 0s)
<- NET_SSH2_MSG_NEWKEYS (since last: 0, network: 0s)
-> NET_SSH2_MSG_SERVICE_REQUEST (since last: 0.0028, network: 0s)
00000000 00:00:00:0c:73:73:68:2d:75:73:65:72:61:75:74:68 ....ssh-userauth
<- NET_SSH2_MSG_SERVICE_ACCEPT (since last: 0.5057, network: 0.5056s)
00000000 00:00:00:0c:73:73:68:2d:75:73:65:72:61:75:74:68 ....ssh-userauth
-> NET_SSH2_MSG_USERAUTH_REQUEST (since last: 0.0001, network: 0s)
00000000 00:00:00:08:75:73:65:72:6e:61:6d:65:00:00:00:0e ....username....
00000010 73:73:68:2d:63:6f:6e:6e:65:63:74:69:6f:6e:00:00 ssh-connection..
00000020 00:08:70:61:73:73:77:6f:72:64:00:00:00:00:08:70 ..password.....p
00000030 61:73:73:77:6f:72:64 assword
<- NET_SSH2_MSG_USERAUTH_SUCCESS (since last: 0.2388, network: 0.2387s)
-> NET_SSH2_MSG_CHANNEL_OPEN (since last: 0.0001, network: 0s)
00000000 00:00:00:07:73:65:73:73:69:6f:6e:00:00:00:01:7f ....session.....
00000010 ff:ff:ff:00:00:40:00 .....@.
<- NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION (since last: 0.2093, network: 0.2092s)
00000000 00:00:00:01:00:00:00:00:00:00:00:00:00:00:80:00 ................
-> NET_SSH2_MSG_CHANNEL_REQUEST (since last: 0.0001, network: 0s)
00000000 00:00:00:00:00:00:00:07:70:74:79:2d:72:65:71:01 ........pty-req.
00000010 00:00:00:05:76:74:31:30:30:00:00:00:50:00:00:00 ....vt100...P...
00000020 18:00:00:00:00:00:00:00:00:00:00:00:01:00 ..............
<- NET_SSH2_MSG_CHANNEL_SUCCESS (since last: 0.2233, network: 0.2232s)
00000000 00:00:00:01 ....
-> NET_SSH2_MSG_CHANNEL_REQUEST (since last: 0.0001, network: 0s)
00000000 00:00:00:00:00:00:00:05:73:68:65:6c:6c:01 ........shell.
<- NET_SSH2_MSG_CHANNEL_WINDOW_ADJUST (since last: 0.2153, network: 0.2153s)
00000000 00:00:00:01:00:20:00:00 ..... ..
<- NET_SSH2_MSG_CHANNEL_SUCCESS (since last: 0.0001, network: 0s)
00000000 00:00:00:01 ....
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0158, network: 0.0157s)
00000000 00:00:00:01:00:00:00:32:2d:2d:2d:20:4a:55:4e:4f .......2--- JUNO
00000010 53:20:31:32:2e:33:52:33:2e:34:20:62:75:69:6c:74 S 12.3R3.4 built
00000020 20:32:30:31:33:2d:30:36:2d:31:34:20:30:30:3a:30 2013-06-14 00:0
00000030 36:3a:33:34:20:55:54:43:0d:0a 6:34 UTC..
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.6052, network: 0.6051s)
00000000 00:00:00:01:00:00:00:0c:7b:6d:61:73:74:65:72:3a ........{master:
00000010 30:7d:0d:0a 0}..
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0016, network: 0.0015s)
00000000 00:00:00:01:00:00:00:11:4c:48:42:52:40:45:56:4f ........LHBR@EVO
00000010 2d:48:4e:31:31:2d:31:3e:20 -HN11-1>
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:00:00:00:00:00:18:73:65:74:20:63:6c:69:20 ........set cli
00000010 73:63:72:65:65:6e:2d:6c:65:6e:67:74:68:20:30:0a screen-length 0.
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.207, network: 0.207s)
00000000 00:00:00:01:00:00:00:01:73 ........s
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0015, network: 0.0014s)
00000000 00:00:00:01:00:00:00:01:65 ........e
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0015, network: 0.0015s)
00000000 00:00:00:01:00:00:00:01:74 ........t
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0047, network: 0.0046s)
00000000 00:00:00:01:00:00:00:01:20 ........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0014, network: 0.0014s)
00000000 00:00:00:01:00:00:00:01:63 ........c
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0025, network: 0.0024s)
00000000 00:00:00:01:00:00:00:01:6c ........l
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0015, network: 0.0015s)
00000000 00:00:00:01:00:00:00:01:69 ........i
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0039, network: 0.0039s)
00000000 00:00:00:01:00:00:00:01:20 ........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0016, network: 0.0015s)
00000000 00:00:00:01:00:00:00:01:73 ........s
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0021, network: 0.002s)
00000000 00:00:00:01:00:00:00:01:63 ........c
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0016, network: 0.0015s)
00000000 00:00:00:01:00:00:00:01:72 ........r
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0014, network: 0.0014s)
00000000 00:00:00:01:00:00:00:01:65 ........e
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0017, network: 0.0017s)
00000000 00:00:00:01:00:00:00:01:65 ........e
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0047, network: 0.0046s)
00000000 00:00:00:01:00:00:00:01:6e ........n
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0002, network: 0.0001s)
00000000 00:00:00:01:00:00:00:01:2d ........-
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:00:01:00:00:00:01:6c ........l
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:01:00:00:00:01:65 ........e
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0009, network: 0.0009s)
00000000 00:00:00:01:00:00:00:01:6e ........n
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0016, network: 0.0016s)
00000000 00:00:00:01:00:00:00:01:67 ........g
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0022, network: 0.0021s)
00000000 00:00:00:01:00:00:00:01:74 ........t
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0016, network: 0.0015s)
00000000 00:00:00:01:00:00:00:01:68 ........h
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0041, network: 0.004s)
00000000 00:00:00:01:00:00:00:01:20 ........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0016, network: 0.0015s)
00000000 00:00:00:01:00:00:00:01:30 ........0
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0048, network: 0.0047s)
00000000 00:00:00:01:00:00:00:01:20 ........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0023, network: 0.0022s)
00000000 00:00:00:01:00:00:00:02:0d:0a ..........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0048, network: 0.0048s)
00000000 00:00:00:01:00:00:00:18:53:63:72:65:65:6e:20:6c ........Screen l
00000010 65:6e:67:74:68:20:73:65:74:20:74:6f:20:30:0d:0a ength set to 0..
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0021, network: 0.002s)
00000000 00:00:00:01:00:00:00:02:0d:0a ..........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0043, network: 0.0043s)
00000000 00:00:00:01:00:00:00:0c:7b:6d:61:73:74:65:72:3a ........{master:
00000010 30:7d:0d:0a 0}..
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:00:01:00:00:00:11:4c:48:42:52:40:45:56:4f ........LHBR@EVO
00000010 2d:48:4e:31:31:2d:31:3e:20 -HN11-1>
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:00:00:00:00:00:01:63 ........c
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:00:00:00:00:00:01:6f ........o
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6e ........n
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:66 ........f
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:69 ........i
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:67 ........g
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:75 ........u
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:72 ........r
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:65 ........e
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:0a .........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:73 ........s
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:65 ........e
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:74 ........t
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:20 ........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:70 ........p
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6f ........o
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6c ........l
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:69 ........i
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:63 ........c
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:79 ........y
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:2d ........-
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6f ........o
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:70 ........p
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:74 ........t
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:69 ........i
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6f ........o
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6e ........n
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:73 ........s
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:20 ........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:70 ........p
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:72 ........r
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:65 ........e
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:66 ........f
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:69 ........i
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:78 ........x
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:2d ........-
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6c ........l
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:69 ........i
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:73 ........s
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:74 ........t
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:20 ........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:64 ........d
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:64 ........d
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6f ........o
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:73 ........s
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:48 ........H
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6f ........o
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:73 ........s
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:74 ........t
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:20 ........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:31 ........1
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:38 ........8
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:35 ........5
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:2e .........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:31 ........1
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:36 ........6
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:2e .........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:38 ........8
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:34 ........4
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:2e .........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:37 ........7
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:30 ........0
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:20 ........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:32 ........2
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:35 ........5
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:35 ........5
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:2e .........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:32 ........2
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:35 ........5
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:35 ........5
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:2e .........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:32 ........2
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:35 ........5
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:35 ........5
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:2e .........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:32 ........2
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:35 ........5
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:35 ........5
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:0a .........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:63 ........c
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6f ........o
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6d ........m
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:6d ........m
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:69 ........i
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:74 ........t
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:01:0a .........
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:05:65:78:69:74:0a ........exit.
Upvotes: 0
Views: 234
Reputation: 16802
Short Answer:
This is just a guess but instead of doing $this->conn->write("configure\n");
try writing one character at a time. eg.
$cmd = "configure\n";
for ($i = 0; $i < strlen($cmd); $i++) {
$this->conn->write($cmd[$i]);
}
Long Answer:
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:00:00:00:00:00:0a:63:6f:6e:66:69:67:75:72 ........configur
00000010 65:0a e.
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.1027, network: 0.1026s)
00000000 00:00:00:01:00:00:00:01:63 ........c
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0012, network: 0.0011s)
00000000 00:00:00:01:00:00:00:08:6f:6e:66:69:67:75:72:65 ........onfigure
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0047, network: 0.0046s)
00000000 00:00:00:01:00:00:00:01:20 ........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0118, network: 0.0118s)
00000000 00:00:00:01:00:00:00:02:0d:0a ..........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0015, network: 0.0015s)
00000000 00:00:00:01:00:00:00:1d:45:6e:74:65:72:69:6e:67 ........Entering
00000010 20:63:6f:6e:66:69:67:75:72:61:74:69:6f:6e:20:6d configuration m
00000020 6f:64:65:0d:0a ode..
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0019, network: 0.0018s)
00000000 00:00:00:01:00:00:00:02:0d:0a ..........
<- NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0013, network: 0.0013s)
00000000 00:00:00:01:00:00:00:23:7b:6d:61:73:74:65:72:3a .......#{master:
00000010 30:7d:5b:65:64:69:74:5d:0d:0a:4c:48:42:52:40:45 0}[edit]..LHBR@E
00000020 56:4f:2d:48:4e:31:31:2d:31:23:20 VO-HN11-1#
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0.0001, network: 0s)
00000000 00:00:00:00:00:00:00:45:73:65:74:20:70:6f:6c:69 .......Eset poli
00000010 63:79:2d:6f:70:74:69:6f:6e:73:20:70:72:65:66:69 cy-options prefi
00000020 78:2d:6c:69:73:74:20:64:64:6f:73:48:6f:73:74:20 x-list ddosHost
00000030 31:38:35:2e:31:36:2e:38:34:2e:37:30:20:32:35:35 186.26.81.23 255
00000040 2e:32:35:35:2e:32:35:35:2e:32:35:35:0a .255.255.255.
-> NET_SSH2_MSG_CHANNEL_DATA (since last: 0, network: 0s)
00000000 00:00:00:00:00:00:00:07:63:6f:6d:6d:69:74:0a ........commit.
So the server is echo'ing back each command after you send it. What's interesting is that it's kinda doing it haphazardly. Like in the case of configure, which is being sent over as one packet, the response you're getting back is having it split up into two packets.
After that you're sending over the next two commands the server isn't doing anything with them. It's not echo'ing them or anything. And then the connection is just being closed.
This raises a couple of questions.
$this->conn->read()
after those commands. Are you? If so then the code in your original post isn't up-to-date.The CLI output you've posted doesn't match what you're getting in the phpseclib logs. The output that the phpseclibs would have produced is as follows:
2--- JUNOS 12.3R3.4 built 2013-06-14 00:06:34 UTC
{master:0}
biss@EVO-HN11-1> set cli screen-length 0
Screen length set to 0
{master:0}
LHBR@EVO-HN1-1> configure
Entering configuration mode
#{master:0}[edit]
LHBR@EVO-HN11-1#
So there are certain discrepancies that are present in your post, however, none-the-less, I do have one idea based on what you've posted thus far.
Instead of doing $this->conn->write("configure\n");
try writing one character at a time. eg.
$cmd = "configure\n";
for ($i = 0; $i < strlen($cmd); $i++) {
$this->conn->write($cmd[$i]);
}
Upvotes: 0
Reputation: 11
You might want to try throwing some $ssh->read()
's in there. In my experience if you just send command after command without doing any read()'s in between then you may be sending them too fast, before the previous command has had a chance to run.
Upvotes: 1