![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Сокеты: узнать готов ли сокет для чтения, записи?
Т.е. есть TCP-сервер, надо узнать открыт у него определенный порт или нет? Кроме как через connect. Это сообщение отредактировал(а) Alca - 26.8.2010, 15:41 |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
||||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Ну, в общем говоря - сокет!= порт.
Порт - это целое число, идентификатор, который присваивается либо программистом (или системой) конкретной программе. Загружена программа и работает - открыт порт. По номеру порта система определяет, какой программе предназначен тот или иной TCP/UDP сегмент/пакет. Только и всего...... А NMAP - хороший продукт....... Это сообщение отредактировал(а) Олег2005 - 26.8.2010, 19:38 |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
А по делу? |
|||
|
||||
sdukshis |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 23.3.2009 Репутация: нет Всего: 1 |
Можно.
Но для этого придется отказаться от услуг транспортного (и возможно сетевого) уровней ОС и самостоятельно формировать пакеты. Такой способ гораздо сложнее чем обычный connect(), но зато позволяет проводить различное сканирование портов (SYN, FIN, etc). Для ознакомления рекомендую почитать Стивенса "Разработка сетевых приложений под UNIX" http://www.books.ru/shop/books/460327. |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
аналогичный топик: http://www.codeguru.com/forum/showthread.php?t=324388
|
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
я собственно "дела" - не могу распознать........ Если вопрос о том, как понять что сокет готов не готов - это совершенно одно. Если NMAP ? ну и что насчет него? Если насчет сканирования портов? Так это в принципе описано - делаем свои TCP-хедеры самых разных видов - и шлем по рав-сокету куда хотим..... Т.е. - в чем истинный смысл проблемы? Это сообщение отредактировал(а) Олег2005 - 29.8.2010, 22:33 |
|||
|
||||
Alca |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
|
||||
|
|||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Единственный вариант - сделать коннект по этому IP-адресу - на этот конкретный порт.
Если у сервера есть прослушивающий сокет - и сервер работает - то на клиент придет SYN-сегмент. Если порт неизвестен - то обычный перебор - всех портов - или выборочно. Бомбят. Так делают хакеры...... |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
все-таки connect? (порт известен)
Это сообщение отредактировал(а) Alca - 29.8.2010, 23:04 |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
В общем случае нужно коннектиться конечно. Если имеем дополнительную информацию о системе или, тем более, доступ, тогда возможны варианты... Еще можно предложить анализ пакетов идущих от/к целевой машине, если есть возможноть сниффить траффик. Все зависит от конкретной ситуации
![]() |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
||||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Спасибо
|
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
Теперь понятна ссылка на nmap.
Вот неплохое описание Idlescan на русском http://planetsecurity.org.ua/network/164-s...y-idlescan.html Попытка коннекта тут тоже есть, но наш IP надежно скрыт от цели |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
||||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |