主机远程连接命令

远程连接命令  时间:2021-04-05  阅读:()
版权所有IBM公司2010商标远程监视主机会话第1页,共9远程监视主机会话构建简单的shell脚本,实时观察主机用户行为OriPomerantz(orip@us.
ibm.
com)技术课程开发人员IBM2010年9月20日用户可以使用3270终端模拟器访问z/OS主机.
在这篇文章中,将学习如何构建简单的UNIX或Linuxshell脚本,利用该脚本通过第二个终端模拟器实时查看主机用户的一举一动.
用户通常通过3270终端模拟器——例如IBMPersonalCommunications(PCOMM是一个主机通信和终端模拟包,提供了3270、5250和VT模拟功能,提供SNA应用程序支持、集成,以及SNA和TCP/IP连接)——连接主机(Systemz).
如果这些用户与支持团队在一个地点,那么支持人员就能容易地帮助他们解决问题.
但是,现在的用户通常分布在不同的地方.
有的是在家里工作的员工,有的是参加在线培训课程(instructor-ledonline,ILO)的学员,所以想通过查看用户的屏幕来帮助他们解决问题通常是不现实的.
在这篇文章中,将学习如何构建一个在UNIX或Linux上运行的简单shell脚本,由这个脚本可以进入3270终端模拟器的用户会话(3270终端模拟器会话是访问z/OS主机会话的入口).
通过该脚本,能够运行第二个终端模拟器,用这个模拟器可以实时地看到用户的一举一动.
首先来看看终端模拟的工作方式.
终端模拟会话的工作方式终端模拟器通常用TCP/IP连接主机.
根据IP地址和端口号来区分会话,IP地址指定了参与会话的计算机,端口号则表示计算机上的程序.
主机上用来侦听终端模拟器的telnet端口是端口23.
developerWorksibm.
com/developerWorks/cn/远程监视主机会话第2页,共9图1.
端口和IP地址图1显示了两台连接到主机的PC.
主机使用IP地址9.
1.
2.
3和端口23.
第一台PC有两个PCOMM实例—一个运行在端口5000上,另一个运行在端口5025上.
第二台PC上运行了一个实例,运行在端口5000上.
因为每个通信都包含源IP地址和源端口,所以主机能够区分这三个不同的连接.
选择的操作系统:Knoppix如果没有使用UNIX或Linux系统,我建议使用Knoppix.
这个Linux版本可以直接从光盘上运行,所以可以在任何PC上运行它,甚至不需要使用PC的硬盘.
在只有256MB内存的老PC上也能运行.
在Knoppix启动后,单击启动命令行窗口的图标,如图2所示:图2.
Knoppix命令行图标要成为系统管理员,请运行sudobash命令.
每次打开新的命令行窗口时都要重新运行它.
多数网络都使用DHCP协议自动分配IP地址.
要检查是否拥有IP地址,请运行以下命令:ipconfigeth0.
如果没有IP地址,就会被分配一个地址以及路由器的地址.
要启动网络功能,请运行以下命令:ipconfigeth0routeadddefaultgw要检验到主机的连接,请运行以下命令:telnet.
如果能够工作,可以使用Ctrl-]退出终端或启动另一个命令行窗口.
如果有必要,可以运行sudobash.
监视单个用户的连接这一节介绍:ibm.
com/developerWorks/cn/developerWorks远程监视主机会话第3页,共9如何设置使用管道的单一代理命令在设置期间做了什么如何添加监视tap使用管道的单一代理第一步是创建一个代理.
我们并不直接连接主机,而是让用户连接到运行Knoppix或其他版本Linux的PC,然后让这台计算机连接到主机(如图3所示):图3.
用户通过代理连接以root用户身份运行以下命令:mknodpc2mfpmknodmf2pcpcatpc2mf|nc23|teetap|teemf2pc&catmf2pc|nc-l-p2300|teemf2pc&现在用3270终端模拟器在2300端口上连接到运行Linux的计算机—应该被重定向到主机.
连接完成之后,应该停止第三行、第四行执行的所有命令.
除非后台运行其他命令,否则可以使用下面的命令执行:kill%1kill%2工作方式前两行命令创造一对先进先出(FIFO)管道.
mknodpc2mfp#ForthestreamgoingfromPCtomainframemknodmf2pcp#ForthestreamgoingfrommainframetoPC第三行:catpc2mf|nc23|teetap|teemf2pc&复杂一些.
它包含四个命令,这四个命令通过管道连接在一起.
这意味着第一个命令的输出是第二个命令的输入;第二个命令的输出是第三个命令的输入;第三个命令的输出是第四个命令的输入.
这有点像在JCL作业中使用PASS关键字将一个作业步骤的输出传递给另一个作业作为输入:catpc2mf从管道读入从PC到主机的数据流.
nc23打开到主机的TCP连接,并将管道的输出发送到该连接.
主机的输出然后进入下一部分,teetap.
tee命令的功能是作为T管道,将输入(主机的输出)发送到下一条命令和称为tap的文件.
后面在监视的时候将使用这个文件.
developerWorksibm.
com/developerWorks/cn/远程监视主机会话第4页,共9teemf2pc将主机的输出发送到mf2pc管道.
它的末尾有一个&符号,告诉计算机在用户执行其他操作的时候,在后台运行该命令.
第四行与第三行类似:catmf2pc|nc-l-p2300|teemf2pc&catmf2pc命令读取从主机到终端模拟器的流.
nc-l-p2300命令侦听TCP端口2300.
如果程序(例如终端模拟器)连接到该端口,就会通过该连接得到来自主机的流.
发送到该连接的任何内容都会转到下一个程序……teepc2mf则将内容放到第三行命令要检索的管道内.
图4演示了这个过程.
图4.
简单代理添加监视tap来自主机的输出还要发送到称为tap的文件内.
因为流的格式是EBCDIC而非ASCII,所以在Linux上没有方便的方法可以查看它.
但是,在停止代理之后,可以运行下面这些命令重新启动一个可以从另一个3270终端模拟器访问的tap:rm-ftapmknodtappcatpc2mf|nc23|teetap|teemf2pc&catmf2pc|nc-l-p2300|teemf2pc&cattap|nc-l-p2301&前两行删除现有的tap文件,并用另一个FIFO管道代替它.
第三和第四行运行简单代理,就像前面的代码示例中做的那样.
最后一行读取来自tap的信息,并将信息发送到nc-l-p2301,它将侦听TCP端口2301.
如果程序(例如终端模拟器)连接到端口2301,就会通过连接得到主机截取的流.
但是,它发送回来的内容会被发送到执行该命令的命令提示符.
图5演示了安装了该tap的代理.
ibm.
com/developerWorks/cn/developerWorks远程监视主机会话第5页,共9图5.
带有监视tap的简单代理使用同一个TCP端口的多个连接前面的解决方案能够工作,但是它要求每个用户连接到不同的端口,还需要手动分配端口.
更好的解决方案应该能用一个TCP端口服务多个用户.
清单1的解决方案使用了称为proxy.
sh的shell脚本:清单1.
Shell脚本proxy.
sh支持一个端口上的多个连接#!
/bin/sh#Runanothernctolistenforthenextconnectionnc-l-p2300-c.
/proxy.
sh&#Createapipeforthetaptap=/tmp/proxy.
sh.
$$mknod$tapp#Startthetapconnectioncat$tap|nc-l-p$$&echoConnectionfrom`date`tappedatport$$>>taplist#Becausethisscriptisexecutedbync,theinputandoutput#arealreadytheTCPconnectiontotheuser.
Usenctoconnect#tothemainframenc23|tee$tap用chmod+xproxy.
sh将脚本设为可执行,并用nc-l-p2300-c.
/proxy.
sh执行脚本.
每次用户连接代理上的端口2300时,用户都会连接到主机,并打开一个新端口来监视用户.
为了得到端口的值,要查询文件taplist.
该文件中将包含连接和端口的日期和时间.
如果您希望监视的连接之后再没有生成用户连接,那么该连接就是文件的最后一行.
第一行第一行#!
/bin/sh告诉操作系统,本文件是脚本文件,需要用/bin/sh程序(也称为shell)解释.
其他以#字符开始的行是注释,执行时将被忽略.
developerWorksibm.
com/developerWorks/cn/远程监视主机会话第6页,共9侦听连接在使用命令行参数-l-p-c执行nc时,nc将一直等待,直到在该端口上接收到连接,然后执行指定的命令.
来自TCP连接的流是命令的标准输入,命令的标准输出通过TCP连接发送回去.
因为nc在接收到连接并执行proxy.
sh时会停止侦听端口,所以脚本做的第一件事是启动另一个nc实例继续作同样的事:nc-l-p2300-c.
/proxy.
sh&.
&表示这个命令将在后台执行,在完成之前不会停止脚本.
创建tap因为可能同时运行这个脚本的多个实例,所以需要为每个实例创建独立的FIFO管道.
为了区分不同的管道,脚本使用了$$,它指的是当前的进程ID(也称为pid).
同时运行的对同一个脚本的多个调用将使用不同的进程ID.
#Createapipeforthetaptap=/tmp/proxy.
sh.
$$mknod$tapp第一行是个注释.
第二行将变量tap的值设为/tmp/proxy.
sh.
.
实际上是管道的文件名.
在第三行,$tap由前一行生成的变量的值代替.
这与启动作业的用户在JCL作业中使用&SYSUID类似.
tap连接下一步是创建用来监视用户的tap连接.
#Startthetapconnectioncat$tap|nc-l-p$$&echoConnectionfrom`date`tappedatport$$>>taplist第一行还是注释.
第二行与前面创建的单连接代理中的tap类似,不过有两个区别:管道的名称是$tap.
用来监视用户的端口号不能是常数,因为脚本会同时在多个实例中运行.
一次只有一个进程能侦听特定端口.
所以监视用户需要连接到与proxy.
sh实例的pid相同的端口号.
这个解决方案带来一个新问题.
监视器如何知道要连接的端口号第三行就是用来解决这一问题的.
echo命令接受从命令行得到的参数,并将参数写进输出.
>>taplist部分将命令的输出附加到文件taplist末尾.
多数消息都是这样写入taplist的,但有两个部分将进行解释:`date`和$$.
如果shell脚本的某一部分用单引号(也称为重单符)括起来,那么将执行这个部分并将结果放在该命令行内.
在上面的代码中,`date`执行date命令,报告当前日期和时间,然后将得到的日期和时间放在消息内.
$$的功能同往常一样:pid,也作为监视用户的端口号.
主机连接脚本的最后一部分连接到主机.
因为脚本的输入和输出已经连接到用户的终端模拟器,所以这一部分就非常简单.
ibm.
com/developerWorks/cn/developerWorks远程监视主机会话第7页,共9#Becausethisscriptisexecutedbync,theinputandoutput#arealreadytheTCPconnectiontotheuser.
Usenctoconnect#tothemainframenc23|tee$tap在在线培训课程中使用代理要在在线培训课程上使用这个系统,请在网络上配置一个Knoppix代理,然后让学员连接到代理.
教师随后可以根据需要打开任意多个终端模拟器实例以监视学员的活动,并最小化它们.
如果学员练习时发现问题,教师可以通过查看相应的终端模拟器了解学员的操作.
每次学员按回车时,他的终端模拟器输出就会与教师的模拟器同步.
如果教师不知道哪个终端模拟器窗口与该学员对应,可以要求学员输入特定形式的关键字,然后查看哪个窗口显示了该关键字.
图6.
带有监视tap的代理developerWorksibm.
com/developerWorks/cn/远程监视主机会话第8页,共9参考资料学习您可以参阅本文在developerWorks全球站点上的英文原文.
"LinuxShellScriptingTutorialv1.
05r3:ABeginner'shandbook"是适合初学者的一份有关shell脚本编程的详尽指南.
请参阅Daryl'sTCP/IPPrimer中的TCP连接说明.
请运行man或参阅Linuxmanpages以学习各种可用的Linux命令.
在developerWorksLinux专区可以找到面向Linux开发人员的更多资源,请浏览我们的最受欢迎的文章和教程.
浏览developerWorks上的全部Linux技巧和Linux教程.
随时关注developerWorks技术事件和Webcasts.
获得产品和技术使用能够直接从developerWorks下载的IBM试用软件构建下一个Linux开发项目.
讨论通过新的developerWorks空间上的博客、论坛、podcast和社区主题参与developerWorks社区ibm.
com/developerWorks/cn/developerWorks远程监视主机会话第9页,共9关于作者OriPomerantz从1995年起,OriPomerantz一直从事计算机网络防护工作—并教其他人做同样的事情.
从2003年加入IBM起,他为多个Tivoli产品编写了教程,还撰写了一本关于RACF的书,书名为MainframeBasicsforSecurityProfessionals.
版权所有IBM公司2010(www.
ibm.
com/legal/copytrade.
shtml)商标(www.
ibm.
com/developerworks/cn/ibm/trademarks/)

欧路云:美国200G高防云-10元/月,香港云-15元/月,加拿大480G高防云-23元/月

欧路云 主要运行弹性云服务器,可自由定制配置,可选加拿大的480G超高防系列,也可以选择美国(200G高防)系列,也有速度直逼内地的香港CN2系列。所有配置都可以在下单的时候自行根据项目 需求来定制自由升级降级 (降级按天数配置费用 退款回预存款)。由专业人员提供一系列的技术支持!官方网站:https://www.oulucloud.com/云服务器(主机测评专属优惠)全场8折 优惠码:zhuji...

2022年最新PHP短网址生成系统/短链接生成系统/URL缩短器系统源码

全新PHP短网址系统URL缩短器平台,它使您可以轻松地缩短链接,根据受众群体的位置或平台来定位受众,并为缩短的链接提供分析见解。系统使用了Laravel框架编写,前后台双语言使用,可以设置多域名,还可以开设套餐等诸多功能,值得使用。链接: https://pan.baidu.com/s/1ti6XqJ22tp1ULTJw7kYHog?pwd=sarg 提取码: sarg文件解压密码 www.wn7...

ZJI:香港物理服务器,2*E5-2630L/32G/480G SSD/30Mbps/2IP/香港BGP,月付520元

zji怎么样?zji是一家老牌国人主机商家,公司开办在香港,这个平台主要销售独立服务器业务,和hostkvm是同一样,两个平台销售的产品类别不一平,商家的技术非常不错,机器非常稳定。昨天收到商家的优惠推送,目前针对香港邦联四型推出了65折优惠BGP线路服务器,性价比非常不错,有需要香港独立服务器的朋友可以入手,非常适合做站。zji优惠码:月付/年付优惠码:zji 物理服务器/VDS/虚拟主机空间订...

远程连接命令为你推荐
对对塔今儿老师给推荐了一个叫对对塔的学习网站,看起来挺不错的,有用过的人吗?管不管用?哪些功能比较好啊?留学生认证留学生服务中心认证内容和范围?广东GDP破10万亿__年,我国国内生产总值(GDP)首破10万亿元.目前,我国经济总量排名世界第___位?冯媛甑谁知道怎么找到冯媛甄的具体资料?同ip站点同IP做同类站好吗?qq530.com求教:如何下载http://www.qq530.com/ 上的音乐haole10.com空人电影网改网址了?www.10yyy.cn是空人电影网么抓站工具一起来捉妖神行抓妖辅助工具都有哪些?杨丽晓博客杨丽晓哪一年出生的?bbs2.99nets.com让(bbs www)*****.cn进入同一个站
花生壳域名 域名拍卖 北京租服务器 域名商 a2hosting arvixe yardvps 狗爹 gomezpeer suspended 网通代理服务器 元旦促销 e蜗 个人域名 网络空间租赁 免费申请网站 免费申请个人网站 cdn加速是什么 umax120 国外ip加速器 更多