Telnet i PHP HELP

3 отговора 171 прегледа
#1

Telnet i PHP HELP

Здр.
Искам да се конектна чрез телнет кам микротик рутер и да му подавам команди и да чета техния изход ако има такъв.Пробвам със fsockopen(), но извежда нераздираеми символи.

Отговор
в отговор на kireto #2

Re: Telnet i PHP HELP

ами правилно си се насочил към fsockopen ;-)

незнам какво е този рутер, но какво ти дава когато се конектнеш с обикновена телнет програма, нещо различно??

Отговор
в отговор на phpGuru #3

Re: Telnet i PHP HELP

Иска username и pass, за да влезе към тоя host, а после показва команден ред.Това е ако се конектнеш чрез телнет, а ми връща неразбраеми символи.

<?php
# This is the difficult part, the Telnet header
$header1=chr(0xFF).chr(0xFB).chr(0x1F).chr(0xFF).chr(0xFB). <---(А това изобщо не мога да разбера за какво е)
chr(0x20).chr(0xFF).chr(0xFB).chr(0x18).chr(0xFF).chr(0xFB).
chr(0x27).chr(0xFF).chr(0xFD).chr(0x01).chr(0xFF).chr(0xFB).
chr(0x03).chr(0xFF).chr(0xFD).chr(0x03).chr(0xFF).chr(0xFC).
chr(0x23).chr(0xFF).chr(0xFC).chr(0x24).chr(0xFF).chr(0xFA).
chr(0x1F).chr(0x00).chr(0x50).chr(0x00).chr(0x18).chr(0xFF).
chr(0xF0).chr(0xFF).chr(0xFA).chr(0x20).chr(0x00).chr(0x33).
chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0x2C).chr(0x33).
chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0xFF).chr(0xF0).
chr(0xFF).chr(0xFA).chr(0x27).chr(0x00).chr(0xFF).chr(0xF0).
chr(0xFF).chr(0xFA).chr(0x18).chr(0x00).chr(0x58).chr(0x54).
chr(0x45).chr(0x52).chr(0x4D).chr(0xFF).chr(0xF0);
$header2=chr(0xFF).chr(0xFC).chr(0x01).chr(0xFF).chr(0xFC).
chr(0x22).chr(0xFF).chr(0xFE).chr(0x05).chr(0xFF).chr(0xFC).chr(0x21);

# connecting
$fp=fsockopen("127.0.0.1",23);

# sending the Telnet header
fputs($fp,$header1);
usleep(125000);
fputs($fp,$header2);
usleep(125000);

# login
fputs($fp,"user\r");
usleep(125000);
fputs($fp,"users.pass\r");
usleep(125000);
# root looks nice
fputs($fp,"su\r");
usleep(125000); # takes some time, we had to wait
fputs($fp,"root.pass\r");

# some tests
fputs($fp,"ifconfig\r");
fputs($fp,"echo year telnet php connect works|wall\r");

# we had to wait
usleep(125000);

# show the output
do
{
$output.=fread($fp, 80); // read line by line, or at least small chunks
$stat=socket_get_status($fp);
}
while($stat["unread_bytes"]);

$output = str_replace("\n", "
", $output);
echo $output;
fclose($fp);
?>


Отговор
в отговор на Kirito #4

Re: Telnet i PHP HELP

Ми ASCII кодове... май. Всъщност май пича ти връща каквото трябва, ама нещо не го декодира в char, а ти го дава в хекс иntegers. Само, че като гледам че повечето байтове са с Fx, демек от 240 знак нагоре, един бог знае какво ти връща. Освен ако не е някакъв UNICODE/UTF8 стринг и да ти го дава в ASCII. Що не скиваш какви са сетингите на сървъра до който се телнетваш?

General Protection Fault in module 0xDEEBAA. Рестартирайте държавата!
Отговор