ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

MMP протокол формирование пакета
  #1  
Старый 18.10.2009, 23:06
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме:
2982851

Репутация: 107


По умолчанию MMP протокол формирование пакета

Пытаюсь понять как работает.Пока ничего невыходит.Абсолютно непонятно как пакеты формировать Пробывал так
Код:
int _tmain(int argc, _TCHAR* argv[])
{
	SOCKET s;SOCKADDR_IN adr;WSADATA wsd;
	WSAStartup(MAKEWORD(2,0),&wsd);
	hostent *h;
	char Ip[1024];
	char *datain=new char[1024*1024];
	memset(datain,NULL,1024*1024);
	h=gethostbyname("mrim.mail.ru");
	sprintf(Ip,"%d.%d.%d.%d",(unsigned char)h->h_addr_list[0][0],(unsigned char)h->h_addr_list[0][1],(unsigned char)h->h_addr_list[0][2],(unsigned char)h->h_addr_list[0][3]);
	adr.sin_family=AF_INET;
	adr.sin_addr.s_addr =inet_addr(Ip);
	adr.sin_port = htons(2042);
	s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
	connect( s,(sockaddr *)&adr, sizeof(adr));
	recv(s,datain,1024*1024,0);
	closesocket(s);
	int mraport;
	char *buf=new char[1024];
	strtok(datain,"\n");
	strcpy(buf,strstr(datain,":"));
	buf+=1;
	mraport=atoi(buf);
	buf-=1;
	delete []buf;
	strtok(datain,":");
	strcpy(Ip,datain);
	memset(datain,NULL,strlen(datain)+1);
	adr.sin_family=AF_INET;
	adr.sin_addr.s_addr =inet_addr(Ip);
	adr.sin_port = htons(mraport);
	s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
	connect( s,(sockaddr *)&adr, sizeof(adr));
	mrim_packet_header_t data;
	mrim_packet_header_t _data;
	mrim_connection_params_t params;
	data.dlen=0;
	data.msg=MRIM_CS_HELLO;
	data.magic=PROTO_VERSION;
	data.seq=0;
	data.magic=CS_MAGIC;
	data.fromport=mraport;
	data.from=0;
	cout<<send(s,(char*)&data,sizeof(data),0)<<endl;
	int received=0;WSASetLastError(0);
	received=recv(s,(char*)&_data,sizeof(_data),0);
	cout<<received<<_data.seq<<endl;
	printf("%d",WSAGetLastError());
	closesocket(s);
	getch();
	WSACleanup();
	return 0;
}
А ответ не бубум .То есть recv возвращяет 0.Как же надо составлять эти долбаные пакеты?
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Криптоанализ туннельного протокола типа точка-точка(PPTP) от Microsoft bobob Чужие Статьи 3 15.08.2006 00:50
Описание Ssh Nova *nix 2 13.07.2006 17:31
Протокол Socks 5 Nova Чужие Статьи 3 13.07.2006 16:19
Что такое Ip-адрес? F_taker Защита ОС: вирусы, антивирусы, файрволы. 4 20.02.2006 19:34



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


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




ANTICHAT.XYZ