如何快速的执行 telnet 命令 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lylover
V2EX    PHP

如何快速的执行 telnet 命令

  •  
  •   lylover 2016-03-28 08:38:46 +08:00 4093 次点击
    这是一个创建于 3501 天前的主题,其中的信息可能已经有所发展或是发生改变。

    每次程序执行命令需要先 telnet 进设备 然后再执行命令 整个过程需要 4 秒 时间有一些长

    能否实现程序保留一个 telnet 界面在那里 当需要执行命令的时候 直接在保持的 telnet 界面里 打入命令 而节约 telnet 连接进设备的时间

    15 条回复    2016-03-28 21:38:20 +08:00
    jasontse
        1
    jasontse  
       2016-03-28 08:52:36 +08:00 via iPad
    看了 lz 的发帖记录,是要做个 Looking Glass ?
    ChiChou
        2
    ChiChou  
       2016-03-28 09:30:50 +08:00
    不现实。即使在后台维护一个活动的 telnet 会话, telnet 服务端会因为长时间没有交互而主动断开(除非不停的输入命令当“心跳”)
    clino
        3
    clino  
       2016-03-28 09:36:21 +08:00
    这个是想要用 php 来实现吗?
    lylover
        4
    lylover  
    OP
       2016-03-28 10:40:10 +08:00
    @clino 是的 想用 php


    @ChiChou 可以定时发送一个命令 或者回车一下
    lylover
        5
    lylover  
    OP
       2016-03-28 10:42:13 +08:00
    @jasontse 不是 Looking Glass 是要定时操作静态路由
    shiji
        6
    shiji  
       2016-03-28 11:10:31 +08:00
    我猜测:
    用 swoole 那种东西在后台 php 像服务一样持续运行(并保持 telnet 的持续连接),每当有新的指令时,通过 web 服务器的提交命令给后台 swoole 执行。

    swoole 像服务一样,会一直运行直到你停止它。
    传送指令的那个可以是 PHP ,就是普通的 mod_php 或者 php-fpm ,从 web 请求开始运行到传送结束结束。
    hrong
        7
    hrong  
       2016-03-28 11:21:08 +08:00 via Android
    正确的做法是把那个命令公开为 web 服务,但一般人都不愿意折腾
    其它答案见前面的回帖
    lylover
        8
    lylover  
    OP
       2016-03-28 12:07:12 +08:00
    @shiji 大概意思是这样
    这样可以节约 telnet 连接时间
    ayouwei
        9
    ayouwei  
       2016-03-28 17:10:46 +08:00
    改用 rsync 不好么?
    lylover
        10
    lylover  
    OP
       2016-03-28 17:52:22 +08:00
    @ayouwei 是同步文件的吧 也能执行操作吗
    ayouwei
        11
    ayouwei  
       2016-03-28 19:42:47 +08:00
    @lylover
    我理解成你是用 telnet 来上传 /下载文件,
    如果是 telnet 执行操作,对于服务器完全可以放弃 telnet.
    对于网络设备或其它,自动化处理 snmp 读 /netconf 写要用更普遍.
    xuboying
        12
    xuboying  
       2016-03-28 20:14:35 +08:00 via Android
    可以的,你用 Python 或者 perl 一类脚本语言的 telnet 模块连 server ,再监听一个端口,让真正的 telenet 客户端连,脚本做包转发,很容易
    lylover
        13
    lylover  
    OP
       2016-03-28 20:27:07 +08:00
    @ayouwei 我是需要写入
    @xuboying 这种的方式一般能几秒执行完
    xuboying
        14
    xuboying  
       2016-03-28 21:36:02 +08:00
    @lylover 包转发是双向的呀。
    xuboying
        15
    xuboying  
       2016-03-28 21:38:20 +08:00
    @lylover 这种方式只要脚本后台再 screen 或 tmux 里执行着,你的真实 telnet 客户端可以随时连上再断开,和服务器的握手延迟没关系啊

    如果你搞不定自己写的脚本,你可以用商业的 securecrt ,它也能把 session 共享出来
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3052 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 12:37 PVG 20:37 LAX 05:37 JFK 08:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86