Skip to content

Instantly share code, notes, and snippets.

@numb95
Created November 16, 2014 20:38
Show Gist options
  • Save numb95/612794e7823c18cf2c7a to your computer and use it in GitHub Desktop.
Save numb95/612794e7823c18cf2c7a to your computer and use it in GitHub Desktop.
#!/usr/bin/expect
set userName admin
#یوزرنیم وارد شه
set pass admin
#پسورد وارد شه
#قبل از دستور قبلی تل‌نت بگیر به مودم با این دستوز telnet 192.168.168.1 و ببین که ریبوت کجاست
#اگه توی منوی اصلی که پیش‌روت هست باشه که معمولا هست که هیچ
#اگه نه و توی یه زیر دستور دیگه‌ست مثلا توی زیر دستور sys
#خط بعدی رو از کامنت دربیاردو خط
#set enter sys #جای sys هرچیزی رو بزن که ریبوت داخل اون قرار داره
#send "$enter\r"
set command reboot
#شناسوندن اینکه دستور مورد نظر ریبوت هست
set timeout 30
#تایم‌اوت رو ست کردم رو ۳۰ اگه اوکی نشد شما بیارش رو ۲۵ یا ۲۰ یا حتی ۱۵
spawn telnet 192.168.168.1
#واضحه :دی
expect "Login:"
#میگیم بگرده دنبال کلمه‌ی Login:
#توجه کن که اگه موقع تل‌نت زدن اولیه کله‌ی دیگه‌ای جای لوگین زده بود اونو عیناً و در داخل دوتا " وارد کنی
send "$userName\r"
#ارسال یوزرنیم که اون بالا بهش دادیم
expect "Password:"
#بگرده دنبال کلمه‌ی Password تا مقداری که ما برای پسورد در نظر گرفتیم که میشه بالا‌ی اسکریپت رو جای‌گذاری کنه
send "$pass\r"
#ارسال پسورد
expect ">"
#می‌گرده دنبال >
#توی تل‌نت وقتی به دیوایسی وصل میشی برای اجرای دستور بهت یه شبه‌ترمینال میده که با < شروع میشه
send "$command\r"
#قدم آخر اینه که بیاد کامندی که ما بالا‌تر بهش دادیم رو ارسال کنه
#تا یادم نرفته اینو بگم که این \r همون return یا اینتر خودمونه :دی
interact
#اینم می‌بنده اسکریپت رو
#اگه کار نکردو نبست اسکریپت رو خط بعدی رو از کامنت در بیار
#expect eof
#سوالی بود در خدمختم :دی
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment