Find the answer to your Linux question:
Results 1 to 3 of 3
The script is called php-ping and it is taken from theworldsend.net I modified it so that instead of ping he will execute another command called scr witch telnets to a ...
  1. #1
    Just Joined!
    Join Date
    Feb 2009
    Posts
    3

    problem with a php script

    The script is called php-ping and it is taken from theworldsend.net
    I modified it so that instead of ping he will execute another command called scr
    witch telnets to a switch and changes the vlan on an interface

    the telnet script:
    --------------------
    #! /bin/bash
    (
    sleep 0.2;
    echo admin;
    sleep 0.2;
    echo parola;
    echo interface ethernet $2;
    echo port access vlan 222;
    echo quit;
    echo save;
    echo y;
    sleep 5;
    ) | telnet $1
    ------------------------------
    ex scr $1(ip) $2(interface)
    ex: scr 10.10.10.1 0/2
    telnets to 10.10.10.1 and chamges the vlan on the interface 0/2

    The php script
    ---------------------------------------------
    <html>
    <?php
    $max_count = 10; //maximum count for ping command
    $unix = 1; //set this to 1 if you are on a *unix system
    $windows = 0; //set this to 1 if you are on a windows system
    // -------------------------
    // nothing more to be done.
    // -------------------------
    //globals on or off ?
    $register_globals = (bool) ini_get('register_gobals');
    $system = ini_get('system');
    $unix = (bool) $unix;
    $win = (bool) $windows;
    //
    If ($register_globals)
    {
    $ip = getenv(REMOTE_ADDR);
    $self = $PHP_SELF;
    }
    else
    {
    $submit = $_GET['submit'];
    $count = $_GET['count'];
    $host = $_GET['host'];
    $ip = $_SERVER['REMOTE_ADDR'];
    $self = $_SERVER['PHP_SELF'];
    };
    // form submitted ?
    If ($submit == "Ping!")
    {
    // over count ?
    If ($count > $max_count)
    {
    echo 'Maximum for count is: '.$max_count;
    echo '<a href="'.$self.'">Back</a>';
    }
    else
    {
    // replace bad chars
    $host= preg_replace ("/[^A-Za-z0-9.-]/","",$host);
    $count= preg_replace ("/[^0-9]/","",$count);
    echo '<body bgcolor="#FFFFFF" text="#000000"></body>';
    echo("Ping Output:<br>");
    echo '<pre>';
    //check target IP or domain
    if ($unix)
    {
    system ("ping -c$count -w$count $host");
    }
    else
    {
    system("ping -n $count $host");
    }
    echo '</pre>';
    }
    }
    else
    {
    echo '<body bgcolor="#FFFFFF" text="#000000"></body>';
    echo '<p><font size="2">Your IP is: '.$ip.'</font></p>';
    echo '<form methode="post" action="'.$self.'">';
    echo ' Enter IP or Host <input type="text" name="host" value="'.$ip.'"></input>';
    echo ' Enter Count <input type="text" name="count" size="2" value="4"></input>';
    echo ' <input type="submit" name="submit" value="Ping!"></input>';
    echo '</form>';
    echo '<br><b>'.$system.'</b>';
    echo '</body></html>';
    }
    ?>
    ------------------------------------------------------------
    Instead of ping i changed to scr command
    The problem is that i don't know how to modifiy it so that it reads the interface ($2)

    Thank you

  2. #2
    Trusted Penguin elija's Avatar
    Join Date
    Jul 2004
    Location
    Either at home or at work or down the pub
    Posts
    2,300
    Code:
    <html>
    <?php
    $max_count = 10; //maximum count for ping command
    $unix = 1; //set this to 1 if you are on a *unix system
    $windows = 0; //set this to 1 if you are on a windows system
    // -------------------------
    // nothing more to be done.
    // -------------------------
    //globals on or off ?
    $register_globals = (bool) ini_get('register_gobals');
    $system = ini_get('system');
    $unix = (bool) $unix;
    $win = (bool) $windows;
    //
    If ($register_globals) {
    	$ip = getenv(REMOTE_ADDR);
    	$self = $PHP_SELF;
    } else {
    	$submit = $_GET['submit'];
    	$count = $_GET['count'];
    	$host = $_GET['host'];
    	$ip = $_SERVER['REMOTE_ADDR'];
    	$self = $_SERVER['PHP_SELF'];
    	$interface = $_GET['interface'];
    }
    
    // form submitted ?
    If ($submit == "Ping!") {
    	// over count ?
    	If ($count > $max_count) {
    		echo 'Maximum for count is: '.$max_count;
    		echo '<a href="'.$self.'">Back</a>';
    	} else {
    		// replace bad chars
    		$host= preg_replace ("/[^A-Za-z0-9.-]/","",$host);
    		$count= preg_replace ("/[^0-9]/","",$count);
    		echo '<body bgcolor="#FFFFFF" text="#000000"></body>';
    		echo("Ping Output:<br>");
    		echo '<pre>';
    
    		//check target IP or domain
    		//  In these calls, this is where you would use the new interface variable
    		if ($unix) {
    			system ("ping -c$count -w$count $host");
    		} else {
    			system("ping -n $count $host");
    		}
    		echo '</pre>';
    	}
    } else {
    	echo '<body bgcolor="#FFFFFF" text="#000000"></body>';
    	echo '<p><font size="2">Your IP is: '.$ip.'</font></p>';
    	echo '<form methode="post" action="'.$self.'">';
    	echo ' Enter IP or Host <input type="text" name="host" value="'.$ip.'"></input>';
    	echo ' Enter Count <input type="text" name="count" size="2" value="4"></input>';
    	echo ' Enter your interface <input type="text" name="interface"></input>';
    	echo ' <input type="submit" name="submit" value="Ping!"></input>';
    	echo '</form>';
    	echo '<br><b>'.$system.'</b>';
    	echo '</body></html>';
    }
    ?>
    If we hit that bullseye, the rest of the dominoes will fall like a house of cards. Checkmate! (Zapp Brannigan)


    My new blog. It's probably not as good as I think it is.

  3. #3
    Just Joined!
    Join Date
    Feb 2009
    Posts
    3

    Thumbs up Thank you

    It's working.
    Thank you very much elija

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...