//接收初始链接信息
byte[] buffer = new byte[100];
int length = is.read(buffer);
String s = new String(buffer, 0, length);
System.out.println(s);
//发送用户名
String str = "USER useway/n";
os.write(str.getBytes());
//得到返回值
length = is.read(buffer);
s = new String(buffer, 0, length);
System.out.println(s);
//发送密码
str = "PASS
!@#$%abcd/n";
os.write(str.getBytes());
//得到返回值
length = is.read(buffer);
s = new String(buffer, 0, length);
System.out.println(s);
//发送切换文件夹指令
str = "CWD /home/useway/n";
os.write(str.getBytes());
//得到返回值
length = is.read(buffer);
s = new String(buffer, 0, length);
System.out.println(s);
//设置模式
str = "EPSV ALL/n";
os.write(str.getBytes());
//得到返回值
length = is.read(buffer);
s = new String(buffer, 0, length);
System.out.println(s);
//得到被动监听信息
str = "EPSV/n";
os.write(str.getBytes());
//得到返回值
length = is.read(buffer);
s = new String(buffer, 0, length);
System.out.println(s);
//取得FTP被动监听的端口号
String portlist=s.substring(s.indexOf("(|||")+4,s.indexOf("|)"));
System.out.println(portlist);
//实例化ShowList线程类,链接FTP被动监听端口号
ShowList sl=new ShowList();
sl.port=Integer.parseInt(portlist);
sl.start();
//执行LIST命令
str = "LIST/n";
os.write(str.getBytes());
//得到返回值
length = is.read(buffer);
s = new String(buffer, 0, length);
System.out.println(s);
//关闭链接
is.close();
os.close();
socket.close();
}
}
//得到被动链接信息类,这个类是多线程的
class ShowList extends Thread{
public int port=0;
public void run(){
try{
Socket socket = new Socket("192.168.0.1",this.port);
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
byte[] buffer = new byte[10000];
int length = is.read(buffer);
String s = new String(buffer, 0, length);
System.out.println(s);
//关闭链接
is.close();
os.close();
socket.close();
}
catch(Exception ex){
}
}
}
相关推荐
asp.net FTP客户端设计与开发(源代码+论文) 1.3本课题研究的意义 进一步熟悉.net开发环境,掌握一定开发Windows应用程序技术。对提高自己的C#语言编程能力,熟悉ftp工作过程。制作一个界面友好,快速,稳定的下在...
网络服务 第15章 互联网打印协议 149 15.1 IPP历史 149 15.2 IPP和端用户 150 15.3 使用HP的IPP实现 151 15.4 小结 152 第16章 LDAP:目录服务 153 16.1 为什么使用目录服务 153 16.2 目录...
3.4 文件传输协议(FTP) 25 3.5 普通文件传输协议(TFTP) 26 3.6 简单邮件传输协议(SMTP) 26 3.7 网络文件系统(NFS) 26 3.8 简单网络管理协议(SNMP) 27 3.9 TCP/IP和系统结合 27 3.10 内部网概述 28 3.11 小结 28 第二...
6.1 java程序员的春天厚礼—spring 2.5 349 6.1.1 爱上spring 2.5的十大理由 350 6.1.2 一睹spring 2.5芳容 351 6.1.3 spring 2.5拿手戏——控制反转与依赖注入 353 6.1.4 何为“面向切面编程aop” 356 6.1.5 ...
本书内容十分丰富,几乎涵盖了有关TCP/IP的各个方面,包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析及反向地址解析协议、DNS域字服务器、WINS、地址发现协议、IPv6、IP网络中的路由协议...
本书内容十分丰富,几乎涵盖了有关TCP/IP的各个方面,包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析及反向地址解析协议、DNS域字服务器、WINS、地址发现协议、IPv6、IP网络中的路由协议...
3.4 文件传输协议(FTP) 25 3.5 普通文件传输协议(TFTP) 26 3.6 简单邮件传输协议(SMTP) 26 3.7 网络文件系统(NFS) 26 3.8 简单网络管理协议(SNMP) 27 3.9 TCP/IP和系统结合 27 3.10 内部网概述 28 3.11 小结 28 第二...
26.2.2 使用FTP客户端建立连接 288 26.2.3 FTP安全 296 26.2.4 FTP服务器及守护进程 299 26.2.5 匿名FTP访问 299 26.3 使用TFTP 300 26.3.1 FTP与TFTP的区别 301 26.3.2 TFTP命令 301 26.4 小结 301 第27章 使用...
利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL...
2.1.2 HTTP协议详解 7 2.1.3 模拟HTTP请求 13 2.1.4 HTTP协议与HTTPS协议的区别 14 2.2 截取HTTP请求 15 2.2.1 Burp Suite Proxy 初体验 15 2.2.2 Fiddler 19 2.2.3 WinSock Expert 24 2.3 HTTP应用:黑帽SEO之搜索...
9.24、运用JAVA MAIL包实现发GMAIL邮件 230 9.26、ANDROID键盘响应 236 9.27、后台监听某个按键 238 9.28、VECTOR用法 239 9.29、CURSOR 242 9.30、把一个字符串写进文件 244 9.31、把文件内容读出到一个字符串 245 ...
9.24、运用JAVA MAIL包实现发GMAIL邮件 230 9.26、ANDROID键盘响应 236 9.27、后台监听某个按键 238 9.28、VECTOR用法 239 9.29、CURSOR 242 9.30、把一个字符串写进文件 244 9.31、把文件内容读出到一个字符串 245 ...