當前位置:首頁 » 編程軟體 » telnetshell腳本

telnetshell腳本

發布時間: 2022-09-22 11:13:09

⑴ shell腳本telnet登陸交換機備份配置

#!/bin/bash
export datetime='date +%Y%m%d'
export BAKTIME=`date +%Y%m%d%H%M%S`
export user="admin"
export password="admin"
export back="dis cu"
export BAK_DIR=/back/h3c

for i in $(cat ip_file)
do
{
echo $user;
sleep 1;
echo $password;
sleep 1;
echo $back;
sleep 1;
echo " ";
sleep 5;
}|telnet $i > $BAK_DIR/$i-$BAKTIME.log
done
mkdir $BAK_DIR/H3C_$datetime
mv *-$datetime* H3C_$datetime
注釋
####################################
export BAKTIME=`date +%Y%m%d%H%M%S` 輸出系統時間
export user="admin" 此用戶為交換機、路由器用戶名
export password="admin" 此密碼為交換機、路由器密碼
export back="dis cu" 此命令為查看H3C交換機配置
export BAK_DIR=/home/erp/back/h3c 此目錄是linux伺服器備份交換機、路由器的存放目錄
cat ip_file 此命令意思是查看ip_file文件中的內容,逐行查看
####################################
ip_file 文件添加交換機IP(注意:不要加雙引號, 文件與腳本在同一目錄下存放)
#以下為交換機、路由器IP地址
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.7

⑵ 如何通過shell腳本登錄telnet 並將執行結果輸出到文件

#!/bin/bash

USERNAME=localhost #用戶名
PASSWORD=123456 #密碼
HOST_IP=192.168.1.** #要登錄的主機IP

(
sleep 1
echo ${USERNAME} #登錄時輸入用戶名
sleep 1
echo ${PASSWORD} #登錄時輸入密碼
sleep 3
echo "ping 192.168.2.10" ######### 如何將這條命令結果輸出到文件保存呢???
sleep 3
) | telnet ${USERNAME} ${HOST_IP} #telnet到主機

⑶ windows下用批處理telnet登錄到linux執行shell腳本

實現不了的,因為telnet情況下輸入用戶名密碼後就轉邊成了linux的終端,而不再是windows的命令提示符,所有批處理命令都不能被執行了,但是你的可以實現和你要求的差不多的
@echo off
set /p IP="請輸入ip:"
telnet %IP% 22
批處理到這里就可以了,以為已經連接接下來的登陸操作linux會自動要求你輸入用戶名和密碼
輸入完畢當然也就是登陸了,直接./shell腳本加路徑就執行了
和你的要求相比也就多了./path 哈哈

⑷ 用expect實現telnet登陸到linux系統後,再執行一個shell腳本,待這個shell腳

參考一種類自然語言的腳本語言:

001 var {v_time} value datetime

002 screen.text at point {10} {30} string {2. telnet ipv4 (192.168.186.132:23) test , datetime: ~v_time~}

003

004 telnet.connect ip {192.168.186.132} port {23}

005 telnet.recv expect {Username:}

006 telnet.send {cisco%0a}

007 telnet.recv expect {Password}

008

009 telnet.send {cisco%0a}

010 telnet.recv expect {>}

011 telnet.send {enable%0a}

012 telnet.set onrecv {More} send { }

013 telnet.set delay {200} ms after per byte send

014 telnet.send {show version%0a}

015 telnet.recv for {5} seconds

016

017 telnet.send {show run%0a}

018 telnet.recv for {5} seconds

019 telnet.send {exit%0a}

020 telnet.close

021

022 var {v_time} value datetime

023 screen.text at point {10} {60} string {telnet tested end. datetime:~v_time~}

024

025 run.end

--------------------------------------------------------------------

簡單網路管理語言(Simple Network Management Language)是一種類自然語言的腳本語言,它採用snmp、telnet、ping、dns、arp、ssh、tcp、udp、web等協議訪問網路設備,內置smtp協議用於告警等郵件的發送,支持excel、mysql、sqlite等3種方式進行網管數據的存取。
最新版本: snml8.13(ladybird20200205) utf8&ipv6
項目託管地址:https://github.com/ladybirdSnml/snmlipv6utf8snmptelnetsshweb
打包下載:https://ladybirdsnml.github.io/snmlipv6utf8snmptelnetsshweb/snml_utf8ipv6.zip

⑸ 如何用shell腳本實現自動telnet

很多人認為telnet象passwd和su一樣,無法通過管道和輸入轉向使其自動工作,但實際上telnet是支持輸入轉向的.雖然,嚴格的說,shell腳本無法使telnet進入交互狀態,但它確實可你使你進入遠程系統並運行你希望的命令後退出.這遠比用rsh(remsh,rcmd)更令人放心,
使用如下的腳本可以達到你的要求:
(sleep 1;echo user;sleep 1; echo passwd;echo yourcmd ;sleep 1)|telnet remotehost
其中user,passwd,yourcmd,remotehost分別更換成你的用戶名,用戶口令,你想要運行的命令,遠程機器名或IP便可以了. 如果要想使用腳本進入交互狀態,可以使用expect.
如果你要通過telnet某個IP的埠來得到部分數據,則可以用以下命令
(sleep 5;) | telnet IP PORT 這樣就可以在telnet後將PORT在5秒內輸出的數據列印到屏幕上,然後自動退出
EG:
tempValue="KEY"
str4=`(sleep 1;echo AA;sleep 1; echo 123; sleep 1; echo tail -f /aa/log/a.log;sleep 1) | telnet ${IP} | grep ${tempValue}`
num4=`echo ${#str4}`
if [ ${num4} -eq 0 ];then
echo "==::在a.log文件中沒有找到關鍵字KEY,請檢查!"
sheet4="@NULL"
else
echo "==::在a.log文件有找到關鍵字KEY!"
sheet4="@OK"
fi

⑹ 如何用shell腳本實現自動telnet-snowtty-ChinaUnix博客

Shell腳本自動Telnet並執行遠端機器的腳本

簡單使用狀況
[plain]
#!/bin/sh

(sleep 10;
echo "username";
sleep 10;
echo "password";
sleep 10;
echo "pwd";
sleep 50;
#echo exit
)|telnet $ip

這里只是連接到遠端機器,查看一下當前所在的目錄。
username/password 是telnet 到遠端機器的用戶名,密碼
sleep 是一個等待時間,根據具體的機器狀況或是執行命令的需要的時間來設置。

帶變數使用
[plain]

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

⑻ 可以寫shell腳本實現自動連接telnet嗎

Shell腳本自動Telnet並執行遠端機器的腳本

簡單使用狀況
[plain]
#!/bin/sh

(sleep 10;
echo "username";
sleep 10;
echo "password";
sleep 10;
echo "pwd";
sleep 50;
#echo exit
)|telnet $ip

這里只是連接到遠端機器,查看一下當前所在的目錄。
username/password 是telnet 到遠端機器的用戶名,密碼
sleep 是一個等待時間,根據具體的機器狀況或是執行命令的需要的時間來設置。

帶變數使用
[plain]

⑼ 遠程telnet寫shell腳本,如何結束腳本編寫

不要用 vi 編寫腳本,用 echo >> 寫腳本文件 ~~~ vi進去了很難出來的,你懂的
正如bat里用echo寫vbs腳本然後執行一樣。

⑽ shell腳本ping和telnet

很明顯的一個錯誤就是if要用fi結束,你腳本里有兩個if,我卻只能找到一個fi;

第二點就是telnet那部分,telnet=`telnet $1 $2`應該就死住沒反應了,你手動模擬一下就好了,比如我:

telnet 192.168.243.1 3131
Trying 192.168.243.1...
Connected to 192.168.243.1.
Escape character is '^]'.
^]
telnet> quit
Connection closed.

如果我不鍵入^](ctrl+])的話,這個telnet進程是不會結束的,不會結束的話,腳本也就不會進行下一步。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:640
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:86
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:794
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:346
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:816
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:367
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:594