Pobieranie wyników z netcat przez PHP

Potrzebujesz pomocy z C, C++, perl, python, itp.
robson_ek
Posty: 6
Rejestracja: 20 kwietnia 2008, 15:07

Pobieranie wyników z netcat przez PHP

Post autor: robson_ek »

Witam,

Jestem informatykiem z zamiłowania i szkoły (PK Inf 2 rok). Mam ciekawy problem, który wydaje się być bardzo prosty do rozwiązania, ale niestety w moim przypadku tak nie jest.

Zadanie:
Napisać skrypt w PHP pobierający dane z programu nc.

Rozwiązanie:
Z pomocą przychodzi nam funkcja PHP shell_exec, która może wyświetlać wyniki,które widzimy w bashu łącząc się przez SSH.

Przykładowy kod:

Kod: Zaznacz cały

<?php
$output = shell_exec('nc -v -z linux.pl 80');
echo "<pre>$output</pre>";
?>
Problem:
funkcja shell_exec nie zwraca żadnych wyników dla programu nc. Natomiast jeżeli jako komendę wpisze listowanie plików: (shell_exec('ls -lart') ;) to na ekranie bardzo ładnie ukaże się zawartość katalogu.

Moje pytanie:
Dlaczego u mnie nie chce się nic pokazać, jeżeli listowanie plików działa i kilka innych komend. Nawet ping po skróceniu jego działania (np.: -c 4) ładnie wyświetla się na stronie.

Moja walka:
Próbowałem zapisywać plik po przez (>) nawet na kilku powłokach (2>&1) i niestety nic nie było zwracane.
Jeżeli natomiast wpiszę te same dane w bashu to wszystko ładnie chodzi, plik jest zapisywany i zawiera treść.

Moja maszyna:
Serwer w OVH kimstufii XXL wraz z panelem Direct Admin.

Proszę o pomoc bo nie mam pojęcia co może być przyczyną.

Jeżeli brakuje jakichś informacji proszę pisać a na pewno je zamieszczę i każdą propozycje rozwiązania problemu przetestuje.
jedi1
Posty: 46
Rejestracja: 08 maja 2007, 17:08
Lokalizacja: Gdynia

Post autor: jedi1 »

Kod: Zaznacz cały

<?php
$output = shell_exec('nc -v -z linux.pl 80 2>&1');
echo "$output";
?>
dziala u mnie na php5
Czocher
Beginner
Posty: 140
Rejestracja: 26 maja 2007, 23:19

Post autor: Czocher »

A czy www wraz z php nie może działać w środowisku chroot? Może poprostu takie zabezpieczenie mają...
ODPOWIEDZ