PDA

View Full Version : ايراد اين برنامه تحت شبكه چيه؟



one hacker alone
چهارشنبه 10 اسفند 1390, 19:12 عصر
به ياد او
سلام دوستان ميشه بگين خطاي اين برنامه ساده چي هست
البته با VC++ كامپايل كردم و اررور نداد ولي حين اجرا كار نميكنه

#include "stdafx.h"
#include <iostream.h>
#include <stdlib.h>
#include <winsock.h>
#include <windows.h>
#include <conio.h>
#include <string.h>

int main(int argc, char **argv)
{
//Define variable need.
int err;
struct sockaddr_in myaddr;
//Define Buffor for Send and Recive
char *mybuff;
SOCKET mysock;
WSADATA wdata;
WORD w;
w=MAKEWORD(2,0);
if(argc<3)
{
cout<<"\nError In Send Parameter To Programs\n";
cout<<"==> Usage:"<<argv[0]<<" <ip> <port>\n";
exit(1);
}
myaddr.sin_addr.s_addr=inet_addr(argv[1]);
myaddr.sin_family=AF_INET;
myaddr.sin_port=htons(atoi(argv[2]));
// Rady OS for Connect and creat socket
if(WSAStartup(w,&wdata))
{
cout<<"Error On Init socket\n";
exit(1);
}
//create socket
mysock=socket(AF_INET,SOCK_STREAM,0);
if(mysock==INVALID_SOCKET)
{
cout<<"\nError On Create Socket";
WSACleanup();
exit(1);
}
//connect to server
err=connect(mysock,(struct sockaddr*)&myaddr,sizeof(struct sockaddr));
if(err==INVALID_SOCKET)
{
cout<<"\nError On Connect to Socket";
WSACleanup();
exit(1);
}
mybuff="salam\0";
err=send(mysock,mybuff,strlen(mybuff),0);
if(err==SOCKET_ERROR)
{
cout<<"\nError On Send Data\n";
cout<<"Error Number "<<WSAGetLastError();
WSACleanup();
exit(1);
}
memset(mybuff,'\0',strlen(mybuff));
err=recv(mysock,mybuff,strlen(mybuff),0);
if(err==SOCKET_ERROR)
{
cout<<"\nError On Recev Data\n";
cout<<"\nError Number"<<WSAGetLastError();
exit(1);
}
cout<<"Recev From Server;\n"<<mybuff;
closesocket(mysock);
WSACleanup();
getch();
return 0;

}


فقط پيغام سلام را به يه اي پي و پورد ميفرسته من هم به پورت 80 ميفرستم و انتظار داشتم پيغام زير رو برام برگردونه كه يهو خطا ميده و كار نميكنه




HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 29 Feb 2012 14:40:03 GMT
Connection: close
Content-Length: 326

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/str
ict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Verb</h2>
<hr><p>HTTP Error 400. The request verb is invalid.</p>
</BODY></HTML>

amin1softco
چهارشنبه 10 اسفند 1390, 23:19 عصر
شما الان rfc را خوندین و به این نتیجه رسیدید!!!
ببنید پروتکل تلنت یکمی پروسش متفاوته ولی به نظرم باید همین جواب رو در یافت کنید. اگر خوندمش حتماً یک شبه کد می نویسم.

one hacker alone
چهارشنبه 10 اسفند 1390, 23:50 عصر
حرف شما در مورد rfc درسته اما خوب روند برنامه منطقي هست و ما در خواست نامعتبر نداريم و بايد جوابي حتي در حد null دريافت ميكردم اما برنامه خطا ميده معلوم نيست كجاش خطا ميده
http://www.pic1.iran-forum.ir/images/up1/70837127780387155449.jpg