|
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
状态 离线
|
|
2008-2-24 18:42 |
|
|
knoppix7
银牌会员
积分 1287
发帖 634
注册 2007-5-2 来自 cmd.exe
状态 离线
|
|
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 |
|