![]() |
|
Модераторы: Akina |
![]()
|
|
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: 1 Всего: 1 |
Требуется написать программу для определения открытых портов/сокетов. Наподобие сканера портов nmap или MS утилиты netstat только для сетевых компьютеров. С помощью каких функций в VB это можно организовать ?
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
В VB таких функций нет. Рекомендую использовать API и работать через WMI.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: 1 Всего: 1 |
Язык мой - враг мой. Опять что-то не то ляпнул. Давно уже надо привыкнуть к мысли, что инструментов подобного рода в VB6 нет, ан нет. Никак не могу остановиться.
Не подскажете: как объявить требуемые функции API или хотя бы название? Это сообщение отредактировал(а) XPurple - 25.5.2006, 12:10 --------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Лезем в MSDN и штудируем все, что связано с использованием Windows Management Instrumentation из программ на VB6. Там и примеры есть.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 3 Всего: 16 |
XPurple, вообщем всё просто до безумия, всего две апи, сначала создаёшь сокет с помощью функции socket, потом заполняешь структуру WSADATA(как это делается ищи сам, прмеров навалом, там одним из параметров идёт порт), потом вызываешь функцию connect, если она возвращае 0 - порт открыт. Всё)
Добавлено @ 14:46 Пардон, перевызовом socket ещё надо вызвать WSAStartup |
|||
|
||||
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: 1 Всего: 1 |
Изучаю
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: 1 Всего: 1 |
Почитал. Вопросов не убавилось. В основном вопросы остались по значениям типов и констант объявляемых функций. Не у кого нельзя позаимствовать готовый модуль .bas ? А то я уже замучился искать значения выражениям INVALID_SOCKET, SOCKET_ERROR , saZero и т.д
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Советую почитать ТУТ.
-------------------- Я желаю всем Счастья! |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
XPurple, GetTcpTable эта функция тебе поможет
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 3 Всего: 16 |
XPurple, я что-то не пойму зачем обрабатывать все эти сообщения? Достаточно сделать:
if socket() > 0 then "Socket is created" else "Error of then creation socket" Сама функция тебе ничего иного не вернёт, за более подробным описанием ошибки надо обращаться к WSAGetLastError или GetLastError, а возвращаемые ими результаты описаны в любом подробном справочнике API, например MSDN или SDK от Borland. Так в чём всё-таки проблема? |
|||
|
||||
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: 1 Всего: 1 |
Проблема в том, что в голове моей пусто --------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
Вот тут. есть пример правда на паскале. Используется недокументированная функция AllocateAndGetTcpExTableFromStack из библиотеки iphlpapi.dll. Кстати Dump проги netstat показывает такие функции в данной библиотеке
-------------------- Пролетал мимо. |
|||
|
||||
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: 1 Всего: 1 |
после какой функции порт должен появиться в списке открытых портов socket | bind | listen ?
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
В составе MSDN поставляется Win32API.txt. Выкладываю конвертированный в .BAS вариант - надо просто раскомментировать необходимые строки. Не рекомендую раскомментировать все подряд - не хватит стрингового пространства при компиляции. Поэтому же рекомендую в каждый проект класть свою копию. Присоединённый файл ( Кол-во скачиваний: 4 )
WIN32API.rar 99,03 Kb-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| XPurple |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 4.5.2006 Где: Челябинск Репутация: 1 Всего: 1 |
Посмотрю, спасибо.
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего. Не помню, кто сказал, может быть, я (с) |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |