Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ??? Сканер портов ???
 
 автор: Dumus   (20.09.2006 в 19:33)   письмо автору
 
 

Здравствуйте!

Очень интересно, возможно ли написать сканер портов на Php....

Попробовал несколько методов, учпехом они не увенчались, просьба помочь в данном вопросе)

Пробовал:

По средствам Телнет.
Пытался через сокеты, но ругается какой-то ошибкой Resource id #2


<?php
$get 
fsockopen("127.0.0.1""80"$errno$errstr"30");
print 
$get;
?>


---------------------

Т.е. мне нужно что бы коннектилось к серверу и забирало информацию о нужном порте...

   
 
 автор: Unkind™   (20.09.2006 в 20:06)   письмо автору
 
   для: Dumus   (20.09.2006 в 19:33)
 

Для этого есть стандартная функция...
getservbyport()

   
 
 автор: dumus   (20.09.2006 в 20:11)   письмо автору
 
   для: Unkind™   (20.09.2006 в 20:06)
 

Не) Эт не оно)

Примерно, что бы следующее выводило)

HTTP - 80 HTTP/1.0 302 Moved Temporarily
Server: 0W/0.7n
Date: Wed, 20 Sep 2006 16:10:15 GMT
Content-Type: text/html; charset=iso-8859-1
Location: http://*************/

Т.е. команда должна выводить всю информацию о порте...

   
 
 автор: Саня   (20.09.2006 в 22:53)   письмо автору
 
   для: Dumus   (20.09.2006 в 19:33)
 

Это не ошибка. Вы пытаетесь пывести на экран ресурс. Нужно сначала записать что-нибудь в сокет, затем прочесть ответ сервера в переменную, а вот уже потом и выводить.
А ошибки соекта запишутся в переменную $errstr.

   
 
 автор: dumus   (21.09.2006 в 18:02)   письмо автору
 
   для: Саня   (20.09.2006 в 22:53)
 


<?
$get 
fsockopen("127.0.0.1""80"$errno$errstr"30");
print 
$get."<br><br>";


$out "Connection: Close\r\n";

$get fwrite($get$out);
print 
$errno."||||=<br><br>";
print 
$errstr."||||=<br><br>";
print 
$get."||||=<br><br>";

?>


Записав что-либо в сокет, получаю вот такую штуку....

Resource id #2

0||||=

||||=

19||||=

   
 
 автор: Webmaster-X   (22.09.2006 в 12:42)   письмо автору
 
   для: dumus   (21.09.2006 в 18:02)
 

подскажите а как с помощью функции getservbyport() узнать открыт 80 порт www.softtime.ru или нет
смотрел в мануале там нет подходящего примера, на сайте эта функция не описывается :-(

   
 
 автор: cheops   (22.09.2006 в 20:25)   письмо автору
 
   для: Webmaster-X   (22.09.2006 в 12:42)
 

Эта функция не работает с удалёнными машинами и вообще не сообщает открыт порт или нет - она лишь говорит, о том, какой протокол связан с запрашиваемым портом на текущей машине
<?php 
  
echo getservbyport(80"tcp"); 
?> 

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования