[php] shell_exec smbclient

Pagina: 1
Acties:

Onderwerpen


  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Dit volgende script is de basis van een script waarmee ik via IE berichten wil zenden aan m`n huisgenoten. Waar het om gaat is dat hij het "echo $verhaal | smbclient -M $naam -I $ip";" niet wil uitvoeren.
Maar zodra ik ipv $naam gewoon hard de naam invoer doet hij het wel.
Weet iemand wat ik fout doe?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$verhaal = 'gelukt';

$ip = '192.168.0.2';
$ping = shell_exec("ping -c 1 -s 10 -w 0 $ip");
if (eregi("Unreachable", $ping)) {
    echo 'Dit adres bestaat niet!';
}
else {
$naam = shell_exec("nmblookup -A $ip");
$naam = explode(" ", $naam);
$naam = $naam['4'];
$naam = ereg_replace($ip, '', $naam);

$command = "echo $verhaal | smbclient -M $naam -I $ip";
echo $command;
$uitkomst = shell_exec($command);
echo "<br><br><pre> $uitkomst </pre>";

}

[ Voor 13% gewijzigd door DumbAss op 31-01-2003 15:41 ]

Vanutsteen.nl => nerds only | iRacing


  • Tom-Eric
  • Registratie: Oktober 2001
  • Laatst online: 25-03-2025
heb je al geprobeer om $naam bij iedere verandering te echoen of the print_r()en, zoja, wat is dan dr output?

i76 | Webdesignersgids | Online Gitaarlessen & Muziekwinkels


  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Als ik gewoon de naam echo dan pakt ie de goede naam. Dat klopt gewoon. Met een paar ip adressen geprobeerd. Als ik de output van echo $command coppy&paste in putty dan doet ie het gewoon.
Maar met shell_exec niet

Vanutsteen.nl => nerds only | iRacing


  • AcXeller
  • Registratie: Mei 2002
  • Niet online
Weet niet of het veel uitmaakt maar anders kan je dit misschien proberen
PHP:
1
$command = "echo $verhaal | smbclient -M ".$naam." -I $ip";

of anders misschien
PHP:
1
$command = "echo $verhaal | smbclient -M \"$naam\" -I $ip";

[ Voor 17% gewijzigd door AcXeller op 30-01-2003 14:55 ]

Mijn YouTube kanaal


  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Ik heb ze allebei geprobeerd maar dat maakt niks uit. Hier is het resultaat van het scipt wanneer ik het uivoer. Misschien dat iemand daar iets mee kan?
echo gelukt | smbclient -M SJORS -I 192.168.0.1


added interface ip=127.0.0.1 bcast=127.255.255.255 nmask=255.0.0.0
added interface ip=192.168.0.4 bcast=192.168.0.255 nmask=255.255.255.0
Usage: smbclient service [options]
Version 2.2.4
-s smb.conf pathname to smb.conf file
-O socket_options socket options to use
-R name resolve order use these name resolution services only
-M host send a winpopup message to the host
-i scope use this NetBIOS scope
-N don't ask for a password
-n netbios name. Use this name as my netbios name
-d debuglevel set the debuglevel
-P connect to service as a printer
-p port connect to the specified port
-l log basename. Basename for log/debug files
-h Print this help message.
-I dest IP use this IP to connect to
-E write messages to stderr instead of stdout
-U username set the network username
-L host get a list of shares available on a host
-t terminal code terminal i/o code {sjis|euc|jis7|jis8|junet|hex}
-m max protocol set the max protocol level
-A filename get the credentials from a file
-W workgroup set the workgroup name
-TIXFqgbNan command line tar
-D directory start from directory
-c command string execute semicolon separated commands
-b xmit/send buffer changes the transmit/send buffer (default: 65520)

[ Voor 14% gewijzigd door DumbAss op 31-01-2003 15:40 ]

Vanutsteen.nl => nerds only | iRacing


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

ik heb het bij mij even uitgeprobeert, ik heb wel even een <pre> toegevoegd en wat zie ik:
code:
1
2
3
4
5
6
echo gelukt | smbclient -M 
    REGINA -I 192.168.1.47



.. [de rest wat jij ook krijgt]..


dus er zit ergens een \n in ;) + een zooi spaties

en dan is
PHP:
1
$naam = trim($naam);


jouw oplossing ;)

[ Voor 26% gewijzigd door Erkens op 31-01-2003 15:36 ]


  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Supervet...
Hij doet het.
Maar snappen doe ik het nog helemaal niet. Zou je een (korte) uitleg kunnen geven wat er nou mis was met het script?

Vanutsteen.nl => nerds only | iRacing


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

DumbAss schreef op 31 januari 2003 @ 15:43:
Supervet...
Hij doet het.
Maar snappen doe ik het nog helemaal niet. Zou je een (korte) uitleg kunnen geven wat er nou mis was met het script?
de output van nmblookup -A 192.168.1.47 (ff mijn ip gebruiken :+ )
code:
1
2
3
4
5
6
7
Looking up status of 192.168.1.47
        REGINA          <00> -         M <ACTIVE>
        REGINA          <20> -         M <ACTIVE>
        ERKENS          <00> - <GROUP> M <ACTIVE>
        ERKENS          <1e> - <GROUP> M <ACTIVE>
        REGINA          <03> -         M <ACTIVE>
        MICHAEL         <03> -         M <ACTIVE>

hier staan een flinke zooi spaties voor, wat jouw probleem was, die simpel weg deleten en je bent klaar :P
zet om je script maar eens de <pre> tag, dan zie je het ;)
dan eenvoudig debuggen door op de diverse plaatsen een print_r() te geven ;)
en dan was voor mij de conclusie snel getrokken dat er een trim nodig was :P

  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Cool. Ik had er aan gedacht dat het zoiets zou kunnen zijn. Maar toen dacht ik: "nèèèh, daar zal tie wel niet over struikelen".
Toch wel dus ;)

Vanutsteen.nl => nerds only | iRacing


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

DumbAss schreef op 31 januari 2003 @ 15:48:
Cool. Ik had er aan gedacht dat het zoiets zou kunnen zijn. Maar toen dacht ik: "nèèèh, daar zal tie wel niet over struikelen".
Toch wel dus ;)
btw je ping statement gaat nooit werken ;)

code:
1
2
michael@server:~$ ping -c 1 -s 10 -w 0 192.168.1.47
ping: Operation not permitted


;)

  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Bij mij pingt ie perfect :?

Vanutsteen.nl => nerds only | iRacing


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

hmm, raar :P

offtopic:
ook als root gaat het fout :P

root@server:/# ping -c 1 -s 10 -w 0 192.168.1.47
ping: illegal timeout.
Pagina: 1