Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как выполнить ping на php ?
Форумы портала PHP.SU » » Вопросы новичков » Как выполнить ping на php ?

Страниц (1): [1]
 

1. AnteFil - 03 Августа, 2017 - 16:02:48 - перейти к сообщению
Нужно зайти на компьютер в локальной сети например 192.168.0.10 выполнить с него команду ping и результат отправить скрипту или в базу на моём ПК

Удалённый компьютер на линуксе

Как это можно реализовать!
2. dcc0 - 03 Августа, 2017 - 16:10:44 - перейти к сообщению
3. AnteFil - 03 Августа, 2017 - 16:29:16 - перейти к сообщению
dcc0 пишет:
Внизу смотри.

ТЫ про это

(Добавление)
Так нагуглил я что типо такого
Через ssh2_connect мы подключаемся к ПК и ssh2_exec выполняем команду.
PHP:
скопировать код в буфер обмена
  1.  
  2. Напишем функцию пинга
  3. function ping($ip){
  4.   $output = ssh2_exec("ping -n 2 $ip");
  5.   print_r($output);
  6. }
  7. if(!($con = ssh2_connect("192.168.0.10", 22))){
  8.     echo  "Нет соединеня";
  9. } else {
  10.     //Соединение есть по этому авторизуемся по имени пользователя и паролю
  11.     if(!ssh2_auth_password($con, "root", $_GET["password"])) {
  12.         echo  "Косяк чёт с пролькой";
  13.     } else {
  14.         // Авторизовались
  15.      
  16.         // выполняем комманду
  17.  
  18.         if (!($stream = ssh2_exec($con, ping('192.168.0.11'); ))) {
  19.             echo  "Косяк";
  20.         }
  21.     }
  22. }
  23.  

Правильно ли я мыслю и будет ли работать эта конструкция?
4. dcc0 - 03 Августа, 2017 - 17:19:13 - перейти к сообщению
Я про это больше

echo exec('ping -n 1 -w 1 72.10.169.28');

но только не стоит забывать про кодировку

Наверное лучше так


PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. function ping($ip){
  4.     $output = shell_exec("ping $ip");
  5.     var_dump(iconv("cp866","utf-8", $output));
  6. }
  7. ping('127.0.0.1');
  8.  
  9.  
5. LIME - 04 Августа, 2017 - 11:23:07 - перейти к сообщению
dcc0 все верно но...
какая блиааа кодировка?
на пинг может быть только понг
или да или не
AnteFil пинг команда совсем не означает доступность по tcp/ip
тоесть если есть пинг совсем не значит что сервер доступен по tcp
ping это отдельный протокол
говорит только что серв жив и не более
сверхзадача какая?
6. dcc0 - 04 Августа, 2017 - 13:30:08 - перейти к сообщению
Автор не детализировал сразу, что означает это его "зайти на удаленный компьютер и с него выполнить", я подумал, что на удаленном компе есть PHP и какой-то сервер, раз надо на php, то после отработки команды ping есть некий текстовый результат, который он, кстати, еще и в базу собирается писать.

А виж тут како дело, надо через ссх заходить.
Тут еще может понадобиться почитать man по expect
или подрубить telnet на этом удаленном компьютере.
(Добавление)
А хотя не expect не понадобится... повылетало все уже из головы.
7. LIME - 04 Августа, 2017 - 13:39:16 - перейти к сообщению
дык я о чем
суть: пингом нельзя проверять сервак на тему нужного результата
пинг создан только чтобы проверить жив пациент али сдох

зачем
нужна сверхзадача - зачем и куда с него пинговать
если в локалке то можно пинговать с хост машины
результат будет тот же
короче ересь очередная
не интересно
8. dcc0 - 04 Августа, 2017 - 13:48:27 - перейти к сообщению
Модель
Комп 1 -> заходить по ссх на комп2 -> комп два (имеет PHP, кстати ) -> долбит пингом в комп три, получает результат и соединяется с Комп 1, который и пишет в базу.

Я как бы не навязываю свое мнение, но зачем тогда ссх если на компе 2 есть PHP, значит там есть и вебсервер с вероятностью 90%. Проще все это через браузер организовать

Комп 1 через браузер заход на спец. страницу, там все выполняется и вываливается в браузер
компа 1, который и пишет в свое бд.
9. LIME - 04 Августа, 2017 - 13:54:53 - перейти к сообщению
dcc0 а какая разница ssl или нет
это вообще ничего не меняет
это на себя берет веб-сервер
короче тс дофига хитрый
или даст сверх задачу или ну его в пень
а эти свои комбинации
dcc0 пишет:
Комп 1 -> заходить по ссх на комп2 -> комп два (имеет PHP, кстати ) -> долбит пингом в комп три
это как сосать огурец
один хрен рядом морковка не кончит
по сабжу - если это в локалке то пофиг откуда пинговать
10. dcc0 - 04 Августа, 2017 - 13:56:23 - перейти к сообщению
И со своего компа 1 он может дергать эту страницу кроном.
Т.е. на его компе 1 скрипт который запускает по крону дергает копм 2 и пишет в базу.
что полностью избавляет от ссх
11. LIME - 04 Августа, 2017 - 13:56:43 - перейти к сообщению
dcc0 пишет:
роще все это через браузер организовать
)) организуй))
попробуй сначала))

и уж если совсем по сабжу то имхо тс хочет просканировать локалку
для этого много лет назад придумали nmap
12. dcc0 - 04 Августа, 2017 - 14:32:09 - перейти к сообщению
результат с компа 2 можно вернуть и с помощью функции mail на комп 1 . если в локалке. тогда на первом компе крон дергает скрипт на компе 2 и по и по локальной почте получает результат.
13. LIME - 04 Августа, 2017 - 14:53:14 - перейти к сообщению
.

 

Powered by ExBB FM 1.0 RC1