Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <string.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <netdb.h>
- void error(const char *msg){
- perror(msg);
- exit(0);
- }
- void catstrtobuf(char buf[], char * str, int pos){
- int i;
- for (i = 0; i < strlen(str); i++){
- printf("Charis: buf %c str %c\n", buf[pos], str[i]);
- buf[pos++] = str[i];
- printf("Charis: buf %c str %c\n", buf[pos], str[i]);
- }
- }
- int main(int argc, char *argv[]){
- int sockfd, portno, n, i, iterations, buffpos;
- struct sockaddr_in serv_addr;
- struct hostent *server;
- char bufferin[256], saveme[256], *command;
- if (argc < 5){
- fprintf(stderr, "[:] usage %s host port command iterations\n", argv[0]);
- exit(0);
- }
- buffpos = 0;
- memset(bufferin, 0, sizeof(bufferin));
- portno = atoi(argv[2]);
- sockfd = socket(AF_INET, SOCK_STREAM, 0);
- if (sockfd < 0)
- error("[-] ERROR opening socket");
- if ((server=gethostbyname(argv[1]))==NULL){
- fprintf(stderr, "[-] ERROR: no such host %s\n", argv[1]);
- }
- command = argv[3];
- iterations = atoi(argv[4]);
- fprintf(stdout, "[+] Executing: %s %d %s %d\n", argv[1], portno, command, iterations);
- memset((char *)&serv_addr, 0, sizeof(serv_addr));
- serv_addr.sin_family = AF_INET;
- memcpy((char *)&serv_addr.sin_addr.s_addr, (char *)server->h_addr, server->h_length);
- serv_addr.sin_port = htons(portno);
- if (connect(sockfd,(struct sockaddr *) &serv_addr, sizeof(serv_addr))<0){
- error("[-] Err connecting");
- }
- n = read(sockfd, bufferin, sizeof(bufferin)); //Read set name
- if (n < 0) error("[-] Err reading sck\n");
- printf("[+] Connection stabilished...\n %s", bufferin);
- for (i = 1; i<=iterations; i++){
- catstrtobuf(saveme, command, buffpos);
- memset(bufferin, 0, sizeof(bufferin));
- //Send command
- fprintf(stdout,"[%d] Sending command (%s)...\n", i+1, command);
- write(sockfd, (const void*)saveme, i*2);
- write(sockfd, (const void*)"\n", 1);
- //Read response
- memset(bufferin, 0, sizeof(bufferin));
- n = read(sockfd, bufferin, 255);
- if (n < 0) error("[-] Err reading sck\n");
- printf("%s\n", bufferin);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement