|
Тема
|
Telnet i PHP HELP
|
|
Автор | kireto (Нерегистриран) |
Публикувано | 06.06.04 20:13 |
|
Здр.
Искам да се конектна чрез телнет кам микротик рутер и да му подавам команди и да чета техния изход ако има такъв.Пробвам със fsockopen(), но извежда нераздираеми символи.
| |
Тема
|
Re: Telnet i PHP HELP
[re: kireto]
|
|
Автор |
phpGuru (член) |
Публикувано | 06.06.04 22:43 |
|
ами правилно си се насочил към fsockopen ;-)
незнам какво е този рутер, но какво ти дава когато се конектнеш с обикновена телнет програма, нещо различно??
| |
Тема
|
Re: Telnet i PHP HELP
[re: phpGuru]
|
|
Автор | Kirito (Нерегистриран) |
Публикувано | 07.06.04 10:09 |
|
Иска 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);
?>
| |
|
Ми ASCII кодове... май. Всъщност май пича ти връща каквото трябва, ама нещо не го декодира в char, а ти го дава в хекс иntegers. Само, че като гледам че повечето байтове са с Fx, демек от 240 знак нагоре, един бог знае какво ти връща. Освен ако не е някакъв UNICODE/UTF8 стринг и да ти го дава в ASCII. Що не скиваш какви са сетингите на сървъра до който се телнетваш?
General Protection Fault in module 0xDEEBAA. Рестартирайте държавата!
| |
|
|
|
|