标题: 如何以批处自动登入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的资料一搜一大把的,看了后多试试就试出来了哦