#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); strncpy(buffer, "GET /login.html HTTP/1.1\r\n", 100); send(fd, buffer, strlen(buffer), 0); strncpy(buffer, "Host: ftp.wingdata.htb\r\n", 100); send(fd, buffer, strlen(buffer), 0); strncpy(buffer, "Accept: */*\r\n", 100); send(fd, buffer, strlen(buffer), 0); strncpy(buffer, "\r\n", 100); send(fd, buffer, strlen(buffer), 0); int n; while (( n = recv(fd, buffer, 99, 0)) > 0){ buffer[n] = 0; printf("%s", buffer); } return 0; }