读书人

Internet telnetftp下令

发布时间: 2012-12-20 09:53:21 作者: rapoo

Internet telnet,ftp命令

?

?

telnet,ftp命令

?

apache的commons-net.jar包中对telnet,ftp,pop3,smtp等协议进行了封装。使用telnet,ftp,pop3,smtp等协议,有一套编程接口socket来应对这些协议。同时可以查看commons-net.jar的源码,发现每个协议的实现类,都继承了SocketClient,依靠socket来处理。所以telnet,ftp,pop3,smtp等协议的操作都是基于socket的,just as http is based on soket。可以这么理解,协议的连接都是使用的socket去连接,只是操作有不同的限定而已。

??闲扯一下:回到socket的问题上,socket属于网络协议层的哪一层?socket 应该算不上是个协议,socket只是网络编程的一个api套件,是一个接口,实际对应应该是应用层与传输层间的一个抽象层。网络分层如下图:

Internet  telnet,ftp下令

?

回到主题上:telnet,和ftp命令

?

这两个命令分别可以远程对系统进行telnet登陆和ftp登陆,两种登陆使用的不同的协议,分别属于两种不同的网络服务。

telnet:

telnet则属于远程登陆服务,也就是说可以登陆到远程系统上,并获得一个解释器权限,拥有解释器就意味着拥有了一定的权限,这种权限可能是基本的文件操作、也可能是可以控制系统的管理员权限。

实际中的例子:如web系统要向应用系统传输一串指令,应用系统接到这串指令后可以进行解析,然后做应该做的业务处理。

?

 TelnetClient tc = new org.apache.commons.net.telnet.TelnetClient();  tc.connect(host, port);    PrintStream out = new PrintStream(tc.getOutputStream());   out.println(command); //;  out.flush(); // 应用系统监听相应的port就可以了。
??

ftp:

ftp是远程文件共享服务,也就是说学习者可以将自己的资料上传、下载,但是它并没有过多的权利,无法在远程电脑上执行上传的文件。简单实践例子。

?

FTPClient ftp = new FTPClient();ftp.connect(serverIP, serverPort);ftp.login(username, pwd);cdOK = ftp.changeWorkingDirectory(remotePath);// 针对ftp协议的特殊借口,遵守一定的规范,而telnet规范是不会有这种操作的。ftp.putFile("D:/20100902.txt", "20100902.txt");// 将本地文件传到serverIP的remotePath目录下,并且命名:20100902.txtftp.disconnect();

?

?

————————————————————————————————————————————————————————————————————————

?

cmd下

-----------------------------

telnet ?xxx.xxx.xxx.xxx 28010

-----------------------------

ftp

open xxxx.xxx.xxx.xxx 21

quit

------------------------------

?

?

?

?

?

?

?

?

?

读书人网 >互联网

热点推荐