几种telnet自动登入的程序

一。Windows平台:
复制一下代码到记事本中并另保存为autoTelnet.bat,之后双击运行就实现自动登录到telnet服务器了,服务器IP、用户名、密码自己修改
@echo off
echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "username{ENTER}" >>telnet_tmp.vbs
echo WScript.Sleep 300 >>telnet_tmp.vbs
echo sh.SendKeys "password{ENTER}">>telnet_tmp.vbs
start telnet 192.168.1.200
cscript //nologo telnet_tmp.vbs
del telnet_tmp.vbs

附录:

对于SendKeys这个命令可以send什么,我们可以看下面的列表:

BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER}or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

SHIFT +
CTRL ^
ALT %

二。Linux平台
版本1(测试过未通过,估计需要改改,懒得改了^_^):
保证你的系统上存在expect这个可执行程序,保存以下代码到文件autoTelnet,并给与执行权限。详细操作察看命令expect
#! /bin/bash
set SERVER "192.168.1"
set USER "myusername"
set PASSWD "mypass"
if { $argc } {
spawn telnet $SERVER.$argv
} else {
spawn telnet $SERVER.200
}
expect "Password:"
send "$PASSWD/n"
expect "#"
send "ls/n"
interact

服务器IP、用户名、密码自己修改
版本2(测试可用):
#! /bin/bash
Ip_address="210.32.133.14"
Username="root"
Password="linux"
#Cmd="ls"

#start
#telnet $ip_address
(sleep 1
echo $Username
sleep 1
echo $Password
sleep 1
echo "ls"
sleep 1
echo exit)| telnet $Ip_address


版本3(高级货,可以交互,一般term的雏形了,基本原理就是版本2,加了管道.测试也未通过,要想爽一把,自己改去。)
#===========autotelnet.sh==============
#!/bin/bash
tmptty=`tty` #取得当前的tty值
tmptty=`basename $tmptty` #去掉tty的绝对路径
tmpname=`whoami` #取得当前执行程序的用户名
ip="10.22.33.44" #目标主机地址
inp1="ABC^M" #主机的用户名,注意^M必须在UNIX下重装用以下方法输入才能用!!
#方法为按住ctrl键按v键,不放ctrl键,再按shift键和m键,完成后全部放开
inp2="ABC^M" #主机的密码,注意必须有^M
inp3="ls^M" #其他进入后的命令,可无或用ls之类的命令代替,注意必须有^M
inp4="pwd^M" #命令4,同上
#--------------------------

inputfile=in #导入文件管道用的,不要改,这个值没有任何关系
outputfile=out.log #最终导出的文件
rm -fr $inputfile
rm -fr $outputfile
mknod $inputfile p
touch $outputfile

#file description 7 for out and 8 for in 使用7作为输入管道,8作为输入
exec 7<>$outputfile
exec 8<>$inputfile

telnet $ip <&8 >&7 &

sleep 2; echo $inp1 >> $inputfile #看得懂吧
sleep 2; echo $inp2 >> $inputfile
sleep 2; echo $inp3 >> $inputfile #如果没有其他命令,这行和下一行可以去掉
sleep 2; echo $inp4 >> $inputfile

tail -f $outputfile &  #强制在屏幕上显示任何输入输出

while true #正常情况下已经进入目标主机了,可以输入任何命令,所有的一切输入输出都会被记录
do
read str
if [[ $str = "quit" || $str = "exit" ]]
then echo $str >> $inputfile exit
else echo $str >> $inputfile
fi
done

#退出时自动杀掉相关进程
ps -ef | grep telnet | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh
ps -ef | grep tail | grep -v grep | grep -v telnetd | grep $tmptty | grep $tmpname | awk '{print " kill -9", $2}' | sh

#=================================================== 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值