#include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #define BUFFSIZE BUFSIZ int main(int argc, char *argv[]) { int port; int socket_fd; char str[BUFFSIZE]; struct sockaddr_in addr; if(argc >= 4) { printf("Usage: %s [IP_address [a] ] \n", argv[0]); return 1; } if(argc == 1) { strcpy(str, "133.13.59.46"); } else { strcpy(str, argv[1]); } printf("Address = \"%s\" Portscan started..\n", str); for(port=1; port<1024; port++) { if((socket_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { perror("socket"); return 1; } addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_addr(str); addr.sin_port = htons(port); if(connect(socket_fd, (struct sockaddr *)&addr, sizeof(addr)) == -1) { } else { printf("Open TCP Port: %4d\n", port); } close(socket_fd); } printf("Portscan find them.\n"); }