2014-02-25 41 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

非常感謝,我真的需要一個開始的基地,我開始閱讀一些材料。感謝您的小費 –