HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

  #1  
Старый 04.02.2009, 15:57
xismyname
Познающий
Регистрация: 07.09.2008
Сообщений: 79
Провел на форуме:
272452

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

Цитата:
Сообщение от Glazz  
таак , попробовал пустую структуру sockaddr передать в коннект , скомпилилось и написало Done , тока вот как правильно заполнить структуру не нашел :\ не подскажите как? и на sockaddr получаются те же программы , что и на sockaddr_in или же в первом соккаддр нет того , что позволит полноценно работать с сетью?
В структуре sockaddr только две переменные,sa_family и sa_data.Конечно можешь с этой структурой работать но с ней намного тяжелее чем со структурой sockaddr_in именно поэтому последняя из них и была создана.

Так что работать ты можешь нормально с sockaddr_in но когда будешь передавать функциям нужно "конвертировать" на sockaddr.

Например : (struct sockaddr*)&addr;
 
Ответить с цитированием

  #2  
Старый 04.02.2009, 16:17
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

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

Цитата:
Сообщение от xismyname  
В структуре sockaddr только две переменные,sa_family и sa_data.Конечно можешь с этой структурой работать но с ней намного тяжелее чем со структурой sockaddr_in именно поэтому последняя из них и была создана.

Так что работать ты можешь нормально с sockaddr_in но когда будешь передавать функциям нужно "конвертировать" на sockaddr.

Например : (struct sockaddr*)&addr;
ээ , это так :
struct sockaddr_in addr;
...
..
(struct sockaddr*)&addr ?

поробовал так - все компилится , запускаю программу - проходит вроде без ошибок. Смотрю лог подключений Apach'а , там нету записи о том , что я подлкючался.
Или чтоб была запись нужно хоть что-то отправить? я тока подключаюсь и все.

Последний раз редактировалось Glazz; 04.02.2009 в 16:23..
 
Ответить с цитированием

  #3  
Старый 03.02.2009, 19:36
arser
Новичок
Регистрация: 02.02.2009
Сообщений: 8
Провел на форуме:
10747

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

Дайте заготовки кейгенов
 
Ответить с цитированием

  #4  
Старый 03.02.2009, 19:46
awdrg
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
Провел на форуме:
505362

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

кейген пишеться под определенную софтину какбе...
Могу дать заготовки генератора аккаунтов icq

Последний раз редактировалось awdrg; 03.02.2009 в 19:49..
 
Ответить с цитированием

  #5  
Старый 03.02.2009, 19:52
arser
Новичок
Регистрация: 02.02.2009
Сообщений: 8
Провел на форуме:
10747

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

Цитата:
Сообщение от awdrg  
кейген пишеться под определенную софтину какбе...
Могу дать заготовки генератора аккаунтов icq
давай,а заготовки нужны были под BS player и adobe acrobat
 
Ответить с цитированием

  #6  
Старый 03.02.2009, 20:10
awdrg
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
Провел на форуме:
505362

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

Вот самый простой генератор, проще некуда (почти =) )

//icq generator by awdrg
Код:
#include <iostream>
const int maximum = 9; //max icq pass + '\0'
using namespace std;

void generate(unsigned int start, unsigned int end, char pass[]);

main()
{
   char pass[maximum] = "\0";
   unsigned int x=0,y=0;
   cout << "Enter start range: ";
   cin >> x;
   cout << "Enter final number: ";
   cin >> y;
   cout << "Enter pass: ";
   cin >> pass;
   if ((x>y or x==y))
      {
         cout << "Error ";
         return 0;
      }
   generate(x,y,pass);
   cout << "Created " << (x-y) << " numbers\n";
   return 0;
}

void generate(unsigned int start, unsigned int end, char pass[])
{
   for (;start < end;start++)
      cout << start-1 << ";" << pass << "\n";
}
если будет сильно нужно, вывод в txt доделай сам
 
Ответить с цитированием

  #7  
Старый 04.02.2009, 16:13
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

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

А может я чего не подключил? из за этого и пишет типо неизвестный тип данных

#include <stdio.h>
#include <string.h>
#include <winsock2.h>
#include <windows.h>
 
Ответить с цитированием

  #8  
Старый 04.02.2009, 16:15
xismyname
Познающий
Регистрация: 07.09.2008
Сообщений: 79
Провел на форуме:
272452

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

Цитата:
Сообщение от Glazz  
А может я чего не подключил? из за этого и пишет типо неизвестный тип данных

#include <stdio.h>
#include <string.h>
#include <winsock2.h>
#include <windows.h>
все что касаеться сокетов находиться в winsock2.h.
Ты лучше целый код покажи.
 
Ответить с цитированием

  #9  
Старый 04.02.2009, 21:29
zindi
Участник форума
Регистрация: 11.04.2007
Сообщений: 219
Провел на форуме:
982101

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

когда то писал,пример на сокетах мини чата.
Цитата:
#include <iostream>
#include <process.h>
#include <winsock2.h>
#include "chat.h"
using namespace std;

#pragma comment(lib, "ws2_32.lib")

void StartWinSock();
void StopWinSock();

void chat_server();
void chat_client_thread(void *pv);

int exit_chat_server;
CRITICAL_SECTION cs;

int main()
{
StartWinSock();//ініціалізація

exit_chat_server = 0;
chat_server();

StopWinSock();//закриваємо все

return 0;
}
//-----------------------------------------
void StopWinSock()
{
if (WSACleanup())
cout<<"Error Cleapir"<<endl;
else
cout<<"Cleapir Good !!!!!"<<endl;
}

void StartWinSock()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2), &wsaData))
{
cout<<"winsock not bi initialized !"<<endl;
WSACleanup();
}
else
cout<<"Winsock initial OK !!!!"<<endl;
}
//-----------------------------------------
void chat_server()
{
//----- отримуємо адресу хоста -----------------------------------
char local_host[255];
gethostname(local_host, 255);

sockaddr_in clientAddr;
in_addr local_ip = *((in_addr *)gethostbyname(local_host)->h_addr);

clientAddr.sin_family = AF_INET;
clientAddr.sin_addr = local_ip;
clientAddr.sin_port = htons(CHAT_PORT);
cout<<"starting server on "<<inet_ntoa(local_ip)<<endl;

// --------------- ініціалізуємо критичну секцію ---------------
InitializeCriticalSection(&cs);
//---------- створюємо сокет -------------------------------------
SOCKET server_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

//---------------- ми сервер, зєднуємо сокет з портом --------------
bind(server_socket, (sockaddr*) &clientAddr, sizeof(clientAddr));

//----------------- переводимо сокет в режим очікування -------------------
listen(server_socket, CHAT_BACKLOG);

while(exit_chat_server == 0)
{
cout<<"waiting for connection..."<<endl;
fflush(stdout);

//------------- створюємо новий сокет для клієнта і приєднуємо його ---------
int clientAddrlength = sizeof(clientAddr);

SOCKET client_socket = accept(server_socket, (sockaddr*) &clientAddr, &clientAddrlength);

cout<<"client connected: "<<inet_ntoa(clientAddr.sin_addr)<<endl;
fflush(stdout);

//запускаємо потік для клієнта
_beginthread(chat_client_thread, 0, (void*)client_socket);
}
}
void chat_client_thread(void *pv)
{
SOCKET s = (SOCKET)pv;
int client_exit = 0;

chat_login_data login_data; //обєкт структури chat_login_data з chat.h
//отримати дані з приєднаного сокета
recv(s, (char*) &login_data, sizeof(login_data), 0);

chat_message msg; //обєкт структури chat_message з chat.h
cout<<login_data.login<<" entered chat"<<endl;

while(client_exit == 0 && !exit_chat_server)
{
if(recv(s, (char*)&msg, sizeof(msg), 0)<=0)
{
cout<<login_data.login<<" sent invalid message"<<endl;
client_exit = 1;
break;
} else {
EnterCriticalSection(&cs);
cout<<login_data.login<<": "<<msg.text<<endl;
fflush(stdout);
LeaveCriticalSection(&cs);
}
}
}
Цитата:
#define CHAT_MAXMSG 512
#define CHAT_PORT 1234
#define CHAT_BACKLOG 10

struct chat_login_data
{
char login[255];
char password[255];
};

struct chat_message
{
char to_login[255];
char text[CHAT_MAXMSG];
};
 
Ответить с цитированием

  #10  
Старый 05.02.2009, 12:48
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

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

WSAStartup(..); вообще не включается.
if(WSAStartup(MAKEWORD(2,2), &WsaData))
printf("WSAStartup ok\n");

а как провильно проверить норм выполнилась WSAStartup() или нет?
if(WSAStartup())
успешно

или

if(WSAStartup() < 0)
не успшено

Может кто дать описание четвертого аргумента для
send(); ?

Вроде как все подлкючается , отправляю заголовки на апач , и r = send() , и r = 4 , хотя хаголовки больше 4 символов должны отправиться.
В логах апача снова нету соеденений :\

Последний раз редактировалось Glazz; 05.02.2009 в 13:52..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Сценарии/CMF/СMS 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ