Информация сайта компьютерной безопасности <<< Hack Style >>> пример простого сканера портов для запуска сканирования надо запустить программу с ключем (напр из камандной строки) который и должен быть IP адресом сканируемого компьютера например: portscan.exe 127.0.0.1 для поиска открытых портов программв пробует подключиться к портам начиная с значения переменной cnt и заканчивая значением ports (1...65535) #include #include #include #include int cnt = 1, ports=65535;//65535 int main(int argc, char *argv[]) { int sock; char *ipadres=""; printf("simple PORT SCANNER"); if(argc<2) { printf("\nRun programm with IP key !!!"); return -1; }else{ strcpy(ipadres,argv[1]);} printf("\n\a ip - %s \n SCANNING...", ipadres); WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { printf("\n\aCould not find WinSock DLL"); getchar(); return -1; } struct sockaddr_in addr; memset(&addr,0,sizeof(addr)); addr.sin_family = AF_INET; unsigned long s_adr = inet_addr(ipadres); if (s_adr == INADDR_NONE) { WSACleanup(); getchar(); return -1; } addr.sin_addr.s_addr = s_adr; sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (sock == INVALID_SOCKET ) { err = WSAGetLastError(); printf("SOCKET ERROR, ERROR NUM: %d",err); getchar(); WSACleanup(); return -1; } for(cnt=cnt; cnt <= ports; cnt++) { addr.sin_port = htons(cnt); if(connect(sock, (struct sockaddr*)&addr, sizeof(addr)) == 0) { printf("\n\aconnected to %d -PORT OPEN\n\a",cnt); }else{ //printf("\n%d -PORT CLOSED\n",cnt); } } closesocket(sock); WSACleanup(); printf("\n\a SCANNED %d OK !!!",ports); getchar(); return 0; } Все права защищены ~< KAPMAH >~ www.HackStyle.narod.ru