linux腳本telnet
把ip地址保存為ip.txt
把cd /tksys/startup/
sed -i '/^ntpsvr=/ s/[^=]*$/'`sed -n '/^default=/ s/[^=]*=//p' network.cfg`'/' network.cfg 保存為2.txt
cat ip.txt |while read line ;do telnet $line user password<2.txt ;done
就這樣的思路 俺不懂沒測試過
B. linux 中如何使用shell 腳本執行 telnet
登錄並備份到tftp的腳本是這個奶奶樣的:
#!/usr/bin/expect
spawn telnet 10.21.10.233
expect "*sername*"
send "admin\r"
expect "*asswor*"
send "******\r"
send "en\r"
expect "*assw*"
send "*******\r"
send " running-config startup-config\r"
expect "*estination filename*"
send "\r"
send " startup-config tftp:\r"
expect "*ddress or name of remote host*"
send "10.21.10.110\r"
expect "*estination filename*"
send [exec date +C2950_BJ95-20%y%m%d].config\r
sleep 10
send "exit\r"
send "\r"
C. linux怎麼寫腳本讓自動登錄SSH或者telnet
使用expecte腳本可以實現此命令;網路以下expecte的寫法;
D. linux telnet怎麼用
在Linux系統中telnet的用法如下: telnet IP prot 例如:telnet 192.168.60.128 80,其意義是我想測試一些IP是192.168.60.128 並且埠號是80的主機服務是否開啟。值得注意的是telnet的數據包是以明文傳輸的。
E. Linux如何通過腳本,不停地telnet一個IP,記錄telnet成功的時間並輸出
Telnet本身對另一台伺服器檢查時,容易退不出來。使用Nmap比較合適,然後寫個如下腳本,變更IP及相應的埠及Sleep的時間就可以達到目標。
如下參考:
#!/bin/bash
#Purpose:checkipport
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
exportPATH
#Checkifuserisroot
if[$(id-u)!="0"];then
echo"Error:Youmustberoottorunthisscript"
exit1
fi
Cur_Dir="$(cd-P"$(dirname"${BASHSOURCE[0]}")"&&pwd)"
Cur_Time="$(date+%Y%m%d%H%M%S)"
Dest_Ip=172.16.3.19
Dest_Port=22
if[!-f/usr/bin/nmap];then
yum-yinstallnmap
else
:
fi
functionCheck_Port(){
Port_State=$(nmap-P0-sS-p${Dest_Port}${Dest_Ip}|awk'/STATE/{getlinev;printv}'|awk'{print$2}')
if[X${Port_State}==X'open'];then
echo"${Dest_Ip}${Dest_Port}isopen">>${Cur_Dir}/status.txt
echo"${Cur_Time}">>${Cur_Dir}/status.txt
else
echo"${Dest_Ip}${Dest_Port}isfailure">>${Cur_Dir}/status.txt
echo"${Cur_Time}">>${Cur_Dir}/status.txt
fi
}
whiletrue;
do
Check_Port
sleep3
done
F. LINUX 怎麼設置telnet
一、首先檢查Linux里是否安裝了telnet。用root用戶查[root@hwz root]#rpm -q telnet 二、如何沒有安裝就在RPM軟體包里找到安裝即可(安裝略) 三、開啟服務 方法一:使用ntsysv,在出現的窗口之中,將 telnet前面*加上,然後按下 OK 。 方法二:編輯 /etc/xinetd.d/telnet [root@wljs root]# vi /etc/xinetd.d/telnet 找到 disable = yes 將 yes 改成 no 。 然後激活即可service xinted restart 四、測試:telnet ip 如果提示login:表明已經成功 下面是注意的地方啦!找開windows cmd命令輸入telnet IP(linux IP) 一般常出現的問題就是連接23埠失敗。 問題解決:linux 里將防火牆關閉 windows里將32埠打開,在服務里啟動telnet即可 五、一些命令介紹。chkconfig --list可以查看linux里服務是否開啟。《Linux就該這么學》里有相關介紹,建議看看。
G. 情景linux–在腳本中如何優雅地退出telnet
telnet命令是TELNET協議的用戶介面,它支持兩種模式:命令模式和會話模式。雖然telnet支持許多命令,但大部分情況下,我們只是使用它查看目標主機是否打開了某埠(默認是23)。
其執行結果有兩種:
埠未打開
$ telnet 101.199.97.65 62715
1
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
1
2
此時,命令已退出。
埠已打開
$ telnet 101.199.97.65 62715
1
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
1
2
3
此時命令未退出。
根據提示Escape character is '^]'.可知退出字元為』^]』(CTRL+])。此時輸入其它字元不能使其退出,CTRL+C都不行。輸入CTRL+]後會自動執行,進入命令模式:
^]
1
telnet>
1
此時再運行quit才會真正退出。
telnet> quit
1
Connection closed.
1
其中,Escape character可以自定義,使用參數-e:
$ telnet -e p 101.199.97.65 62715
Telnet escape character is 'p'.
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is 'p'.
p
telnet> quit
Connection closed.
1
2
3
4
5
6
7
8
9
即便如此,退出telnet還是麻煩。那麼,更進一步,如果出現在腳本中應該如何(優雅地)退出telnet呢?
方案
其實可以這樣:
輸出結果後立即退出
$ echo "" | telnet 101.199.97.65 62715
1
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
1
2
3
4
$ echo "" | telnet 101.199.97.65 62715
1
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
1
2
輸出結果後延遲退出
sleep 2使得telnet輸出結果後,停留2秒後退出命令模式。
$ sleep 2 | telnet 101.199.97.65 62715
1
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
使用這種方式可以將標准輸出和標准錯誤重定向到文件中,通過分析文件的內容來判斷埠打開狀態。
H. shell寫個linux腳本,功能是telnet某台伺服器,運行一個命令並把命令結果存到本地。
其實這種互動式的操作首選expect腳本。
Shell的話可以試試下面這樣:
#!/bin/ksh
(
telnet16.158.49.140<<!
root
oms
ls
!
)>OUTPUT
I. 在linux系統上使用sh腳本 通過腳本telnet到另外一台AIX的伺服器上去執行一段命令並將結
大致思路是要用到expect工具,我理解aix上執行的一段命令是要放到後台
#!/bin/bash
/usr/bin/expect<<END
spawntelnetIP#IP是AIX的地址
expect"*login:"
send"user "#user是登錄用戶
expect"*assword:"
send"pass "#pass是用戶登錄口令
expect"*#"#我假設是root登錄,其shell提示符以#結尾
send"command>/tmp/a.txt& "#command是要後台執行的一段命令,注意有&符號
expect"*#"
send"whiletrue;doflag=$(cat/tmp/a.txt);if["$flag"="1"];thenbreak;fi;sleep300;done "
expect"*#"
send"exit "
expecteof
END
touch/tmp/final
上面是實現此效果的大致代碼,沒有測試過,可能會有些小問題,大致思路如此,希望對你有幫助。
J. Linux系統中如何用shell腳步判斷是否telnet成功。
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。