Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.22 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <string.h>
  5. #include <sys/types.h>
  6. #include <sys/socket.h>
  7. #include <netinet/in.h>
  8. #include <netdb.h>
  9.  
  10. void error(const char *msg){
  11.   perror(msg);
  12.   exit(0);
  13. }
  14.  
  15. void catstrtobuf(char buf[], char * str, int pos){
  16.   int i;
  17.   for (i = 0; i < strlen(str); i++){
  18.     printf("Charis: buf %c str %c\n", buf[pos], str[i]);
  19.     buf[pos++] = str[i];
  20.     printf("Charis: buf %c str %c\n", buf[pos], str[i]);
  21.   }
  22. }
  23.  
  24. int main(int argc, char *argv[]){
  25.   int sockfd, portno, n, i, iterations, buffpos;
  26.   struct sockaddr_in serv_addr;
  27.   struct hostent *server;
  28.   char bufferin[256], saveme[256], *command;
  29.  
  30.   if (argc < 5){
  31.     fprintf(stderr, "[:] usage %s host port command iterations\n", argv[0]);
  32.     exit(0);
  33.   }
  34.  
  35.   buffpos = 0;
  36.   memset(bufferin, 0, sizeof(bufferin));
  37.   portno = atoi(argv[2]);
  38.   sockfd = socket(AF_INET, SOCK_STREAM, 0);
  39.   if (sockfd < 0)
  40.     error("[-] ERROR opening socket");
  41.   if ((server=gethostbyname(argv[1]))==NULL){
  42.     fprintf(stderr, "[-] ERROR: no such host %s\n", argv[1]);
  43.   }
  44.   command = argv[3];
  45.   iterations = atoi(argv[4]);
  46.  
  47.   fprintf(stdout, "[+] Executing: %s %d %s %d\n", argv[1], portno, command, iterations);
  48.   memset((char *)&serv_addr, 0, sizeof(serv_addr));
  49.   serv_addr.sin_family = AF_INET;
  50.   memcpy((char *)&serv_addr.sin_addr.s_addr, (char *)server->h_addr, server->h_length);
  51.   serv_addr.sin_port = htons(portno);
  52.  
  53.   if (connect(sockfd,(struct sockaddr *) &serv_addr, sizeof(serv_addr))<0){
  54.     error("[-] Err connecting");
  55.   }
  56.  
  57.   n = read(sockfd, bufferin, sizeof(bufferin)); //Read set name
  58.   if (n < 0) error("[-] Err reading sck\n");
  59.   printf("[+] Connection stabilished...\n %s", bufferin);
  60.  
  61.  
  62.   for (i = 1; i<=iterations; i++){
  63.    
  64.     catstrtobuf(saveme, command, buffpos);
  65.     memset(bufferin, 0, sizeof(bufferin));
  66.  
  67.     //Send command
  68.     fprintf(stdout,"[%d] Sending command (%s)...\n", i+1, command);
  69.     write(sockfd, (const void*)saveme, i*2);
  70.     write(sockfd, (const void*)"\n", 1);
  71.  
  72.     //Read response
  73.     memset(bufferin, 0, sizeof(bufferin));
  74.     n = read(sockfd, bufferin, 255);
  75.     if (n < 0) error("[-] Err reading sck\n");
  76.     printf("%s\n", bufferin);
  77.  
  78.   }
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement