ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Скан ip, на открытый порт[Delphi]
  #1  
Старый 11.01.2010, 21:22
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
Провел на форуме:
77411

Репутация: 0
Отправить сообщение для OPF_Nik с помощью ICQ
По умолчанию Скан ip, на открытый порт[Delphi]

Народ, как при нажатии кнопки проверить ip на определенный порт, не используя не каких компонентов, если открыть, то записать в файл txt ??

Последний раз редактировалось OPF_Nik; 11.01.2010 в 21:25..
 
Ответить с цитированием

  #2  
Старый 11.01.2010, 21:44
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

Репутация: 229
По умолчанию

Сейчас делфи нету но попытаюсь написать (так что подправьте меня если я где то сделал ошибку)
Код в создании формы:
Код:
var
 ws:wsadata;
begin
 wsastartup($101, ws);
end;
Процедура:
Код:
var
 sock: tsocket;
 ServerInfo: sockaddr_in;
begin
 sock:=socket(af_inet, sock_stream, 0);
 ServerInfo.sin_family := AF_INET;
 ServerInfo.sin_addr.s_addr := inet_addr('188.40.76.205');
 ServerInfo.sin_port := htons(80);

 if connect(sock, ServerInfo, sizeof(serverinfo))=0 then
  begin
    ShowMessage('Порт открыт');
    //Тут можно написать запись в файл
  end
 else
   begin
    ShowMessage('Порт закрыт');
   end;
end;
Ах да и в uses пропиши -> winsock
(если не разберешься или будет ошибка/ошибки -> отпишись, помогу)

Последний раз редактировалось wolmer; 12.01.2010 в 11:25..
 
Ответить с цитированием

  #3  
Старый 11.01.2010, 23:23
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
Провел на форуме:
77411

Репутация: 0
Отправить сообщение для OPF_Nik с помощью ICQ
По умолчанию

wolmer спс
 
Ответить с цитированием

  #4  
Старый 11.01.2010, 23:27
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
Провел на форуме:
77411

Репутация: 0
Отправить сообщение для OPF_Nik с помощью ICQ
По умолчанию

Код:
ServerInfo.sin_family = AF_INET;
 ServerInfo.sin_addr.s_addr = inet_addr('127.0.0.1');
 ServerInfo.sin_port = htons(80);
Тут ошибку показывает:
[Error] Unit1.pas(32): ':=' expected but ':' found
 
Ответить с цитированием

  #5  
Старый 11.01.2010, 23:31
xafon
Познающий
Регистрация: 02.12.2009
Сообщений: 37
Провел на форуме:
195146

Репутация: 15
По умолчанию

ServerInfo.sin_family := AF_INET;
ServerInfo.sin_addr.s_addr := inet_addr('127.0.0.1');
ServerInfo.sin_port := htons(80);
 
Ответить с цитированием

  #6  
Старый 11.01.2010, 23:38
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
Провел на форуме:
77411

Репутация: 0
Отправить сообщение для OPF_Nik с помощью ICQ
По умолчанию

Прога работает, но всегда показывает, что порт закрыт
 
Ответить с цитированием

  #7  
Старый 11.01.2010, 23:40
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
Провел на форуме:
77411

Репутация: 0
Отправить сообщение для OPF_Nik с помощью ICQ
По умолчанию

cheater_man
Для того же, зачем тебе С++
 
Ответить с цитированием

  #8  
Старый 12.01.2010, 15:23
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

wolder ptr ты забыл походу от SOCKADDR
чем могу... ибо не по делфе я...

Код:
BOOL IsPortOpen(char *hostip, WORD dport)
{
	WSADATA wsd;
	WSAStartup(0x202, &wsd);

	SOCKET sck;
	SOCKADDR_IN addr;
	int rc;

	addr.sin_family = AF_INET;
	addr.sin_port = htons(dport);
	addr.sin_addr.S_un.S_addr = inet_addr(hostip);

	sck = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
	rc = connect(sck, (LPSOCKADDR)&addr, sizeof(addr));

	if(rc == 0){
		closesocket(sck);
		return TRUE;
	}


	return FALSE;
}
__________________


snow white world wide

Последний раз редактировалось sn0w; 12.01.2010 в 15:33..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отрисовка либо зачистка и т.д. требуется скан чистого военного билета sunwalker О Работе 0 16.10.2009 17:58
Скан паспортов(не кардинг) fatalo Болталка 6 28.04.2009 00:27



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ