免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 27496 | 回复: 28
打印 上一主题 下一主题

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-11-13 10:00 |只看该作者 |倒序浏览
自动输入用户名和密码用于tenlnet的shell, 哈哈

用linux的朋友且经常用配置路由器的可有福了.

今天刚刚完成, 大家多提意见

#===========autotelnet.sh==============
#!/bin/bash
if (( $# != 1 ))
then
  echo " usage: $0 address "
  exit 1
fi
ip=$1
inp1=`cat param |grep "$ip" |awk '{ print $2 }'`
inp2=`cat param |grep "$ip" |awk '{ print $3 }'`
inp3=`cat param |grep "$ip" |awk '{ print $4 }'`

inputfile=in
outputfile=out
rm -fr $inputfile
rm -fr $outputfile
mknod $inputfile p
touch $outputfile

#file description 7 for out and 8 for in
exec 7<>$outputfile
exec 8<>$inputfile

telnet $ip <&8 >&7 &

sleep 1; echo $inp1 >> $inputfile
sleep 1; echo $inp2 >> $inputfile
sleep 1; echo $inp3 >> $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
#==================================


参数文件, 输入在出现正常提示符之前需要输入的所有内容, 用空格分开, 以ip地址或者hostname开头
#=====param============
localhost root password

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

论坛徽章:
0
2 [报告]
发表于 2003-11-13 17:10 |只看该作者

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)

比较大的网络环境用得上,我改一下我那个

论坛徽章:
0
3 [报告]
发表于 2003-11-14 11:25 |只看该作者

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)

能够解释一下吗?如cat param,mknod是什么意思?还有exec 7<>$outputfile
exec 8<>$inputfile telnet $ip <&8 >&7 &



什么意思?

论坛徽章:
0
4 [报告]
发表于 2003-11-14 14:22 |只看该作者

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)

太好了,佩服佩服,这个东东实在是帮了我的大忙阿

论坛徽章:
0
5 [报告]
发表于 2003-11-14 14:55 |只看该作者

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)

能够解释一下吗?如cat param,mknod是什么意思?还有exec 7<>$outputfile
exec 8<>$inputfile telnet $ip <&8 >&7 &

我是这解释一下,说错了别打我啊!

这个例子的原理就是
建立一个管道文件,$inputfile
建立一个临时文件,$outputfile
分别作为 telnet 程序的输入输出。

然后以后再向 $input 中写的东西
就会传递个 telnet 的标准输入。

mknod filename p
用于创建管道文件。

tail -f outputfile
用于不断打印telnet 的输出。

-f 得选项很有用,一个文件
变长了之后,他会自动把文件增加的内容打印出来。
用来调试程序的日志文件输出很好用。

exec 7<>filename

把file descriptor 7 ,做为打开文件 filename 。

以后的子进程都会继承父进程所打开的FD

所以 telnet <&8 >&7 才起作用。

关于 File descriptor 还有输入输出重定向,
在刚刚的网中人和 admirer精华贴中说得非常好。

http://www.chinaunix.net/forum/viewtopic.php?t=191375


叹服于 Unix 中 file, pipe, IO redirect 的设计思想。

简单,易懂,强大。

论坛徽章:
0
6 [报告]
发表于 2003-11-14 14:56 |只看该作者

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)

原帖由 "mouse81" 发表:
能够解释一下吗?如cat param,mknod是什么意思?还有exec 7<>$outputfile
exec 8<>$inputfile telnet $ip <&8 >&7 &



什么意思?



exec 7<>$outputfile         # 定义file descriptor #7
exec 8<>$intputfile          # 定义file descriptior #8
telnet $ip <&8  >&7 &      # 后台运行telnet程序, 以fd 8为输入, 以fd 7 为输出

论坛徽章:
0
7 [报告]
发表于 2003-11-15 10:21 |只看该作者

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)

这个。。这个。。。

我在RehHat 7.1和Cisco路由器上都验证失败

论坛徽章:
0
8 [报告]
发表于 2003-11-15 20:09 |只看该作者

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)

引用 :
tail -f outputfile
用于不断打印telnet 的输出。

我一般自己用的时候不用这句, 我情愿另外开一个窗口作为console, 查看输出 只是不是很方便



各位各取所需吧

论坛徽章:
0
9 [报告]
发表于 2003-11-18 16:55 |只看该作者

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)

不知 in out 是什么

论坛徽章:
0
10 [报告]
发表于 2003-11-19 16:40 |只看该作者

自动输入用户名和密码用于telnet的shell, 哈哈 (原创)

我在SCO下无法运行
请问SCO下这个shell该如何写?
期盼指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP