информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsВсе любят медГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Kik закрывается, все ушли на криптофронт 
 Sophos открывает Sandboxie 
 Большой вторник патчей от MS 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] ой, мать ;))) 03.09.02 19:56  Число просмотров: 749
Автор: Fjodor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> 1. Хоть бы написал что в каком параметре передаешь.
> 2. Это, типа, что ?:
> for(i=i1; i<=i2; i++){
> sprintf(buffer, "%s%d", argv[1], i);
> win1.sin_addr.s_addr = inet_addr(buffer);
>
> По коду можно понять только так:
> арг[1] = 10.10.10.
> а потом присобачиваешь последнюю цифирю IP адреса ?
>
> 3. Совсем не ясно нафига ны заполняешь структуры ssh, rpc,
> win1... если все равно их нигде не используешь.
>
> 4. Ну и последняя классичиская бага:
> for(sec=0; sec<=65535; sec++)
> if(connect(sock, (struct sockaddr*)&addr, sizeof(addr))
>
> Ресурсы за тебя Пушкин освобождать будет ? Операционка у
> тебя не резиновая, однако.
>
>
>
> > Вот написал я тут свой порт сканер на С с возможностью
> > сканить диапозоны ИП адресов.
> > Но работает прога очень глючно! Сканит только первый
> хост,
> > а потом другие несканит. В программе для хитрости
> > использавана функция sprintf(). А может дело в gcc
> > 2.95.3-19?
> > Помогите пожалуйста, вот исходник.
> >
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <sys/socket.h>
> > #include <netinet/in.h>
> > #include <malloc.h>
> >
> > int sec = 0;
> > int main(int argc, char *argv[])
> > {
> > int i;
> > int i1=atoi(argv[2]);
> > int i2=atoi(argv[3]);
> > char *buffer;
> > int sock;
> > int sock2;
> > struct sockaddr_in win1, ssh, rpc, addr, nix;
> > if(argc!=4)
> > {
> > printf("inncorect usage of the programm. Usage is
> > ./scannner ip-address\n");
> > exit(1);
> > }
> > printf("Starting WMD port scanner v1.01beta. Made by
> > Bedman. Good Luck to You!\n");
> > for(i=i1; i<=i2; i++){
> > sock2 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
> > sprintf(buffer, "%s%d", argv[1], i);
> > printf("Scaning %s\n", buffer);
> > win1.sin_family = AF_INET;
> > win1.sin_addr.s_addr = inet_addr(buffer);
> > win1.sin_port = htons(138);
> > rpc.sin_family = AF_INET;
> > rpc.sin_addr.s_addr = inet_addr(buffer);
> > rpc.sin_port = htons(111);
> > ssh.sin_family = AF_INET;
> > ssh.sin_addr.s_addr = inet_addr(buffer);
> > ssh.sin_port = htons(22);
> > nix.sin_family = AF_INET;
> > nix.sin_addr.s_addr = inet_addr(buffer);
> > nix.sin_port = htons(23);
> > addr.sin_family = AF_INET;
> > addr.sin_addr.s_addr = inet_addr(buffer);
> >
> > printf("Open ports:\n");
> > for(sec=0; sec<=65535; sec++)
> > {
> > addr.sin_port = htons(sec); /*??????????? ????? ?????
> */
> > sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
> > if(connect(sock, (struct sockaddr*)&addr,
> sizeof(addr)) ==
> > 0)
> > {
> > printf("open port %d\n", sec);
> > }
> > }
> > }
> > }

Да ты прав, я использую спринтф для склеивания ИП адреса, есть другой способ? но как выделить память под массивы?sec=malloc(10000); не компилируется! помоги плз.
<programming>
[C++] проблема с С++ 02.09.02 20:01  
Автор: Fjodor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вот написал я тут свой порт сканер на С с возможностью сканить диапозоны ИП адресов.
Но работает прога очень глючно! Сканит только первый хост, а потом другие несканит. В программе для хитрости использавана функция sprintf(). А может дело в gcc 2.95.3-19?
Помогите пожалуйста, вот исходник.

#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <malloc.h>

int sec = 0;
int main(int argc, char *argv[])
{
int i;
int i1=atoi(argv[2]);
int i2=atoi(argv[3]);
char *buffer;
int sock;
int sock2;
struct sockaddr_in win1, ssh, rpc, addr, nix;
if(argc!=4)
{
printf("inncorect usage of the programm. Usage is ./scannner ip-address\n");
exit(1);
}
printf("Starting WMD port scanner v1.01beta. Made by Bedman. Good Luck to You!\n");
for(i=i1; i<=i2; i++){
sock2 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
sprintf(buffer, "%s%d", argv[1], i);
printf("Scaning %s\n", buffer);
win1.sin_family = AF_INET;
win1.sin_addr.s_addr = inet_addr(buffer);
win1.sin_port = htons(138);
rpc.sin_family = AF_INET;
rpc.sin_addr.s_addr = inet_addr(buffer);
rpc.sin_port = htons(111);
ssh.sin_family = AF_INET;
ssh.sin_addr.s_addr = inet_addr(buffer);
ssh.sin_port = htons(22);
nix.sin_family = AF_INET;
nix.sin_addr.s_addr = inet_addr(buffer);
nix.sin_port = htons(23);
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(buffer);

printf("Open ports:\n");
for(sec=0; sec<=65535; sec++)
{
addr.sin_port = htons(sec); /*??????????? ????? ????? */
sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(connect(sock, (struct sockaddr*)&addr, sizeof(addr)) == 0)
{
printf("open port %d\n", sec);
}
}
}
}
тебе же уже сказали на uinc.ru , что проблема не в С,а в том как ты на нем программируешь 02.09.02 23:38  
Автор: SINоptiK Статус: Незарегистрированный пользователь
<"чистая" ссылка>
off 03.09.02 00:01  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
Сходил по этой ссылочки, темки там ничего, интересные.
Но багтрак лучше ! :))) Красивей, удобней, да и народу тут побольше (и флейма тоже) :)))
это ты про uinc.ru :-) ? 03.09.02 20:44  
Автор: SINоptiK Статус: Незарегистрированный пользователь
<"чистая" ссылка>
ой, мать ;))) 02.09.02 22:58  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
1. Хоть бы написал что в каком параметре передаешь.
2. Это, типа, что ?:
for(i=i1; i<=i2; i++){
sprintf(buffer, "%s%d", argv[1], i);
win1.sin_addr.s_addr = inet_addr(buffer);

По коду можно понять только так:
арг[1] = 10.10.10.
а потом присобачиваешь последнюю цифирю IP адреса ?

3. Совсем не ясно нафига ны заполняешь структуры ssh, rpc, win1... если все равно их нигде не используешь.

4. Ну и последняя классичиская бага:
for(sec=0; sec<=65535; sec++)
if(connect(sock, (struct sockaddr*)&addr, sizeof(addr))

Ресурсы за тебя Пушкин освобождать будет ? Операционка у тебя не резиновая, однако.



> Вот написал я тут свой порт сканер на С с возможностью
> сканить диапозоны ИП адресов.
> Но работает прога очень глючно! Сканит только первый хост,
> а потом другие несканит. В программе для хитрости
> использавана функция sprintf(). А может дело в gcc
> 2.95.3-19?
> Помогите пожалуйста, вот исходник.
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <sys/socket.h>
> #include <netinet/in.h>
> #include <malloc.h>
>
> int sec = 0;
> int main(int argc, char *argv[])
> {
> int i;
> int i1=atoi(argv[2]);
> int i2=atoi(argv[3]);
> char *buffer;
> int sock;
> int sock2;
> struct sockaddr_in win1, ssh, rpc, addr, nix;
> if(argc!=4)
> {
> printf("inncorect usage of the programm. Usage is
> ./scannner ip-address\n");
> exit(1);
> }
> printf("Starting WMD port scanner v1.01beta. Made by
> Bedman. Good Luck to You!\n");
> for(i=i1; i<=i2; i++){
> sock2 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
> sprintf(buffer, "%s%d", argv[1], i);
> printf("Scaning %s\n", buffer);
> win1.sin_family = AF_INET;
> win1.sin_addr.s_addr = inet_addr(buffer);
> win1.sin_port = htons(138);
> rpc.sin_family = AF_INET;
> rpc.sin_addr.s_addr = inet_addr(buffer);
> rpc.sin_port = htons(111);
> ssh.sin_family = AF_INET;
> ssh.sin_addr.s_addr = inet_addr(buffer);
> ssh.sin_port = htons(22);
> nix.sin_family = AF_INET;
> nix.sin_addr.s_addr = inet_addr(buffer);
> nix.sin_port = htons(23);
> addr.sin_family = AF_INET;
> addr.sin_addr.s_addr = inet_addr(buffer);
>
> printf("Open ports:\n");
> for(sec=0; sec<=65535; sec++)
> {
> addr.sin_port = htons(sec); /*??????????? ????? ????? */
> sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
> if(connect(sock, (struct sockaddr*)&addr, sizeof(addr)) ==
> 0)
> {
> printf("open port %d\n", sec);
> }
> }
> }
> }
[C++] ой, мать ;))) 03.09.02 19:56  
Автор: Fjodor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> 1. Хоть бы написал что в каком параметре передаешь.
> 2. Это, типа, что ?:
> for(i=i1; i<=i2; i++){
> sprintf(buffer, "%s%d", argv[1], i);
> win1.sin_addr.s_addr = inet_addr(buffer);
>
> По коду можно понять только так:
> арг[1] = 10.10.10.
> а потом присобачиваешь последнюю цифирю IP адреса ?
>
> 3. Совсем не ясно нафига ны заполняешь структуры ssh, rpc,
> win1... если все равно их нигде не используешь.
>
> 4. Ну и последняя классичиская бага:
> for(sec=0; sec<=65535; sec++)
> if(connect(sock, (struct sockaddr*)&addr, sizeof(addr))
>
> Ресурсы за тебя Пушкин освобождать будет ? Операционка у
> тебя не резиновая, однако.
>
>
>
> > Вот написал я тут свой порт сканер на С с возможностью
> > сканить диапозоны ИП адресов.
> > Но работает прога очень глючно! Сканит только первый
> хост,
> > а потом другие несканит. В программе для хитрости
> > использавана функция sprintf(). А может дело в gcc
> > 2.95.3-19?
> > Помогите пожалуйста, вот исходник.
> >
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <sys/socket.h>
> > #include <netinet/in.h>
> > #include <malloc.h>
> >
> > int sec = 0;
> > int main(int argc, char *argv[])
> > {
> > int i;
> > int i1=atoi(argv[2]);
> > int i2=atoi(argv[3]);
> > char *buffer;
> > int sock;
> > int sock2;
> > struct sockaddr_in win1, ssh, rpc, addr, nix;
> > if(argc!=4)
> > {
> > printf("inncorect usage of the programm. Usage is
> > ./scannner ip-address\n");
> > exit(1);
> > }
> > printf("Starting WMD port scanner v1.01beta. Made by
> > Bedman. Good Luck to You!\n");
> > for(i=i1; i<=i2; i++){
> > sock2 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
> > sprintf(buffer, "%s%d", argv[1], i);
> > printf("Scaning %s\n", buffer);
> > win1.sin_family = AF_INET;
> > win1.sin_addr.s_addr = inet_addr(buffer);
> > win1.sin_port = htons(138);
> > rpc.sin_family = AF_INET;
> > rpc.sin_addr.s_addr = inet_addr(buffer);
> > rpc.sin_port = htons(111);
> > ssh.sin_family = AF_INET;
> > ssh.sin_addr.s_addr = inet_addr(buffer);
> > ssh.sin_port = htons(22);
> > nix.sin_family = AF_INET;
> > nix.sin_addr.s_addr = inet_addr(buffer);
> > nix.sin_port = htons(23);
> > addr.sin_family = AF_INET;
> > addr.sin_addr.s_addr = inet_addr(buffer);
> >
> > printf("Open ports:\n");
> > for(sec=0; sec<=65535; sec++)
> > {
> > addr.sin_port = htons(sec); /*??????????? ????? ?????
> */
> > sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
> > if(connect(sock, (struct sockaddr*)&addr,
> sizeof(addr)) ==
> > 0)
> > {
> > printf("open port %d\n", sec);
> > }
> > }
> > }
> > }

Да ты прав, я использую спринтф для склеивания ИП адреса, есть другой способ? но как выделить память под массивы?sec=malloc(10000); не компилируется! помоги плз.
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach