如何简单的远程登陆别人的电脑?

如何简单的远程登陆别人的电脑?,第1张

分类: 电脑/网络
解析:

Tel是进行远程登录的标准协议和主要方式它为用户提供了在本地计算机上完成远程主机工作的能力。通过使用Tel,Inter用户可以与全世界许多信息中心图书馆及其它信息资源联系。Tel远程登录的使用主要有两种情况。第一种是用户在远程主祝上有自己的帐号(Account),即用户拥有注册的用户名和口令;第二种是许多Inter主机为用户提供了某种形式的公共Tel信息资源,这种资源对于每一个Tel用户都是开放的。Tel是使用最为简单的Inter工具之一。

tel /

命令可以缩写。支持的命令为:

c- 关闭 关闭当前连接
d- 显示 显示 *** 作参数

o- 打开主机名 [端口]连接到一个主机名(默认端口 23)

q- 退出 退出 tel

set- 设置 设置选项(要列表,请键入 \'set \')

sen- 发送 将字符串送到服务器

st - 状态 打印状态信息

u- 解除设置 解除设置选项(要列表,请键入 \'unset \')

/h- 帮助 打印帮助信息

一 摘要

二 远程登录

三 Tel协议

四 Win2000的Tel服务

五 在tel中该做什么

一 摘要

Tel的应用不仅方便了我们进行远程登录,也给hacker们提供了又一种入侵手段和后门,但无论如何,在你尽情享受Tel所带给你的便捷的同时,你是否真正的了解Tel呢?

二 远程登录

Tel服务虽然也属于客户机/服务器模型的服务,但它更大的意义在于实现了基于Tel协议的远程登录(远程交互式计算),那么就让我们来认识一下远程登录。

1 远程登陆的基本概念

先来看看什么叫登录:分时系统允许多个用户同时使用一台计算机,为了保证系统的安全和记帐方便,系统要求每个用户有单独的帐号作为登录标识,系统还为每个用户指定了一个口令。用户在使用该系统之前要输入标识和口令,这个过程被称为\'登录\'。

远程登陆是指用户使用Tel命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。

2 远程登陆的产生及发展

我们可以先构想一个提供远程文字编辑的服务,这个服务的实现需要一个接受编辑文件请求和数据的服务器以及一个发送此请求的客户机。客户机将建立一个从本地机到服务器的TCP连接,当然这需要服务器的应答,然后向服务器发送键入的信息(文件编辑信息),并读取从服务器返回的输出。以上便是一个标准而普通的客户机/服务器模型的服务。

似乎有了客户机/服务器模型的服务,一切远程问题都可以解决了。然而实际并非你想象的那样简单,如果我们仅需要远程编辑文件,那么刚才所构想的服务完全可以胜任,但假如我们的要求并不是这么简单,我们还想实现远程用户管理,远程数据录入,远程系统维护,想实现一切可以在远程主机上实现的 *** 作,那么我们将需要大量专用的服务器程序并为每一个可计算服务都使用一个服务器进程,随之而来的问题是:远程机器会很快对服务器进程应接不暇,并淹没在进程的海洋里(我们在这里排除最专业化的远程机器)。

那么有没有办法解决呢?当然有,我们可以用远程登录来解决这一切。我们允许用户在远地机器上建立一个登录会话,然后通过执行命令来实现更一般的服务,就像在本地 *** 作一样。这样,我们便可以访问远地系统上所有可用的命令,并且系统设计员不需提供多个专用地服务器程序。

问题发展到这里好像前途一片光明了,用远程登录总应该解决问题了吧,但要实现远程登陆并不简单。不考虑网络设计的计算机系统期望用户只从直接相连的键盘和显示器上登录,在这种机器上增加远程登陆功能需要修改机器的 *** 作系统,这是极其艰巨也是我们尽量避免的。因此我们应该集中力量构造远程登陆服务器软件,虽然这样也是比较困难的。为什么说这样做也比较困难呢?

举个例子来说:一般, *** 作系统会为一些特殊按键分配特殊的含义,比如本地系统将\'Ctrl+C\'解释为:\'终止当前运行的命令进程\'。但假设我们已经运行了远程登陆服务器软件,\'Ctrl+C\'也有可能无法被传送到远地机器,如果客户机真的将\'Ctrl+C\'传到了远地机器,那么\'Ctrl+C\'这个命令有可能不能终止本地的进程,也就是说在这里很可能会产生混乱。而且这仅仅是遇到的难题之一。

但尽管有技术上的困难,系统编程人员还是设法构造了能够应用于大多数 *** 作系统的远程登陆服务器软件,并构造了充当客户机的应用软件。通常,客户机软件取消了除一个键以外的所有键的本地解释,并将这些本地解释相应的转换成远地解释,这就使得客户机软件与远地机器的交互,就如同坐在远程主机面前一样,从而避免了上述所提到的混乱。而那个唯一例外的键,可以使用户回到本地环境。

将远程登陆服务器设计为应用级软件,还有另一个要求,那就是需要 *** 作系统提供对伪终端(pseudo terminal)的支持。我们用伪终端描述 *** 作系统的入口点,它允许像Tel服务器一样的程序向 *** 作系统传送字符,并且使得字符像是来自本地键盘一样。只有使用这样的 *** 作系统,才能将远程登陆服务器设计为应用级软件(比如Tel服务器软件),否则,本地 *** 作系统和远地系统传送将不能识别从对方传送过来的信息(因为它们仅能识别从本地键盘所键入的信息),远程登陆将宣告失败。

将远程登陆服务器设计为应用级软件虽然有其显著的优点:比将代码嵌入 *** 作系统更易修改和控制服务器。但其也有效率不高的缺点(后面的内容将会给予解释),好在用户键入信息的速率不高,这种设计还是可以接受的。

3 远程登录的工作过程

使用Tel协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含Tel协议的客户程序;必须知道远程主机的Ip地址或域名;必须知道登录标识与口令。

Tel远程登录服务分为以下4个过程:

1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;

2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报;

3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;

4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。

上面的内容只是讨论了远程登陆最基本的东西,其中的复杂和编程人员的艰辛是我们难以想象的,不知道你在舒服的使用Tel的同时,是否想到了这些!

三 Tel协议

我们知道Tel服务器软件是我们最常用的远程登录服务器软件,是一种典型的客户机/服务器模型的服务,它应用Tel协议来工作。那么,什么是Tel协议?它都具备哪些特点呢?

1 基本内容

Tel协议是TCP/IP协议族中的一员,是Inter远程登陆服务的标准协议。应用Tel协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:

1)Tel定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统,他们只需构造使用标准接口的程序;

2)Tel包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;

3)Tel对称处理连接的两端,即Tel不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

2 适应异构

为了使多个 *** 作系统间的Tel交互 *** 作成为可能,就必须详细了解异构计算机和 *** 作系统。比如,一些 *** 作系统需要每行文本用ASCII回车控制符(CR)结束,另一些系统则需要使用ASCII换行符(LF),还有一些系统需要用两个字符的序列回车-换行(CR-LF);再比如,大多数 *** 作系统为用户提供了一个中断程序运行的快捷键,但这个快捷键在各个系统中有可能不同(一些系统使用CTRL+C,而另一些系统使用ESCAPE)。如果不考虑系统间的异构性,那么在本地发出的字符或命令,传送到远地并被远地系统解释后很可能会不准确或者出现错误。因此,Tel协议必须解决这个问题。

为了适应异构环境,Tel协议定义了数据和命令在Inter上的传输方式,此定义被称作网络虚拟终端NVT(Net Virtual Terminal)。它的应用过程如下:

对于发送的数据:客户机软件把来自用户终端的按键和命令序列转换为NVT格式,并发送到服务器,服务器软件将收到的数据和命令,从NVT格式转换为远地系统需要的格式;

对于返回的数据:远地服务器将数据从远地机器的格式转换为NVT格式,而本地客户机将将接收到的NVT格式数据再转换为本地的格式。

对于NVT格式的详细定义,有兴趣的朋友可以去查找相关资料。

3 传送远地命令

我们知道绝大多数 *** 作系统都提供各种快捷键来实现相应的控制命令,当用户在本地终端键入这些快捷键的时候,本地系统将执行相应的控制命令,而不把这些快捷键作为输入。那么对于Tel来说,它是用什么来实现控制命令的远地传送呢?

Tel同样使用NVT来定义如何从客户机将控制功能传送到服务器。我们知道USASCII字符集包括95个可打印字符和33个控制码。当用户从本地键入普通字符时,NVT将按照其原始含义传送;当用户键入快捷键(组合键)时,NVT将把它转化为特殊的ASCII字符在网络上传送,并在其到达远地机器后转化为相应的控制命令。将正常ASCII字符集与控制命令区分主要有两个原因:

1)这种区分意味着Tel具有更大的灵活性:它可在客户机与服务器间传送所有可能的ASCII字符以及所有控制功能;

2)这种区分使得客户机可以无二义性的指定信令,而不会产生控制功能与普通字符的混乱。

需要准备的材料分别是:电脑。

设置服务器可以远程桌面连接的具体步骤如下:

1、首先,打开电脑,右键单击计算机选择打开“属性”并点击即可,如下图所示。

2、接下来,进入计算机属性页后,单击左侧的“远程设置”,如下图所示。

3、然后,输入远程设置页,查找“允许运行任何版本”,再单击“确定”,就可以退出了,如下图所示。

4、接下来,在另一台远程控制计算机上,按Win+R打开一个小的运行窗口,然后在框中输入mstsc,如下图所示。

5、然后,在d出的页面中,在“计算机”框中输入远程 *** 作的IP,再单击“显示选项”,如下图所示。

6、接下来,找到“本地资源”选项卡,然后在本地设备和资源中找到“详细信息”,就可以单击进入了,如下图所示。

7、最后,在连接界面,选中“驱动器”远程控制服务器,访问当前计算机的磁盘,单击[确认],然后单击[连接]就可以启动远程服务器了,如下图所示。

NAS: 网络连接存储设备 (英语: N etwork  A ttached  S torage,缩写: NAS ) [1] ,是一种专门的 数据存储 技术的名称,它可以直接连接在 计算机网络 上面,对 异质网络 用户提供了集中式数据访问服务。NAS设备上面的 *** 作系统 和软件只提供了数据存储、数据访问、以及相关的管理功能;此外,NAS设备也提供了不止一种文件传输协议。

NAS用的是以文件为单位的通信协议,例如像是 NFS (在 UNIX 系统上很常见)或是 SMB (常用于 Windows 系统)。

NAS从两方面改善了数据的可用性:

即使相应的应用服务器不再工作了,仍然可以读出数据。

简易服务器本身不会崩溃,因为它避免了引起服务器崩溃的首要原因,即应用软件引起的问题。

NAS产品具有的优点包括:

NAS产品是真正即插即用产品。NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合UNIX/Windows NT局域网内。

NAS设备的物理位置同样是灵活的,它们可放置在工作组内,靠近数据中心的应用服务器,或者也可放在其他地点,通过物理链路与网络连接起来。无需应用服务器的干预,NAS设备允许用户在网络上存储数据,这样既可减小CPU的开销,也能显著改善网络的性能。

NAS使用状况

NAS可让数据的使用率提升,主要的原因在于数据无需依附在服务器上,用户不会因为服务器关闭而无法使用数据,因为用户链接的是NAS。 NAS也让数据管理变得轻松及简单,让原本需要在服务器上进行的繁复设置程序,简化成几个步骤就可完成,大大的节省设置时间。

NFS: 网络文件系统 (英语: Network File System ,缩写作  NFS )是一种 分布式文件系统 协议

NAS是存储类型,存储架构;NFS是网络协议,也可以认为是文件系统。
SFTP: SSH文件传输协议 (英语: SSH File Transfer Protocol )安全文件传送协议,提供 文件访问 、传输和管理功能的 网络传输协议 。

FTP是用来对文件进行拷贝、传输;NFS可以对文件进行“读”和“写”。

如何用java 5分钟实现一个最简单的mysql代理服务器
首先,准备开发工具套件,我们并不会引入过多工具包,仅仅需要:
java8
vertx 3
如果你是用maven做为项目管理工具,请将vertx 3引入:
1
2
3
4
5
<dependency>
<groupId>iovertx</groupId>
<artifactId>vertx-core</artifactId>
<version>332</version>
</dependency>
代码实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package
commaxleapmysqlproxy;
import
iovertxcoreAbstractVerticle;
import
iovertxcoreVertx;
import
iovertxcoreloggingLogger;
import
iovertxcoreloggingLoggerFactory;
import
iovertxcorenetNetClient;
import
iovertxcorenetNetServer;
import
iovertxcorenetNetSocket;
/

@author sneaky

@since 100
/
public
class
MysqlProxyServer
{
private
static
final
Logger
logger
=
LoggerFactorygetLogger(MysqlProxyServerclass);
public
static
void
main(String[]
args)
{
Vertxvertx()deployVerticle(new
MysqlProxyServerVerticle());
}
public
static
class
MysqlProxyServerVerticle
extends
AbstractVerticle
{
private
final
int
port
=
3306;
private
final
String
mysqlHost
=
"101006";
@Override
public
void
start()
throws
Exception
{
NetServer
netServer
=
vertxcreateNetServer();//创建代理服务器
NetClient
netClient
=
vertxcreateNetClient();//创建连接mysql客户端
netServerconnectHandler(socket
->
netClientconnect(port,
mysqlHost,
result
->
{
//响应来自客户端的连接请求,成功之后,在建立一个与目标mysql服务器的连接
if
(resultsucceeded())
{
//与目标mysql服务器成功连接连接之后,创造一个MysqlProxyConnection对象,并执行代理方法
new
MysqlProxyConnection(socket,
resultresult())proxy();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13510922.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-22
下一篇 2023-08-22

发表评论

登录后才能评论

评论列表(0条)

保存