Board logo

标题: 如何以批处自动登入oracle server (telnet) [打印本页]

作者: xmi     时间: 2008-2-20 14:50    标题: 如何以批处自动登入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 ]
作者: knoppix7     时间: 2008-2-20 17:04
TELNET不能读文件。换NC去.
作者: HAT     时间: 2008-2-20 19:13
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

作者: xmi     时间: 2008-2-21 12:58


  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 ]
作者: xmi     时间: 2008-2-21 12:59


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

請問什麼是nc? 我只懂簡單的bat......:(
作者: knoppix7     时间: 2008-2-21 13:02
NetCat.
自己GOOGLE之
作者: xmi     时间: 2008-2-21 13:05


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

多謝... 我試一試.....
作者: xmi     时间: 2008-2-22 13:34


  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 ]
作者: xmi     时间: 2008-2-24 18:17
有人可以教我嗎?
我試過以變數輸入,但不成功...:(

>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}"


作者: knoppix7     时间: 2008-2-24 18:25
NC.exe IP 端口<命令文件
作者: xmi     时间: 2008-2-24 18:42
我在這兒http://netcat.sourceforge.net/download.php下載了這個netcap, 我看了也不懂. 請問你用那一個版本?
作者: knoppix7     时间: 2008-2-24 19:21
http://www.esnips.com/doc/32a796a8-181f-44fe-9036-3460995dc893/NC
作者: xmi     时间: 2008-2-24 21:19
下載了師兄的文件. 謝謝.
我試了在網上找一些教學指南, 在這兒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命令是不是很危險的?可否請告知這個如蠢的我.
作者: vkill     时间: 2008-2-25 01:54
网上nc的资料一搜一大把的,看了后多试试就试出来了哦