Netzwerkfreigaben im lokalen netzwerk anzeigen
Sorgenkind Mech
- php
moin leutz
ich hab da ja mal ne brilliante idee, denk ich zumindest, aber darüber sol nich disskutiert werden ;)
ich han mich gerade gefragt, ob es möglich wäre, per php alle netzwerkfreigaben anzeigen zu lassen
die freigaben sollen einfach mal durch windowsrechner bereitstehen
dazu hab ich mir mal die datei-funktionen und die verzeichnisfunktionen von php angeschaut
zugriffe erfolgen aber immer duch ips bzw. das ftp-protokoll
weiß jemand ob bzw. wie das geht, dass man erstmal die freigaben findet?
PS nicht vergessen, alles lokales Netzwerk, nix internet oder so
grüße
re
aaaalso ich hab ja ma mittlerweile rausgefunden, dass ich dazu wahrscheinlich fsockopen nehmen muss .......... aber wie komm ich weiter? mit den normalen verzeichnis / dateifunktionen bekomm ich nu immer No such file or directory
das ist beispielsweise ein versuch:
<?php
$fp = fsockopen("udp://127.0.0.1", 13);
chdir($fp);
if (!$fp)
{
echo "$errstr ($errno)<br>\n";
}
else
{
$test = fopen($fp, "r");
var_dump($test); echo "<br>";
$handle=opendir ($fp);
echo "Verzeichnis-Handle: $handle<br>\n";
echo "Dateien:<br>\n";
while (false !== ($file = readdir ($handle))) {
echo "$file\n";
}
closedir($handle);
}
fclose($fp);
?>
hoffentlich kann mir jemand weiterhelfen
grüße
Hallo Sorgenkind :-)
ich hab da ja mal ne brilliante idee, denk ich zumindest, aber darüber sol nich disskutiert werden ;)
Mach' ich nicht, versprochen!
ich han mich gerade gefragt, ob es möglich wäre, per php alle netzwerkfreigaben anzeigen zu lassen
weiß jemand ob bzw. wie das geht, dass man erstmal die freigaben findet?
Mir fällt die Kombination von
exec()
und dem Kommandozeilenbefehl
net view
ein.
net view gegebenenfalls mehrfach hintereinander ausführen :-)
PS nicht vergessen, alles lokales Netzwerk, nix internet oder so
Schon klar!
Gruss,
Vinzenz
moin
Mir fällt die Kombination von
exec()
und dem Kommandozeilenbefehl
net view
ein.
net view gegebenenfalls mehrfach hintereinander ausführen :-)
werd ich probieren sobald ich wieder im netzwerk bin ;) danke
wenn das funzt hätte ich nur noch das prob, wie ich dann auch darauf zugreifen kann
will nix verändern, nur inhalt anzeigen lassen, und wenns nich geht das halt auch anzeigen, was ja dann über einfache kontrolle gehen würde .........
grüße
Hallo
wenn das funzt hätte ich nur noch das prob, wie ich dann auch darauf zugreifen kann
Mit
exec()
und
dir \Servername\Freigabename
Die Servernamen bekommst Du aus
net view
Die Freigabenamen aus
net view \Servername
Bevor ich es vergesse:
exec() zu verwenden stellt nahezu immer ein Sicherheitsrisiko dar, ich weiß das. Aber Du willst das ja für private Zwecke in einem internen Netz verwenden.
Gruss,
Vinzenz
rehallo
also ich habjetz mal testhalber folgendes probiert (was im dos-prompt funzt)
$test = exec('dir \127.0.0.1\d\*');
var_dump($test);
$test ist in diesem falle string(0) ""
kannst mir sagen was ich falsch mache?
danke
gruß
rehallo
okok, hab das escapen vergessen, allerdings sagt er mir jetz nur: string(60) " 17 Verzeichnis(se), 0 Bytes frei"
damit kann ich ja letztendlich nix anfangen ..... ?
Hallo Sorgenkind,
okok, hab das escapen vergessen, allerdings sagt er mir jetz nur: string(60) " 17 Verzeichnis(se), 0 Bytes frei"
damit kann ich ja letztendlich nix anfangen ..... ?
Klar, damit kannst Du nichts anfangen. Das ist nämlich die letzte Zeile der Ausgabe Deines Befehls.
Um alle Ausgaben des dir-Befehls zu bekommen, musst Du dem exec-Befehl als zweiten Parameter ein Array übergeben. Da werden alle Ausgabezeilen reingeschrieben.
http://www.php.net/manual/de/function.exec.php
Gruss,
Vinzenz
re
boah geil
ich denke damit lässt sich was anfangen ;)
wird zwar ne riesen schleife das ganze script, aber was solls ;)
achja, was wenn dabei die maximale ausführungszeit von 30 sec überschritten wird?
wenn das ganze dann 50 rechner abklappert, und die ganzen inhalte hierarchiologisch (krasses wort, richtig geschrieben?) darstellt, dann könnt das doch durchaus passieren oder?
gruß und vielen dank
aaaaales klar
set_time_limit(0);
jetz dürft ich wohl wunshlos glücklich sein ;)
danke vielmals vinzenz!!!!!!!!!!
grüße
Hallo Sorgenkind,
b...
Ich mach mir wirklich Sorgen ;-)
achja, was wenn dabei die maximale ausführungszeit von 30 sec überschritten wird?
php.ini editieren :-)
Du bist ja schließlich in einem lokalen Netzwerk.
wenn das ganze dann 50 rechner abklappert, und die ganzen inhalte hierarchiologisch (krasses wort, richtig geschrieben?) darstellt, dann könnt das doch durchaus passieren oder?
Nein leider nicht richtig geschrieben, heißt hierarchisch...
Ja, das könnte durchaus passieren, eher es wird wohl passieren. Abhilfe, s.o.
gruß und vielen dank
Bitte, gern geschehen.
Gruss,
Vinzenz
ja also ich hab ja noch vergessen, wenn ich die habe will ich zum beispiel auch den inhalt der freigaben darstellen, also muss ich auch drauf zugreifen .......... irgentwie
hoffentlich geht das ......
grüße