![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| StealtH |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 16.9.2004 Репутация: нет Всего: нет |
Вообщем такая задачка, как определить программно, какой сервис запущен на указанном порту, а именно прокси это или апач. Всем известно, что прокси обитают на портах 80, 8080 и т.д., список большой, на этих же портах может сидет и апач, но вот как по http-заголовкам определить принадлежность именно к этому сервису, а не к веб. Есть скрипт, который сканирует определенные порты на наличие прокси, после сканирования он должен определить наличие на этом порту прокси, как это сделать программно, что нужно послать в порт, и как выловить ответ?
Хелп, плиз очень надо, если возможно, то примерчик не помешает Заранне благодарен. |
|||
|
||||
| ida |
|
|||
![]() замужем ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2277 Регистрация: 14.5.2002 Где: Санкт-Петербург Репутация: нет Всего: 58 |
И как давно Апачи стали обитать на каких-либо портах, кроме 80-го?... Скорее всего по ответу определить, что это НЕ апач (значит, что-то другое), поскольку структура ответа http-сервера заранее известна, а прокси ИМХО ответит что-нибудь другое. В порт послать http-запрос, соответственно, как будто обращаясь к веб-серверу. И в строке ответа Host: будет адрес хоста, на котором находится запрашиваемый объект (страница index.html, к примеру). Нет объекта - нет Апача.
Это сообщение отредактировал(а) ida - 21.9.2004, 13:24 |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
ida
Ну, это зависит от настроек... StealtH
Да собсно послать ему 2 штуки GET-ов - на его адрес и на какой-нить другой адрес. И проанализировать ответ. Апача ответит на GET по своему адресу, но не отреагирует на другой адрес - или отреагирует ошибкой. Прокся должна наоборот, не ответить или ответить ошибкой на GET к своему адресу и нормально ответить на GET к чужому адресу. Собсно если хоть немного представляешь как работает прокси и как веб-сервер - должен понимать еще и какая будет разница при обращении по IP и по URI... т.е. формально различить можно. Однако в общем случае задача неразрешима - представь себе что стоИт прокся, у которой этот порт смаппирован на Апачу на другой машине... можно придумать случаи и посложнее... А вообще - зачем? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| StealtH |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 16.9.2004 Репутация: нет Всего: нет |
Это понятно что он должен как-то реагировать, если порт вообще живой, он и реагирует, если апач то пишет document.html(к примеру) not found on this server, прокси на запрос выдает запрашиваемый документ, или ошибку как правило 500(connect: Unknown error), об этом в данный момент вопрос не стоит. Сейчас трабла в том, каким способом отловить ошибку и обработать ее $req = HTTP::Request->new(GET => $host); use HTTP::Status; if ($req != RC_OK) { print status_message($req), "\n"; } как-то не особо действует, хелп по данному вопрос особенно краток, может я не так это все вызываю... Подскажите по данному поводу
Да вот есть идея одна, должна получиться замечательная утилита, доделаю подкину ссылку Это сообщение отредактировал(а) StealtH - 22.9.2004, 08:15 |
||||
|
|||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |