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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрс по Winsock в vb6 
:(
    Опции темы
kobolok
Дата 20.5.2009, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Задача узнать открыт ли определённый порт на определённом IP.

Пробовал вариант 1:

Код

Private Sub Command1_Click()

Adress = Text1.Text & "." & Text2.Text & "." & Text3.Text & "." & Text4.Text

Winsock1.RemoteHost = Adress
Winsock1.RemotePort = Text5.Text
Winsock1.Connect
If Winsock1.State <> sckClosed Then

Text6.Text = Adress & vbCrLf

Else

End If

End Sub

Где из
Код

Text1.Text & "." & Text2.Text & "." & Text3.Text & "." & Text4.Text
составляется IP адрес,Text5.Text номер порта,в Text6.Text записывается
IP с открытым портом.
В итоге в Text6.Text пишется люьой адрес,который сканируется.


Вариант 2:

Код

Private Sub Form_Load()
Dim w
w = ipstart(0) & "." & ipstart(1) & "." & ipstart(2) & "." & ipstart(3)
Winsock.RemoteHost = ipstart(0) & "." & ipstart(1) & "." & ipstart(2) & "." & ipstart(3)
Winsock.RemotePort = 5896
End Sub

Private Sub Start_Click()

Winsock.Connect w, 5896
If Winsock1.State <> sckClosed Then

Text1.Text = w & vbCrLf

Else

End If

End Sub

Здесь чуть намудрено с w,но смысл вроде не теряется.И используется массив.
В данном случае вообще ничего не выводится.

Если не сложно,напишите правильный вариант для одного IP по одному порту,
с выводом IP с открытым портом И/или объясните в чём ошибка.
В учебниках простого объяснения не нашёл,опыт программирования мягко говоря минимальный. 

Это сообщение отредактировал(а) Akina - 21.5.2009, 00:00
PM MAIL   Вверх
Akina
Дата 21.5.2009, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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




M
Akina
Используйте тег Код!



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

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


Опытный
**


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

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



Нужно сначала узнать есть ли доступ к IP (в сети/оффлайн), и только потом проверить, есть ли открытый порт на этом IP, с помощью команды коннекта, если ошибка значит не доступен.
PM MAIL WWW ICQ Skype   Вверх
kobolok
Дата 23.5.2009, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
Нужно сначала узнать есть ли доступ к IP (в сети/оффлайн), и только потом проверить, есть ли открытый порт на этом IP, с помощью команды коннекта, если ошибка значит не доступен.



Как ни странно,но об этом я догадывался,и предварительно,перед тестированием проверял IP:порт на рабочем сканере.
По поводу кода кто нибудь может подсказать?
PM MAIL   Вверх
neic
Дата 23.5.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот смотри, у Winsock'а есть событие Connect:
Код

Private Sub Command1_Click()
Winsock1.RemoteHost = Text1 & "." & Text2 & "." & Text3 & "." & Text4
Winsock1.RemotePort = text5
Winsock1.Connect
End Sub

Private Sub Winsock1_Connect() ' если событие произошло удачно, значит IP и порт доступен
Text6 = Text1 & "." & Text2 & "." & Text3 & "." & Text4 & ":" & Text5
End Sub

PM MAIL WWW ICQ Skype   Вверх
neic
Дата 23.5.2009, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



пока твой пример делал , сделал сканер всех портов на всех IP =)

PM MAIL WWW ICQ Skype   Вверх
Akina
Дата 24.5.2009, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



 smile Ну так и говори - сделал флудер...


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

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


Опытный
**


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

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



Akina
smile  ну я с чистой совестью, для просмотра какие порты открыты на 127.0.0.1 =)
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

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

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

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

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


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

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


 




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


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

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