#include
#include
#include
#include
#include
#include
#include
#include
#define MAXSOCKETS 128
#define TIMEOUT 3
struct hostent *host_entry;
void portfound(int port)
{
struct servent *service;
printf(„Open port : %d”,port);
service=getservbyport(htons(port),”tcp”);
if (service)
{
printf(” (%s)”,service->s_name);
}
printf(„n”);
}
void scanports(int start, int end)
{
int *sock;
int i,val,len;
fd_set rset, wset;
struct timeval tv;
printf(„Scanning ports %d-%dn”,start,end);
len=sizeof(val);
sock=(int *)malloc((end-start+1)*sizeof(int));
for(i=start;ih_addr_list[0],
&host_addr.sin_addr.s_addr,
host_entry->h_length);
//meg kell adni, hogy milyen tipusu a cim. AF_INET lesz
host_addr.sin_family = host_entry->h_addrtype;
//megadjuk a portot. htons -al forditani kell a byte sorrenden
host_addr.sin_port = htons(port);
//socket nonblocking lesz
connect(sd, (struct sockaddr *)&host_addr, sizeof(struct sockaddr_in));
return sd;
}
void main(int argc, char *argv[])
{
int port;
if (argc!=2) exit();
//lookup
if ((host_entry = gethostbyname(argv[1]))==NULL)
{
herror(„gethostbyname failed”);
exit(1);
}
for(port=0;port<65536;port+=MAXSOCKETS+1)
scanports(port,port+MAXSOCKETS<65535 ? port+MAXSOCKETS : 65535);
}
van ez a forráskódom, hogyan tudok ebbõl progit csinálni? Elõre is thx
legutóbbi hsz