Forum Webscript.Ru
Общие => Веб-технологии => Тема начата: Alexandr от 05 Июня 2003, 15:21:23
-
Знаете есть такая штука для ПХП заглушка для мыла, что бы локально юзать, она всё мыло кидает в файл.
А можно такую же штуку замутить для вэба, типа запрос брозером посылаешь, а он его не в сеть пускает, а в файл пишет?
-
Alexandr
веб сервер называется =)
-
и как?
-
мысль уловил.
Более конкретно:
Есть прога - рубится в сеть, подключается к опред. серваку и ещё какие-то действия делает, как Апач так настроить, что он всё записал в файлик
-
Alexandr
а это не обязательно Апач
в принципе прога должна слушать 80 (по умолчанию) порт и все, что приходит писать в файл
такую мона написать...
-
на перле или пхп можно?
И намекни как.
-
смысл в чем.
если не вдаваться в подробности. то у тебя в памяти постоянно висит процесс, который открывает сокет на 80 порту и слушает его
и все, что он оттедыва проичает - пишет в файл
если сможешь повесить PHP или Perl скрипт таким макаром - то можно
и то и другое с сокетами работать умеет.
и с файловой системой тоже
-
это-то ясно, примерно-то я представляю как это работает, а вот какие-нибудь наработки или что-нть поконкретнее?
-
хмм...
А если одновременно будет несколько запросов ?
Нужно будет форкать процесс, а ПХП для этого не предназначен (хотя http://php.net/pcntl конечно поможет, но только под Unix-ом)
Вот пример http://phpclub.net/talk/showthread.php?s=&threadid=32290&rand=46
ЗЫ
все имхо
-
Мне надо-то всего 1 прогу - что она отсылает и куда!
-
Макс я эту тему глянул
http://phpclub.net/talk/showthread.php?s=&threadid=32290&rand=46
вроде похоже на то что мне надо.....
Как её приладить?
-
Макс
Эт понятно.
НА винде надо будет отдельный поток под каждый запрос делать...
Alexandr
Наработки есть, но во первых на C, во вторых под Win32 а в третьих совсем в другую сторону, хотя принцип работы тот же самый...
-
Ой, а чего файлы к сообщению присоединять нельзя? :(
В любом случае, он маленький, так что кину его прямо сюда:
define (\'n\', "\\n");
// Получаем все заголовки в массив $headers
$headers = getallheaders();
// В буфер вывода пишем текущую дату...
$output = n."========== ". date("d-m-Y, H:i:s") ." ==========".n;
/*
// ... потом пишем Remote address и forwarded for ...
"Remote address: ".getenv(\'REMOTE_ADDR\').n.
"Forwarded for: ". $HTTP_SERVER_VARS[\'X-FORWARDED-FOR\'].n;
*/
// Перебираем заголовок один за другим и пишем их в буфер вывода.
foreach ($headers as $header => $value) {
$output .= "$header: $value".n;
}
// Удаляем массив $headers, который нам уже не нужен
unset($headers);
// Выводим заголовки прямо в окно браузера, сделавшего запрос
//echo nl2br($output);
// Открываем файл и пишем буфер вывода в него
$fp = fopen(\'headers_log.txt\', \'a\');
fwrite ($fp, $output);
fclose($fp);
?>
Написал для личного использования, так что скорее всего его надо будет подправить. Ловит он только заголовки HTTP запроса, который идет на тот самый 80-й порт. Насколько я понял, именно это и требуется.
-
Вопрос не в том как записать лог, а в том, как поток данных отправляемых по TCP перехватить и отправить на определённую программу.
Ещё раз уточню:
Есть Дельфийская прога (чёрный ящик :), которая рубится в сеть, подключается к опред. серваку и ещё какие-то действия делает с сетью.
Хочется отловить все данные посылаемые в сеть (типа фалового монитора, тока для сети :)
-
FreeSpace
для того чтобы твое работало надо Apache + mod_php
Насколько я понял, Alexandr-у нужна отдельная программа.
Alexandr
Как её приладить?
не знаю, не разбирался. У тебя я так понимаю Unix ?
-
Вот эта прога как раз то, что тебе нужно (но насколько я знаю, только для HTTP):
http://www.siliconwold.com/interceptor/interceptor_home.htm
Если надо не только 80-й порт - ставь себе хороший сниффер и лови весь трафик.
-
Макс:
Насколько я понял, Alexandr-у нужна отдельная программа.
Нет, мне поровну.
Макс:
У тебя я так понимаю Unix ?
Нет. У меня Win + Дельфийская прога.
FreeSpace, ща поюзаю, вроде то что надо.
-
FreeSpace, спасибо.
Прога - отстой, но ты меня навёл на нужное слово - "сниффер"
Нашёл - Ethereal - крутая прога.
Кстати очень полезная. Например: изучить как с почтой ч/з сокет работать, как заголовки POST, multipart/form-data отсылать и многое другое.
Всем пасибо.
-
блин, вот тебе на UNIXe сидеть надо...
На Linuxe почти стандартом идет и ethereal и tcpdump. Без них просто никак !
-
Stas
С никсами близко не знаком, но слышал про тулзу nmap [off]("Матрикс: Релоадед" напомнил :))[/off] - возможно, стоит взглянуть в её (тулзы) сторону...
-
FreeSpace
nmap - это сканнер портов, вполне заслуженный взломщицкий инструмент.
А вот насчет того, чтобы с помощью него заголовки смотреть - это не факт, что можно.
-
Xander
Да, всё верно, перепутал я.
Думал, что инструмент многофункциональный...
-
не, он специализированный
зато лучший в своем роде, насколько я знаю
-
а это тебе не подойдет http://ru.php.net/manual/en/ref.outcontrol.php или я не так понял?
-
archy
По-моему ты действительно не так понял...