Посмарите на исходник ниже. Ето сканер портов, очень простой, без никаких проверок, и неработающий =(. Просто ниче не сканит. Я проверял: при connect он в err записывает "-1", типа не может законектиться, но почему? (Все компилиться без warning'ов)
#include <stdio.h> #include <sys/socket.h> #include <sys/types.h> #include <netdb.h>
int main(int argc,char *argv[]) { int fd,err; int start,stop; struct sockaddr_in sa;
start=atoi(argv[1]); stop=atoi(argv[2]); sa.sin_family=AF_INET; sa.sin_addr.s_addr=inet_addr(argv[3]);
for(;start<=stop;start++){ sa.sin_port=htons(start); fd=(AF_INET,SOCK_STREAM,IPPROTO_IP); err=connect(fd,(struct sockaddr*)&sa,sizeof(sa)); if(con=0){ printf("%d\n",start); shutdown(fd,2); } } exit(0); }