Bonjour,
J'aurais besoin d'un petit coup de main concernant un projet pro.
Je récupère avec phpseclib et une commande Cisco l'information des ports de mon Switch.
Voici le résulstat :
Je souhaite avoir un tableau comme ci-dessous :
J'ai testé avec Explode en délimiteur Fa mais le résultat obtenu ne correspond pas car au moment de la ligne Gi j'ai un souci de plus Fa et supprimé alors que je souhaite le conserver.
J’ai testé cette petite fonction :
Le résultat et bien mieux mais Fa et Gi sont aussi effacés.
Quelqu'un pour m'aider ?
Merci d'avance.
Modifié par Chouchou (16 Feb 2017 - 11:00)
J'aurais besoin d'un petit coup de main concernant un projet pro.
Je récupère avec phpseclib et une commande Cisco l'information des ports de mon Switch.
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include('Net/SSH2.php');
$ssh = new Net_SSH2('*.*.*.*');
if (!$ssh->login('Login', 'Password')) {
exit('Login Failed');
}
print_r($ssh->exec('Show interfaces status'));
Voici le résulstat :
################################ # unauthorized access prohibited ################################ Port Name Status Vlan Duplex Speed Type Fa1/0/1 Imprimante connected trunk a-full a-100 10/100BaseTX Fa1/0/2 Imprimante connected trunk a-full a-100 10/100BaseTX Fa1/0/3 Imprimante connected trunk a-full a-100 10/100BaseTX Fa1/0/4 Imprimante notconnect 1 auto auto 10/100BaseTX Fa1/0/5 Users notconnect 1 full 100 10/100BaseTX Fa1/0/6 Users notconnect 1 full 100 10/100BaseTX Fa1/0/7 Users notconnect 1 full 100 10/100BaseTX Fa1/0/8 Users notconnect 1 full 100 10/100BaseTX Fa1/0/9 Users connected trunk full 100 10/100BaseTX Fa1/0/10 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/11 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/12 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/13 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/14 Users connected trunk a-full a-100 10/100BaseTX Fa1/0/15 Users connected 11 a-full a-100 10/100BaseTX Fa1/0/16 Users notconnect 11 auto auto 10/100BaseTX Fa1/0/17 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/18 Users notconnect 11 auto auto 10/100BaseTX Fa1/0/19 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/20 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/21 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/22 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/23 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/24 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/25 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/26 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/27 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/28 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/29 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/30 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/31 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/32 Users connected trunk a-full a-100 10/100BaseTX Fa1/0/33 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/34 Users connected trunk a-full a-100 10/100BaseTX Fa1/0/35 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/36 Users connected trunk a-full a-100 10/100BaseTX Fa1/0/37 Users connected trunk a-full a-100 10/100BaseTX Fa1/0/38 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/39 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/40 Users connected trunk a-full a-100 10/100BaseTX Fa1/0/41 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/42 Users connected trunk a-full a-100 10/100BaseTX Fa1/0/43 Users connected trunk a-full a-100 10/100BaseTX Fa1/0/44 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/45 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/46 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/47 Users notconnect 1 auto auto 10/100BaseTX Fa1/0/48 Users notconnect 1 auto auto 10/100BaseTX Gi1/0/1 Uplink-to-FRAUDROU connected trunk a-full a-1000 1000BaseLX SFP Gi1/0/2 Uplink-Ready notconnect 1 auto auto Not Present Gi1/0/3 Uplink-Ready notconnect 1 auto auto Not Present Gi1/0/4 Uplink-Ready notconnect 1 auto auto Not Present Fa2/0/1 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/2 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/3 Users notconnect 11 auto auto 10/100BaseTX Fa2/0/4 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/5 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/6 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/7 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/8 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/9 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/10 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/11 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/12 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/13 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/14 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/15 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/16 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/17 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/18 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/19 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/20 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/21 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/22 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/23 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/24 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/25 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/26 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/27 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/28 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/29 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/30 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/31 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/32 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/33 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/34 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/35 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/36 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/37 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/38 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/39 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/40 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/41 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/42 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/43 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/44 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/45 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/46 Users notconnect 1 auto auto 10/100BaseTX Fa2/0/47 Users connected trunk a-full a-100 10/100BaseTX Fa2/0/48 Users connected trunk a-full a-100 10/100BaseTX Gi2/0/1 Uplink-Ready notconnect 1 auto auto Not Present Gi2/0/2 notconnect 1 auto auto Not Present Gi2/0/3 notconnect 1 auto auto Not Present Gi2/0/4 notconnect 1 auto auto Not Present
Je souhaite avoir un tableau comme ci-dessous :
Array(
[0] => Fa1/0/1 Imprimante connected trunk a-full a-100 10/100BaseTX
[1] => Fa1/0/2 Imprimante connected trunk a-full a-100 10/100BaseTX
[2] => Gi1/0/1 Uplink-to-FRAUDROU connected trunk a-full a-1000 1000BaseLX SFP
)
J'ai testé avec Explode en délimiteur Fa mais le résultat obtenu ne correspond pas car au moment de la ligne Gi j'ai un souci de plus Fa et supprimé alors que je souhaite le conserver.
J’ai testé cette petite fonction :
function explodeX( $delimiters, $string ){
return explode( chr( 1 ), str_replace( $delimiters, chr( 1 ), $string ) );
}
$exploded = explodeX( array('Fa', 'Gi'), $ssh->exec('Show interfaces status') );
Le résultat et bien mieux mais Fa et Gi sont aussi effacés.
Quelqu'un pour m'aider ?
Merci d'avance.
Modifié par Chouchou (16 Feb 2017 - 11:00)