Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Web-программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 13.02.2003, 18:16   [включить плавающее окно]   #1
sab
Новенький
Автор темы
 
Регистрация: 13.02.2003
Что со скриптом????

Народ, у меня вот такая проблема. Я недавно начал учить РНР и написал сканер портов. Интересно вот что, когда задаешь маленький интревал портов например 20-100 все пашет, а когда больше например 0-200, вылетает ошибка:
Инструкция по адресу "0x100b7bd4" обратилась к памяти "0x15fffffa". Память не может быть "read".
"ОК" -- завершение приложения
"отмена" -- отладка приложения.
Жму отмена или ОК вылетает уже сгенерированной скриптом ошибка:
Internal Server Error
Вроде РНР последней версии установлено.
Ниже код скрипта, помогите, скажите в чем дело.
<?php
echo "На <u>$ip</u> открыты порты:<br><br>";
while ($port1<$port2)
{
$fp = @fsockopen("$ip", $port1, &$errno, &$errstr, 1);
if(!$fp){ echo ;}
else
{
fclose($fp);
print ("<b>$port1</b><br>");
}
$port1++;
}
echo "<br>Сканирование закончено!";
?>
sab вне форума  
Ответить с цитированием
Непрочитано 14.02.2003, 16:12   [включить плавающее окно]   #2
nstorm
Мужской Общительный
 
Регистрация: 13.02.2003
Адрес: Rostov-on-Don
Re: Что со скриптом????

Цитата
Первоначальное сообщение от sab
Народ, у меня вот такая проблема. Я недавно начал учить РНР и написал сканер портов. Интересно вот что, когда задаешь маленький интревал портов например 20-100 все пашет, а когда больше например 0-200, вылетает ошибка:
Инструкция по адресу "0x100b7bd4" обратилась к памяти "0x15fffffa". Память не может быть "read".

Ну это значит интерпретатор РНР глючит. Он поидее не должен допускать такое.
Цитата
"ОК" -- завершение приложения
"отмена" -- отладка приложения.
Жму отмена или ОК вылетает уже сгенерированной скриптом ошибка:
Internal Server Error
Это web-server выдает, так как интерпретатор скрипта вылетел.
Цитата
Вроде РНР последней версии установлено.
Ниже код скрипта, помогите, скажите в чем дело.
<?php
echo "На <u>$ip</u> открыты порты:<br><br>";
while ($port1<$port2)
{
$fp = @fsockopen("$ip", $port1, &$errno, &$errstr, 1);
Цитата
Без поинтеров попробуй, это не C, тут они не нужны особо:
$fp = fsockopen("$ip", $port1, $errno, $errstr, 1);
и проверь на ошибки, что в errno и errstr.
if(!$fp){ echo ;}
else
{
fclose($fp);
print ("<b>$port1</b><br>");
}
$port1++;
}
echo "<br>Сканирование закончено!";
?>
И кстати порт 0 не может быть.
nstorm вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 14.02.2003, 16:20   [включить плавающее окно]   #3
sab
Новенький
Автор темы
 
Регистрация: 13.02.2003
Спасибо

Спасибо тебе!
sab вне форума  
Ответить с цитированием
Непрочитано 05.07.2003, 04:52   [включить плавающее окно]   #4
Patyi
Новенький
 
Аватар для Patyi
 
Регистрация: 07.05.2003
Адрес: Vladimir
2nstorm
порт 0 может быть. это так называемые сокеты домена Unix - представляют собой системные файлы типа каналов.
Patyi вне форума  
Ответить с цитированием
Непрочитано 05.07.2003, 12:45   [включить плавающее окно]   #5
Sanya
Мужской Опытный
 
Аватар для Sanya
 
Регистрация: 22.03.2003
Адрес: Апатиты
Немного не в тему...
Цитата
if(!$fp){ echo ;}
else
{
fclose($fp);
print ("<b>$port1</b><br>");
}
if($fp)
{
fclose($fp);
print ("<b>$port1</b><br>");
}
Так оно красивее будет
__________________
Лечить и судить умеют и могут все, а вот рассчитать несущую балку?
Sanya вне форума  
Конфигурация ПК
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:14. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey