Код: Выделить всё
#!/usr/local/bin/php
#
<?
$naspasswd = "superpuperkey\n";
$linktype = "pptp";
$linkcount = 20;
$nasip = "127.0.0.1";
$nastelnetport = 2004;
$userip = $argv[1];
$port = 0;
$found = false;
$sock = socket_create (AF_INET, SOCK_STREAM, 0);
socket_connect ($sock, $nasip, $nastelnetport);
socket_write ($sock,$naspasswd, strlen($naspasswd));
$out = socket_read ($sock, 2048);
$out = socket_read ($sock, 2048);
$out = socket_read ($sock, 2048);
$out = socket_read ($sock, 2048);
while (($port < $linkcount) and ($found != true)) {
$in = "link ".$linktype.$port."\n";
socket_write ($sock, $in, strlen($in));
usleep(1000);
$in = "show iface\n";
socket_write ($sock, $in, strlen($in));
usleep(1000);
$out = socket_read ($sock, 2048);
usleep(1000);
if (preg_match("/.+Addresses.+:.+".$userip."/i", $out, $m) == 1 ) {
$found = true;
} else {
$found = false;
$port++;
};
};
if ($found == true){
$in = "link ".$linktype.$port."\n";
socket_write ($sock, $in, strlen($in));
usleep(1000);
$out = socket_read ($sock, 2048);
usleep(1000);
$in = "close\n";
socket_write ($sock, $in, strlen($in));
usleep(1000);
socket_close($sock);
exit;
?>
Давно ж это было )
