中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何以批处自动登入oracle server (telnet)
作者:
标题: 如何以批处自动登入oracle server (telnet) 上一主题 | 下一主题
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『楼 主』:  如何以批处自动登入oracle server (telnet)

我又发现了一个问题, 是我要登入server,然后用tail log |grep location > /temp/log.txt
跟着用ftp 找下来, 问题来了, 用以下可以自动登入oracle 和登出

echo open %1>temp.ftp
echo user operator operator123>>temp.ftp
echo get /tmp/log.txt>>temp.ftp
echo close>>temp.ftp
echo bye>>temp.ftp
ftp -n -s:temp.ftp

但以下这个就要以人手登入, 无法自动化
> grepdata srv1
telnet %1
login operator operator123
tail log |grep location > /temp/log.txt
bye
pause

各位,请问可以帮我吗?

[ Last edited by xmi on 2008-2-21 at 08:24 PM ]

2008-2-20 14:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 2 楼』:  

TELNET不能读文件。换NC去.

2008-2-20 17:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:  

VBS的SendKeys能否满足要求?
'假设主机地址是ABC
'假设用户名是DEF
'假设密码是GHI
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "telnet ABC"
WScript.Sleep(5000)
WshShell.SendKeys "DEF{enter}"
WScript.Sleep(1000)
WshShell.SendKeys "GHI{enter}"
'需要执行什么命令就SendKeys


2008-2-20 19:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by HAT at 2008-2-20 07:13 PM:
VBS的SendKeys能否满足要求?

[code]
'假设主机地址是ABC
'假设用户名是DEF
'假设密码是GHI
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "tel ...

是不是這樣?
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "telnet oracle"
WScript.Sleep(5000)
WshShell.SendKeys "tail log |grep location > /temp/log.txt{enter}"
WScript.Sleep(1000)
WshShell.SendKeys "bye{enter}"
'需要執行什麼命令就SendKeys

sleep(5000) ---->停5000秒?

[ Last edited by xmi on 2008-2-21 at 10:00 PM ]

2008-2-21 12:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by knoppix7 at 2008-2-20 05:04 PM:
TELNET不能读文件。换NC去.

請問什麼是nc? 我只懂簡單的bat......:(

2008-2-21 12:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 6 楼』:  

NetCat.
自己GOOGLE之

2008-2-21 13:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by knoppix7 at 2008-2-21 01:02 PM:
NetCat.
自己GOOGLE之

多謝... 我試一試.....

2008-2-21 13:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by HAT at 2008-2-20 07:13 PM:
VBS的SendKeys能否满足要求?

[code]
'假设主机地址是ABC
'假设用户名是DEF
'假设密码是GHI
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "tel ...

HAT兄, 我試過了, 成功!....以下是我的code:

  Quote:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "telnet oracle"
WScript.Sleep(5000)
WshShell.SendKeys "operator{enter}"
WScript.Sleep(5000)
WshShell.SendKeys "password{enter}"
WScript.Sleep(5000)
WshShell.SendKeys "tail log |grep location > /temp/log.txt{enter}"
WScript.Sleep(1000)
WshShell.SendKeys "exit{enter}"
'需要執行什麼命令就SendKeys

成功了! 但就是又有一問題, 我想問如個server名每次都不一樣, 可以再告之可如何更改......

如: 個看到file是123.oracle ---- 那這個就> telnet oracle
                     123.abc    ---- 那這個就> telnet abc

簡單的說如要telnet後是可變數.....

謝謝....

[ Last edited by xmi on 2008-2-22 at 04:27 PM ]

2008-2-22 13:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 9 楼』:  

有人可以教我嗎?
我試過以變數輸入,但不成功...:(

>sendkeys abc

coding

  Quote:
Set WshShell = CreateObject("WScript.Shell")
a=%1
WshShell.Run "telnet %1"
WScript.Sleep(1000)
WshShell.SendKeys "operator{enter}"
WScript.Sleep(1000)
WshShell.SendKeys "password{enter}"
WScript.Sleep(5000)
WshShell.SendKeys "tail log |grep location > /temp/log.txt{enter}"
WScript.Sleep(5000)
WshShell.SendKeys "exit{enter}"



2008-2-24 18:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 10 楼』:  

NC.exe IP 端口<命令文件

2008-2-24 18:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 11 楼』:  

我在這兒http://netcat.sourceforge.net/download.php下載了這個netcap, 我看了也不懂. 請問你用那一個版本?

2008-2-24 18:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 12 楼』:  

http://www.esnips.com/doc/32a796a8-181f-44fe-9036-3460995dc893/NC

2008-2-24 19:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 13 楼』:  

下載了師兄的文件. 謝謝.
我試了在網上找一些教學指南, 在這兒http://hedong.3322.org/archives/000335.html 有著一些指導, 但它寫著:

  Quote:
三.telnet服务器
nc有一个-e的选项,用来指定在连接后执行的程序.
在windows平台上可以指定-e cmd.exe[winxp,win2000,]如果是98就指定command.exe.linux则指定-e bash,或者任何你喜欢的shell,或者是你自己编写的程序,通常是做为后门:p
指定-e的效果是由你指定的程序代替了nc自己来接受另一端的输入,并把输入(命令)后反馈的结果显示到另一端.
server: nc -l -p 1234 -e bash
client: nc 192.168.0.1 1234 就可以远程登陆server了
其实我们不一定非要在server端指定-e,也可以在client端指定.
server: nc -l -p 1234
client: nc -e 192.168.0.1 1234 .这样,就相当于在server上远程登陆client了.我前面说过,有关client和server的区分是没有什么意义的.谁做为telnet server的标准只有一个,谁执行了-e [shell].

好像是要在server和client都要做個動作, 但我只在win2000下telnet到server, 不能在server那兒set個port的..

另也在http://www.hackhome.com/InfoView/Article_30398.html看到
  绑定端口等待连接:
  nc -l -p port [-options] [hostname] [port]
  参数:
  -e prog 程序重定向,一旦连接,就执行
  [危险!!]

那這個nc命令是不是很危險的?可否請告知這個如蠢的我.

2008-2-24 21:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 14 楼』:  

网上nc的资料一搜一大把的,看了后多试试就试出来了哦

2008-2-25 01:54
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: