Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение открытых портов 
:(
    Опции темы
XPurple
Дата 25.5.2006, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Требуется написать программу для определения открытых портов/сокетов. Наподобие сканера портов nmap или MS утилиты netstat только для сетевых компьютеров. С помощью каких функций в VB это можно организовать ? 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
Akina
Дата 25.5.2006, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



В VB таких функций нет. Рекомендую использовать API и работать через WMI. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
XPurple
Дата 25.5.2006, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Язык мой - враг мой. Опять что-то не то ляпнул. Давно уже надо привыкнуть к мысли, что инструментов подобного рода в VB6 нет, ан нет. Никак не могу остановиться.
Не подскажете: как объявить требуемые функции API или хотя бы название?
  

Это сообщение отредактировал(а) XPurple - 25.5.2006, 12:10
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
Akina
Дата 25.5.2006, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Лезем в MSDN и штудируем все, что связано с использованием Windows Management Instrumentation из программ на VB6. Там и примеры есть. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
BUGOR
Дата 25.5.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 3
Всего: 16



XPurple, вообщем всё просто до безумия, всего две апи, сначала создаёшь сокет с помощью функции socket, потом заполняешь структуру WSADATA(как это делается ищи сам, прмеров навалом, там одним из параметров идёт порт), потом вызываешь функцию connect, если она возвращае 0 - порт открыт. Всё)

Добавлено @ 14:46 
Пардон, перевызовом socket ещё надо вызвать WSAStartup 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
XPurple
Дата 26.5.2006, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Изучаю 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
XPurple
Дата 26.5.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Почитал. Вопросов не убавилось. В основном вопросы остались по значениям типов и констант объявляемых функций. Не у кого нельзя позаимствовать готовый модуль .bas ? А то я уже замучился искать значения выражениям INVALID_SOCKET, SOCKET_ERROR , saZero и т.д
 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
Naghual
Дата 26.5.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Советую почитать ТУТ. 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Romikgy
Дата 26.5.2006, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



XPurple, GetTcpTable эта функция тебе поможет smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
BUGOR
Дата 26.5.2006, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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.

Так в чём всё-таки проблема? 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
XPurple
Дата 27.5.2006, 07:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Цитата(BUGOR @  26.5.2006,  17:03 Найти цитируемый пост)
Так в чём всё-таки проблема?  


Проблема в том, что в голове моей пусто
 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
Fin
Дата 27.5.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Вот тут. есть пример правда на паскале. Используется недокументированная функция AllocateAndGetTcpExTableFromStack из библиотеки iphlpapi.dll. Кстати Dump проги netstat  показывает такие функции в данной библиотеке
Цитата

    iphlpapi.dll
               10010C4 Import Address Table
               1005188 Import Name Table
              FFFFFFFF time date stamp
              FFFFFFFF Index of first forwarder reference

      76D6EFD8     7  AllocateAndGetTcpExTableFromStack
      76D6F332     A  AllocateAndGetUdpExTableFromStack
      76D6E133    27  GetIcmpStatsFromStackEx
      76D6E25C    4C  GetUdpStatsFromStackEx
      76D6F2B0     9  AllocateAndGetUdpExTable2FromStack
      76D6E00D    38  GetIpStatsFromStackEx
      76D6EF59     6  AllocateAndGetTcpExTable2FromStack
      76D6E366    45  GetTcpStatsFromStackEx
 


--------------------
Пролетал мимо.
PM MAIL   Вверх
XPurple
Дата 22.6.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



после какой функции порт должен появиться в списке открытых портов socket | bind | listen ? 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
Akina
Дата 22.6.2006, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(XPurple @  26.5.2006,  13:39 Найти цитируемый пост)
Не у кого нельзя позаимствовать готовый модуль .bas ? А то я уже замучился искать значения выражениям INVALID_SOCKET, SOCKET_ERROR , saZero и т.д

В составе MSDN поставляется Win32API.txt.

Выкладываю конвертированный в .BAS вариант - надо просто раскомментировать необходимые строки. Не рекомендую раскомментировать все подряд - не хватит стрингового пространства при компиляции. Поэтому же рекомендую в каждый проект класть свою копию. 

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  WIN32API.rar 99,03 Kb


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
XPurple
Дата 22.6.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Посмотрю, спасибо. 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0550 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.