сканер портов
От: Ejik123  
Дата: 11.10.05 19:57
Оценка:
помогите пожалуйста надо написать простейший сканер портов можно да консольный.
точнее нужно как можно больше информации по работе с сокетами также приветствуется наличие исходных кодов на Си
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>

12.10.05 01:27: Перенесено модератором из 'C/C++' — Павел Кузнецов
Re: сканер портов
От: Аноним  
Дата: 12.10.05 05:59
Оценка: -1
Здравствуйте, Ejik123, Вы писали:

E>помогите пожалуйста надо написать простейший сканер портов можно да консольный.

E>точнее нужно как можно больше информации по работе с сокетами также приветствуется наличие исходных кодов на Си

Ёжик, бросай заниматься программированием, займись чем попроще
Re: сканер портов
От: vnp  
Дата: 12.10.05 07:08
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>помогите пожалуйста надо написать простейший сканер портов можно да консольный.

E>точнее нужно как можно больше информации по работе с сокетами также приветствуется наличие исходных кодов на Си

Расскажите подробнее, в чем проблема:
— как пройтись по портам
— как присоединиться
— что делать дальше
— что такое сокет

После этого сможем помочь.
Re: сканер портов
От: Stas1981 Россия http://www.rsdn.ru/
Дата: 12.10.05 10:52
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>помогите пожалуйста надо написать простейший сканер портов можно да консольный.

E>точнее нужно как можно больше информации по работе с сокетами также приветствуется наличие исходных кодов на Си

int main(int argc, char* argv[])
{
WSADATA ws;
if (WSAStartup(0x0101, &ws))
return -1;

SOCKET mysocket;
if ((mysocket = socket(PF_INET, SOCK_STREAM, 0)) < 0)
{
WSACleanup();
return -1;
}

sockaddr_in local_addr;
local_addr.sin_family = PF_INET;
local_addr.sin_addr.s_addr = ...; // сюда адрес, кого будем сканить

// start_port, end_port — интервал портов, которые нужно просканить
for (int port = start_port; port < end_port + 1; port++)
{
local_addr.sin_port = htons(port);
if (connect(mysocket, &local_addr, sizeof(sockaddr_in)) == 0)
{
// порт открыт
}
}

closesocket(mysocket);

WSACleanup();
}
Стас
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.