|
|
|
| Здравствуйте!
Очень интересно, возможно ли написать сканер портов на Php....
Попробовал несколько методов, учпехом они не увенчались, просьба помочь в данном вопросе)
Пробовал:
По средствам Телнет.
Пытался через сокеты, но ругается какой-то ошибкой Resource id #2
<?php
$get = fsockopen("127.0.0.1", "80", $errno, $errstr, "30");
print $get;
?>
|
---------------------
Т.е. мне нужно что бы коннектилось к серверу и забирало информацию о нужном порте... | |
|
|
|
|
|
|
|
для: Dumus
(20.09.2006 в 19:33)
| | Для этого есть стандартная функция...
getservbyport() | |
|
|
|
|
|
|
|
для: 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://*************/
Т.е. команда должна выводить всю информацию о порте... | |
|
|
|
|
|
|
|
для: Dumus
(20.09.2006 в 19:33)
| | Это не ошибка. Вы пытаетесь пывести на экран ресурс. Нужно сначала записать что-нибудь в сокет, затем прочесть ответ сервера в переменную, а вот уже потом и выводить.
А ошибки соекта запишутся в переменную $errstr. | |
|
|
|
|
|
|
|
для: Саня
(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||||= | |
|
|
|
|
|
|
|
для: dumus
(21.09.2006 в 18:02)
| | подскажите а как с помощью функции getservbyport() узнать открыт 80 порт www.softtime.ru или нет
смотрел в мануале там нет подходящего примера, на сайте эта функция не описывается :-( | |
|
|
|
|
|
|
|
для: Webmaster-X
(22.09.2006 в 12:42)
| | Эта функция не работает с удалёнными машинами и вообще не сообщает открыт порт или нет - она лишь говорит, о том, какой протокол связан с запрашиваемым портом на текущей машине
<?php
echo getservbyport(80, "tcp");
?>
|
| |
|
|
|