#include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int Connect() { int SocketNumber; /* Socket descripter */ int port_num=0; char address[256]; struct sockaddr_in sin; /* Socket Entry */ printf("Input address : "); gets(address);//スキャンしたい端末のアドレスを入力 printf("\n"); for(port_num=0; port_num<1024; port_num++){ if(0 > (SocketNumber = (socket(AF_INET,SOCK_STREAM,0)))) { printf("\7Cannot get Socket.\n"); exit(1); } /* Set protocol family name */ sin.sin_family = AF_INET; /* Set Port N.o. */ sin.sin_port = htons(port_num); sin.sin_addr.s_addr = inet_addr(address); if(0 > connect(SocketNumber,(struct sockaddr *)(&sin),sizeof(sin))){ //printf("Port number = %d : don't use\n",port_num); //未使用の場合は表示しない。 } else{ printf("Port number = %d : use\n",port_num); //使用している場合は表示する。 } close(SocketNumber); } return SocketNumber; } int main(int argc, char *argv) { int Sock; Sock = Connect(argv[1]); /* Connect */ printf("\nPort Scan end\n"); printf("Disocnnected.\n"); }