version 1.72, 2004/03/12 10:10:00 |
version 1.73, 2004/07/15 15:07:52 |
|
|
int vflag; /* Verbosity */ |
int vflag; /* Verbosity */ |
int xflag; /* Socks proxy */ |
int xflag; /* Socks proxy */ |
int zflag; /* Port Scan Flag */ |
int zflag; /* Port Scan Flag */ |
|
int Dflag; /* sodebug */ |
int Sflag; /* TCP MD5 signature option */ |
int Sflag; /* TCP MD5 signature option */ |
|
|
int timeout = -1; |
int timeout = -1; |
|
|
endp = NULL; |
endp = NULL; |
sv = NULL; |
sv = NULL; |
|
|
while ((ch = getopt(argc, argv, "46UX:dhi:klnp:rs:tuvw:x:zS")) != -1) { |
while ((ch = getopt(argc, argv, "46Ddhi:klnp:rSs:tUuvw:X:x:z")) != -1) { |
switch (ch) { |
switch (ch) { |
case '4': |
case '4': |
family = AF_INET; |
family = AF_INET; |
|
|
case 'z': |
case 'z': |
zflag = 1; |
zflag = 1; |
break; |
break; |
|
case 'D': |
|
Dflag = 1; |
|
break; |
case 'S': |
case 'S': |
Sflag = 1; |
Sflag = 1; |
break; |
break; |
|
|
&x, sizeof(x)) == -1) |
&x, sizeof(x)) == -1) |
err(1, NULL); |
err(1, NULL); |
} |
} |
|
if (Dflag) { |
|
if (setsockopt(s, SOL_SOCKET, SO_DEBUG, |
|
&x, sizeof(x)) == -1) |
|
err(1, NULL); |
|
} |
|
|
if (connect(s, res0->ai_addr, res0->ai_addrlen) == 0) |
if (connect(s, res0->ai_addr, res0->ai_addrlen) == 0) |
break; |
break; |
|
|
if (ret == -1) |
if (ret == -1) |
err(1, NULL); |
err(1, NULL); |
} |
} |
|
if (Dflag) { |
|
if (setsockopt(s, SOL_SOCKET, SO_DEBUG, |
|
&x, sizeof(x)) == -1) |
|
err(1, NULL); |
|
} |
|
|
if (bind(s, (struct sockaddr *)res0->ai_addr, |
if (bind(s, (struct sockaddr *)res0->ai_addr, |
res0->ai_addrlen) == 0) |
res0->ai_addrlen) == 0) |
|
|
fprintf(stderr, "\tCommand Summary:\n\ |
fprintf(stderr, "\tCommand Summary:\n\ |
\t-4 Use IPv4\n\ |
\t-4 Use IPv4\n\ |
\t-6 Use IPv6\n\ |
\t-6 Use IPv6\n\ |
|
\t-D Enable the debug socket option\n\ |
\t-d Detach from stdin\n\ |
\t-d Detach from stdin\n\ |
\t-h This help text\n\ |
\t-h This help text\n\ |
\t-i secs\t Delay interval for lines sent, ports scanned\n\ |
\t-i secs\t Delay interval for lines sent, ports scanned\n\ |
|
|
void |
void |
usage(int ret) |
usage(int ret) |
{ |
{ |
fprintf(stderr, "usage: nc [-46dhklnrStUuvz] [-i interval] [-p source_port]\n"); |
fprintf(stderr, "usage: nc [-46DdhklnrStUuvz] [-i interval] [-p source_port]\n"); |
fprintf(stderr, "\t [-s source_ip_address] [-w timeout] [-X socks_version]\n"); |
fprintf(stderr, "\t [-s source_ip_address] [-w timeout] [-X socks_version]\n"); |
fprintf(stderr, "\t [-x proxy_address[:port]] [hostname] [port[s]]\n"); |
fprintf(stderr, "\t [-x proxy_address[:port]] [hostname] [port[s]]\n"); |
if (ret) |
if (ret) |