2014-02-25 38 views
-1

我目前正在开发一个程序,最终会做“字典攻击”,这是一个大学项目,所以它不适用于非法目的。FTP登录破解程序

好到目前为止,我已经设法实现这一目标:

public class Cracker { 

public static void main(String [] args) throws IOException { 

    BufferedReader bufferedReader = new BufferedReader(new FileReader("/bin/a.txt")); 
    StringBuffer stringBuffer = new StringBuffer(); 
    String line = null; 

    while((line =bufferedReader.readLine())!=null) { 
     stringBuffer.append(line).append("\n"); 
    } 

    System.out.println(stringBuffer); 
    } 
} 

那么这样做是从* .txt文件中读取并打印出它的每一行。我对Java中的连接不太熟悉,所以我想知道如何实现这个相同的概念并使用它来尝试每一行以获取FTP服务器的密码。讲座提供给用户,因此不需要为用户做。

在此先感谢所有帮助的人。

+0

有几个基于Java的FTP库可以使用。只需Google“Java FTP客户端”即可。如果你不能使用客户端库,那么你将不得不阅读和理解FTP如何工作和实现它。或者,我想你可以掏钱并调用FTP命令行程序。 Java中的原始“连接”通常通过一个“Socket”来完成,它可以访问原始输入/输出流。 – CodeChimp

回答

1

由于CodeChimp建议您可以使用Java的现有FTP客户端。如果这不是您的选择,您可以自己实施授权流程。

FTP协议在Wikipedia上有很好的描述。

  1. 打开到FTP服务器上的端口21的连接:

    授权过程可以如下实施。服务器应回复状态代码2xx(通常为220

  2. 发送命令USER <username>。服务器应回复状态代码3xx
  3. 发送命令PASS <password>。服务器将回复状态码230(登录成功)或状态码430

您可以使用telnet客户端预先测试授权过程。

以Java编程方式打开连接时,通常必须使用SocketHere你会发现一个教程,用于读取和写入Socket的数据。

+0

非常感谢,我真的需要一个开始的基地,我开始阅读一些材料。感谢您的小费 –