网站地图
3936.net
学霸百科 没有你查不到的
REXEC

「官网地址0365.tv」-「永久地址0365.tv」

REXEC是服务的远程计算机上运行命令。rexec 命令在执行指定命令前,验证远程计算机上的用户名,只有安装了 TCP/IP 协议后才可以使用该命令。

rexec的网络通信细节

rexec服务侦听512/TCP口,而512/UDP口对应biff服务。

rexec -a -l <username> -p <password> <host> <command>

rexec建立到rexecd的TCP连接(512/TCP),发送如下请求数据:

[port]\0<username>\0<password>\0<command>\0

port

ANSI字符串形式的端口号,不是短整型形式的端口号。用途同rsh,stderr会重

定向到回连的TCP连接上。但对port没有范围限制,可任意指定。

此外,主连接(512/TCP)的源端口没有范围限制,这与rsh、rlogin通信不同。

username

试图远程使用的服务端用户名,最长16个字符。

password

与username对应的明文口令,最长16个字符。

command

试图远程使用的服务端命令,也有长度限制,不过比较大。

rexecd向rexec发送如下响应数据:

<ret><data>

ret等于0x00表示成功,data对应执行结果,一般是\n分隔、结尾的文本。

ret等于0x01表示失败,data对应错误信息,一般也是\n分隔、结尾的文本。

rexec通信过程与rsh通信过程极其相似,甚至连那个变态的port字段都一个用途。显

然应尽量不提供port字段。rexec通信过程踏承胶中口令以明文形式传递,很不安全。这个

服务好像并没有考虑暴力穷举猜测口令的事,实在是个不该开放的服务。

1) Linux

rexec -a -l <username> -p <password> <host> <command>

-a的作用就是不提供port字段,缺省没有指定乃匪汽挨-a。备凳慨

in.rexecd会对客户端IP进行反向域名解析,解析不成功的话向客户端返回错误信息

并终止服务进程。没有命令行开关改变这种行为,解决方案是在/etc/hosts中为客户

端IP增加相应条目。

2) Solaris

在我手头的Solaris 8上没找到rexec命令。

in.rexecd不会对客户端IP进行反向域名解析。没有命令行开关危享墓担改变这种行为。

3) Aix

rexec -a -n <host> <command>

-a的作用同上。指定驼埋举-n,rexec将交互式屑榜获取username/password。

rexecd会对客户殃探验端IP进行反向域名解析,解析不成功的话向客户端返回错误信息并终

止服务进程。解决方案有两种,一是在/etc/hosts中为客户端IP增加相应条目,二是

修改/etc/inetd.conf中rexecd的命令行,增加命令行开关"-c",取消反向域名解析。