Inloggen op switch met php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels

Niels

03/02/2009 14:36:00
Quote Anchor link
Ik ben bezig met een stage opdracht en in mijn opdracht moet ik gegevens lezen uit een switch om later op een website te kunnen tonen.

Ik vroeg me af hoe kan ik in die switch kan inloggen met behulp van php. Het is mij verteld dat het kan. Misschien dat iemand een voorbeeld kan posten met code.
Het gaat om een hp 2626 switch.

Alvast bedankt
 
PHP hulp

PHP hulp

30/11/2024 00:57:30
 
TJVB tvb

TJVB tvb

03/02/2009 14:57:00
Quote Anchor link
Wat voro api's heeft die switch. Die gegevens moet je hebben voordat je kunt bepalen hoe je met die switch kunt communiceren.
 
Niels

Niels

03/02/2009 15:17:00
Quote Anchor link
Sorry ik ben vrij nieuw in dit vak. Maar hoe kan ik dat achterhalen?
 
TJVB tvb

TJVB tvb

03/02/2009 15:30:00
Quote Anchor link
in de documentatie van de switch. Er zal een protocol o.i.d. moeten zijn anders gaat het nooit lukken.
 
Niels

Niels

04/02/2009 11:21:00
Quote Anchor link
Ben inmiddels een stapje verder. Ik kan inloggen met mijn php scriptje op de switch. Dat kan ik alleen doen als ik het via cmd uitvoer. Niet als ik het via de root van apache wil doen. Krijg ik dat snmpwalk undefined is. Terwijl ik die functie in het log van php 5.2.6 aan het gezet samen met paar andere functies volgens een tutorial. Moet je dan nog een include toevoegen aan de pagina?
 
TJVB tvb

TJVB tvb

04/02/2009 11:36:00
Quote Anchor link
heb je dit bovenaan je script staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>

Dit zorgt ervoor dat je alle errors ziet. En je kunt ook even een document aanmaken met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php phpinfo();?>
erin. Dan kun je zien of snmpwalk daarbij in staat.

Vaak gebruiken je command line en webserver verschillende php.ini files.
En weet je zeker dat je webserver ook bij de snmpwalk bestanden mag?

Wat is precies je foutmelding?
 
Arjan Kapteijn

Arjan Kapteijn

04/02/2009 11:44:00
Quote Anchor link
SNMP? Telnet? Webbased? SSH?
 
Niels

Niels

04/02/2009 11:57:00
Quote Anchor link
Fatal error: Call to undefined function snmpwalk() in D:\wamp\wamp\www\Rent-a-Lan\inlog2.php on line 11

Dat krijg ik te zien als ik dat php bestand open

Ook heb ik een info bestand geopend en snmp staat er niet tussen:S
Gewijzigd op 01/01/1970 01:00:00 door Niels
 
Niels

Niels

04/02/2009 12:00:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

//snmpget system stats
$host = '10.0.0.1';
$community = 'public';

//get system name
$sysname = snmpwalk($host, $community, ".1.3.6.1.2.1.1.3.0");

?>


Dat is mijn script tot nu toe

Het is me gelukt om snmp te kunne gebruiken. De oplossing was om bij wampserver naar het mapje php te gaan/ php extensions/ dan in die lijst snmp op te zoeken en aan te vinken;)


Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Niels
 
Niels

Niels

05/02/2009 12:11:00
Quote Anchor link
Nu heb ik een andere vraag.

$revisionfilter = str_replace ("ProCurve J4900A Switch 2626, revision ", "" , "$revision");

echo "De revision van de switch is $revisionfilter";

Dat is de revision van mijn switch. Alleen wil ik het deel filteren wat ik niet nodig heb. Dit is wat er uitkomt als je dat scriptje gebruikt.

De revision van de switch is "H.10.50, ROM H.08.02 (/sw/code/build/fish(mkfs))"

Nu wil ik ook , ROM H.08.02 (/sw/code/build/fish(mkfs)) eruit filteren dat je alleen H.10.50 overhoud. Ik doe iets verkeerds maar kom er niet zo snel achter wat het is. Misschien iets met die () dat die dat niet pakt.
 
TJVB tvb

TJVB tvb

05/02/2009 14:37:00
Quote Anchor link
Is dat een vaste tekst of niet?
 
Niels

Niels

05/02/2009 15:00:00
Quote Anchor link
Dat is idd een vaste tekst. Veranderd niet
 
Hipska BE

Hipska BE

05/02/2009 15:53:00
Quote Anchor link
Ga eens spelen met regEx, zal je heel wat str_replace en explode werk besparen
 
Niels

Niels

05/02/2009 22:47:00
Quote Anchor link
Bedankt voor de tip heb het kunnen regelen met explode;) Is idd veel makkelijker om dan hele stukken tekst weg te halen.
 
Niels

Niels

10/02/2009 14:17:00
Quote Anchor link
Nu heb ik alle informatie uit de switch die ik wil hebben. Maar dat moet nu in een database. Ik vroeg me af of je de uitkomst van een variabele als naam kan zetten in je tabel. In dit geval het mac adres van mijn switch.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
//Inlog gegevens switch

$host = '10.0.0.1';
$community = 'public';
$macbase = snmpget ( $host, $community, ".1.3.6.1.2.1.17.1.1.0");

$connect = mysql_connect("localhost","root","");
if (!$connect)
  {

  die('Could not connect: ' . mysql_error());
  }


mysql_select_db("gegevens_db", $connect);

// Create table
mysql_select_db("gegevens_db", $connect);
$sql = "CREATE TABLE $macbase
(
Hostname varchar(30),
Revision varchar(15),
Uptime int(15),
Inkomend_verkeer int(15),
Uitgaand_verkeer int(15),
Status_poorten varchar(15),
Mac_poorten varchar(15)
)"
;

// Execute query
mysql_query($sql,$connect);

mysql_close($connect);
?>


Ik wil zeg maar de uitkomst van $macbase als naam zetten voor mijn tabel. Is dat mogelijk?
 
Niels

Niels

11/02/2009 12:25:00
Quote Anchor link
De output van die variabele macbase is namelijk een array en dat kan je niet in je database naam zetten lijkt het.
 
Hipska BE

Hipska BE

11/02/2009 14:44:00
Quote Anchor link
Ik bedoelde om NIET explode of str_replace te gaan gebruiken. Maar oke, als je jezelf onnodig veel werk geeft, doe je maar..

Nu om je gegevens in een db te plaatsen kan ik je even aanraden om de tutorial genaamd normaliseren hier even te bekijken, want een tabelnaam afhankelijk maken van een mac adres kan immers nooit de bedoeling zijn als jij een betrouwbare database wil hebben.
 
Niels

Niels

02/03/2009 12:22:00
Quote Anchor link
Ik ben nu bezig met database. Het id de bedoeling om deze te updaten steeds met de waardes uit een switch. Is het mogelijk om deze te updaten om de 20 seconde en dan de nieuwe data te over writen over de oude heen?
 
Jurgen assaasas

Jurgen assaasas

02/03/2009 12:56:00
Quote Anchor link
Waarom zou je dat willen? Je kunt beter elke keer een nieuwe entry doen, dan kun je een soort statistieken maken.
 
Arjan Kapteijn

Arjan Kapteijn

02/03/2009 13:10:00
Quote Anchor link
Waarom heb je een DB nodig als je die informatie steeds gaat overschrijven?
 
Jurgen assaasas

Jurgen assaasas

02/03/2009 13:12:00
Quote Anchor link
Idd, dan kun je het beter gewoon uitlezen. Opslaan doe je alleen als je de oude gegevens ook echt wilt gebruiken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.