#include #include #include #include #include int main(int argc, char** argv){ if (argc != 2){ printf("u must specifie IP addr\n"); exit(1); } printf("target = %s\n", argv[1]); int domain = AF_INET; int type = SOCK_STREAM; int fd = socket(domain, type, 0); printf("fd = %d\n", fd); struct sockaddr_in dest_addr; memset(&dest_addr, 0, sizeof(dest_addr)); dest_addr.sin_family = AF_INET; dest_addr.sin_port = htons(80); dest_addr.sin_addr.s_addr = inet_addr(argv[1]); int ret = connect(fd,(struct sockaddr*)&dest_addr, sizeof(dest_addr)); printf("ret_connect = %d\n", ret); char buffer[100]; memset(buffer, 0, 100); FILE* fichier_out = fopen("payload.txt", "r"); fseek(fichier_out, 0, SEEK_END); int size = fichier_out->_offset; char* file_buffer = malloc(size); fseek(fichier_out, 0, SEEK_SET); fread(file_buffer, 1, size, fichier_out); for (int i = 0; i < size; i++){ char c = file_buffer[i]; if (c == '\n') send(fd, "\r\n", 2, 0); else send(fd, &c, 1, 0); } send(fd, "\r\n", 2, 0); int n; while (( n = recv(fd, buffer, 99, 0)) > 0){ buffer[n] = 0; printf("%s", buffer); } fclose(fichier_out); return 0; }