نيٽ ورڪ انجنيئر اڪثر ڪري ڪنسول ڏانهن نوٽ پيڊ کان ڪجهه ٽڪرا ڪاپي / پيسٽ ڪرڻ جي ڪم کي منهن ڏيندا آهن. توهان کي عام طور تي ڪيترن ئي پيٽرولن کي نقل ڪرڻو پوندو: يوزرنيم/پاسورڊ ۽ ٻيو ڪجهه. اسڪرپٽ جو استعمال توهان کي هن عمل کي تيز ڪرڻ جي اجازت ڏئي ٿو. پر اسڪرپٽ لکڻ ۽ اسڪرپٽ تي عمل ڪرڻ جي ڪمن ۾ ڪل وقت دستي ترتيب جي ڀيٽ ۾ گھٽ ٿيڻ گهرجي، ٻي صورت ۾ اسڪرپٽ بيڪار آهن.
هي مضمون ڇا لاءِ آهي؟ هي آرٽيڪل فاسٽ اسٽارٽ سيريز مان آهي ۽ مقصد نيٽ ورڪ انجنيئرن جي وقت کي بچائڻ آهي جڏهن ڪيترن ئي ڊوائيسز تي سامان (اڪيلو ڪم) قائم ڪرڻ. استعمال ڪري ٿو SecureCRT سافٽ ويئر ۽ بلٽ ان اسڪرپٽ ايگزيڪيوشن ڪارڪردگي. Contents
SecureCRT پروگرام ۾ هڪ تعمير ٿيل اسڪرپٽ تي عمل ڪرڻ وارو ميڪانيزم آهي. ٽرمينل اسڪرپٽ ڇا لاءِ آهن؟
خودڪار I/O، ۽ گھٽ ۾ گھٽ I/O جي تصديق.
معمولي ڪمن جي عمل کي تيز ڪرڻ - سامان جي سيٽنگن جي وچ ۾ رڪاوٽ کي گھٽائڻ. (ساڳئي هارڊويئر تي ڪاپي/ماضي جي عملن کي انجام ڏيڻ لاءِ وقت جي ڪري رڪاوٽن جي حقيقت ۾ گهٽتائي، هارڊويئر تي لاڳو ٿيڻ لاءِ 3 يا وڌيڪ ڪمانڊ ٽڪرن سان.)
هي دستاويز ڪمن تي مشتمل آهي:
سادي اسڪرپٽ جي تخليق.
SecureCRT تي هلندڙ اسڪرپٽ.
سادي ۽ جديد اسڪرپٽ استعمال ڪرڻ جا مثال. (حقيقي زندگي کان مشق.)
سادي اسڪرپٽ جي تخليق.
آسان ترين اسڪرپٽ صرف ٻه حڪم استعمال ڪن ٿا، موڪليو ۽ WaitForString. هي ڪارڪردگي 90٪ (يا وڌيڪ) ڪمن لاء ڪافي آهي.
# $language = "VBScript"
# $interface = "1.0"
Sub Main
crt.Screen.Synchronous = True
crt.Screen.Send vbcr
crt.Screen.WaitForString "name"
crt.Screen.Send "cisco" & vbcr
crt.Screen.WaitForString "assword"
crt.Screen.Send "cisco" & vbcr
crt.Screen.Synchronous = False
End Sub
عام طور تي "*.vbs" واڌ سان گڏ فائل
اسڪرپٽ انٽري استعمال ڪندي اسڪرپٽ ٺاھيو.
توهان کي اسڪرپٽ لکڻ جي عمل کي خودڪار ڪرڻ جي اجازت ڏئي ٿي. توهان هڪ اسڪرپٽ لکڻ شروع ڪيو. SecureCRT حڪمن کي رڪارڊ ڪري ٿو ۽ بعد ۾ هارڊويئر جواب ۽ ڏيکاري ٿو ختم ٿيل اسڪرپٽ توهان لاءِ.
اي. اسڪرپٽ لکڻ شروع ڪريو:
محفوظ سي آر ٽي مينيو => اسڪرپٽ => رڪارڊنگ اسڪرپٽ شروع ڪريو
ب. ڪنسول سان عمل ڪريو (CLI ۾ ٺاھ جوڙ جا مرحلا انجام ڏيو).
وي. اسڪرپٽ لکڻ ختم ڪريو:
محفوظ سي آر ٽي مينيو => اسڪرپٽ => اسٽاپ رڪارڊنگ اسڪرپٽ…
اسڪرپٽ فائل محفوظ ڪريو.
اهو ڪسٽمر لاءِ احساس رکي ٿو لاگ ان لاءِ انفرادي اسڪرپٽ قائم ڪرڻ ۽ وينڊر لاءِ بار بار حڪمن سان پينل ڏانهن وڃو.
جڏهن توهان Go Cisco بٽڻ کي دٻايو ٿا، پينل سِسکو بٽڻ بار ڏانهن سوئچ ڪري ٿو.
سادي ۽ جديد اسڪرپٽ استعمال ڪرڻ جا مثال. (حقيقي زندگي کان مشق.)
سادي اسڪرپٽ تقريبن سڀني موقعن لاء ڪافي آهن. پر هڪ دفعو مون کي اسڪرپٽ کي ٿورو پيچيده ڪرڻ جي ضرورت هئي - ڪم کي تيز ڪرڻ لاء. هي پيچيدگي صرف صارف کان هڪ ڊائلاگ باڪس ۾ اضافي ڊيٽا جي درخواست ڪئي.
هڪ ڊائلاگ باڪس استعمال ڪندي صارف کان ڊيٽا جي درخواست
مون وٽ ڊيٽا جي درخواست جي اسڪرپٽ ۾ 2 هئا. هي هوسٽ جو نالو ۽ IP پتي جو 4 آڪٽيٽ آهي. هن عمل کي انجام ڏيڻ لاءِ - مون گوگل ڪيو ته اهو ڪيئن ڪجي ۽ ان کي مليا سرڪاري ويب سائيٽ SecureCRT (vandyke). - ڪارڪردگي کي فوري طور سڏيو ويندو آهي.
اسڪرپٽ جو هي حصو آخري آڪٽٽ کان ميزبان نالو ۽ نمبرن لاءِ پڇيو. جتان سامان جا 15 ٽڪر هئا. ۽ ڊيٽا کي ٽيبل ۾ پيش ڪيو ويو، پوء مون ٽيبل مان قيمتون نقل ڪيو ۽ ان کي ڊائلاگ باڪس ۾ پيسٽ ڪيو. ان کان علاوه رسم الخط آزاديءَ سان ڪم ڪيو.
نيٽ ورڪ سامان ڏانهن ايف ٽي پي نقل.
هن اسڪرپٽ منهنجي ڪمانڊ ونڊو (شيل) شروع ڪئي ۽ ايف ٽي پي ذريعي ڊيٽا کي نقل ڪيو. آخر ۾، سيشن بند ڪريو. ان لاءِ نوٽ پيڊ استعمال ڪرڻ ناممڪن آهي، ڇاڪاڻ ته ڪاپي ڪرڻ ۾ تمام گهڻو وقت لڳندو آهي ۽ ايف ٽي پي بفر ۾ ڊيٽا ان وقت تائين محفوظ نه ٿيندي:
# $language = "Python"
# $interface = "1.0"
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def main():
crt.Screen.Synchronous = True
crt.Screen.Send("ftp 192.168.1.1r")
crt.Screen.WaitForString("Name")
crt.Screen.Send("adminr")
crt.Screen.WaitForString("Password:")
crt.Screen.Send("Passwordr")
crt.Screen.WaitForString("ftp")
crt.Screen.Send("binaryr")
crt.Screen.WaitForString("ftp")
crt.Screen.Send("put S5720LI-V200R011SPH016.patr")
crt.Screen.WaitForString("ftp")
crt.Screen.Send("quitr")
crt.Screen.Synchronous = False
main()
اسڪرپٽ استعمال ڪندي صارف نالو/پاسورڊ داخل ڪريو
ھڪڙي صارف تي نيٽ ورڪ سامان تائين رسائي سڌو سنئون بند ٿي وئي. اهو ممڪن هو ته پهرين ڊفالٽ گيٽ وي سان ڳنڍڻ سان سامان ۾ داخل ٿيڻ، ۽ ان کان پوء ان سان ڳنڍيل سامان تائين. IOS/هارڊويئر سافٽ ويئر ۾ ٺهيل ssh ڪلائنٽ ڳنڍڻ لاءِ استعمال ڪيو ويو. مطابق، صارف نالو ۽ پاسورڊ کنسول ۾ درخواست ڪئي وئي. هيٺ ڏنل اسڪرپٽ سان، صارف جو نالو ۽ پاسورڊ خودڪار طريقي سان داخل ڪيو ويو:
# $language = "Python"
# $interface = "1.0"
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def main():
crt.Screen.Synchronous = True
crt.Screen.Send("snmpadminr")
crt.Screen.WaitForString("assword:")
crt.Screen.Send("Passwordr")
crt.Screen.Synchronous = False
main()
اسڪرپٽ جي عمل جي دوران سڌو سنئون ڊيٽا کي شامل ڪرڻ جي صلاحيت سان.
ڪم سڀني نيٽ ورڪ سامان تي هڪ جامد رستو شامل ڪرڻ هو. پر هر سامان تي انٽرنيٽ جو گيٽ مختلف هو (۽ اهو ڊفالٽ گيٽ وي کان مختلف هو). هيٺ ڏنل اسڪرپٽ روٽنگ ٽيبل ڏيکاري ٿي، ترتيب واري موڊ ۾ داخل ٿيو، حڪم کي آخر ۾ نه لکيو (انٽرنيٽ جي گيٽ وي جو IP پتو) - مون هي حصو شامل ڪيو. انٽر کي دٻائڻ کان پوءِ، اسڪرپٽ ڪمانڊ تي عمل ڪرڻ جاري رکي.
# $language = "Python"
# $interface = "1.0"
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def main():
crt.Screen.Synchronous = True
crt.Screen.Send("Zdes-mogla-bit-vasha-reklamar")
crt.Screen.WaitForString("#")
crt.Screen.Send("show run | inc ip router")
crt.Screen.WaitForString("#")
crt.Screen.Send("conf tr")
crt.Screen.WaitForString("(config)#")
crt.Screen.Send("ip route 10.10.10.8 255.255.255.252 ")
crt.Screen.WaitForString("(config)#")
crt.Screen.Send("endr")
crt.Screen.WaitForString("#")
crt.Screen.Send("copy run star")
crt.Screen.WaitForString("[startup-config]?")
crt.Screen.Send("r")
crt.Screen.WaitForString("#")
crt.Screen.Send("exitr")
crt.Screen.Synchronous = False
main()
هن اسڪرپٽ ۾، لائن ۾: crt.Screen.Send("ip route 10.10.10.8 255.255.255.252") گيٽ وي جو IP پتو شامل نه ڪيو ويو آهي ۽ نه ئي گاڏي موٽڻ وارو ڪردار آهي. اسڪرپٽ اکرن سان ايندڙ لائن جو انتظار ڪري رهيو آهي "(config) #" اهي اکر ظاهر ٿيا مون کان پوءِ آئي پي ايڊريس داخل ڪيو ۽ داخل ٿيو.
نتيجو:
جڏهن هڪ اسڪرپٽ لکڻ ۽ ان تي عمل ڪرڻ، قاعدي جي پيروي ڪرڻ گهرجي: هڪ اسڪرپٽ لکڻ ۽ اسڪرپٽ تي عمل ڪرڻ جو وقت ڪڏهن به نظرياتي طور تي ساڳيو ڪم دستي طور تي ڪرڻ ۾ خرچ ٿيل وقت کان وڌيڪ نه هجڻ گهرجي (نوٽ پيڊ مان ڪاپي / پيسٽ ڪرڻ، لکڻ ۽ ڊيبگنگ پٿون اسڪرپٽ جواب ڏيڻ، لکڻ ۽ ڊيبگ ڪرڻ لاءِ هڪ راند جو ڪتاب). اهو آهي، اسڪرپٽ جي استعمال کي وقت بچائڻ گهرجي، ۽ پروسيس جي هڪ وقت جي خودڪار طريقي تي وقت ضايع نه ڪرڻ گهرجي (يعني، جڏهن اسڪرپٽ منفرد آهي ۽ وڌيڪ ورجائي نه هوندي). پر جيڪڏهن اسڪرپٽ منفرد آهي ۽ اسڪرپٽ سان آٽوميشن آهي ۽ اسڪرپٽ کي لکڻ/ ڊيبگ ڪرڻ ۾ ان کي ڪنهن ٻئي طريقي سان ڪرڻ کان گهٽ وقت لڳندو آهي (اننسيبل، ڪمانڊ ونڊو) ته پوءِ اسڪرپٽ بهترين حل آهي.
اسڪرپٽ ڊيبگ ڪرڻ. اسڪرپٽ بتدريج وڌندو آهي، ڊيبگنگ پهرين، سيڪنڊ، ٽئين ڊوائيس تي رن-ان تي ٿيندي آهي، ۽ چوٿين تائين اسڪرپٽ گهڻو ڪري مڪمل طور تي آپريشنل هوندو.
مائوس سان اسڪرپٽ هلائڻ (يوزرنيم + پاسورڊ داخل ڪندي) عام طور تي نوٽ پيڊ مان يوزرنيم ۽ پاسورڊ ڪاپي ڪرڻ کان وڌيڪ تيز آهي. پر سيڪيورٽي نقطي نظر کان محفوظ ناهي.
ٻيو (حقيقي) مثال جڏهن اسڪرپٽ استعمال ڪندي: توهان وٽ نيٽ ورڪ سامان تائين سڌي رسائي نه آهي. پر سڀني نيٽ ورڪ سامان کي ترتيب ڏيڻ جي ضرورت آهي (ان کي مانيٽرنگ سسٽم ۾ آڻيو، هڪ اضافي يوزرنيم/پاسورڊ/snmpv3username/password ترتيب ڏيو). اتي رسائي آهي جڏهن توهان ڪور سوئچ ڏانهن وڃو، ان مان توهان SSH کوليو ٻين سامان ڏانهن. توهان جوابي استعمال ڇو نٿا ڪري سگهو. - ڇاڪاڻ ته اسان نيٽ ورڪ سامان تي هڪ ئي وقت ۾ اجازت ڏنل سيشن جي تعداد تي حد تائين هلون ٿا (لائن vty 0 4، يوزر-انٽرفيس vty 0 4) (ٻيو سوال اهو آهي ته مختلف سامان کي ڪيئن شروع ڪجي ساڳئي SSH پهرين هاپ سان جوابي ۾).
اسڪرپٽ ڊگهي آپريشن دوران وقت گھٽائي ٿي - مثال طور، ايف ٽي پي ذريعي فائلن کي نقل ڪرڻ. ڪاپي مڪمل ٿيڻ کان پوء، اسڪرپٽ فوري طور تي ڪم ڪرڻ شروع ڪري ٿو. هڪ شخص کي ڪاپي جي پڇاڙي ڏسڻ جي ضرورت پوندي، پوء ڪاپي جي آخر کي محسوس ڪرڻ، پوء مناسب حڪم داخل ڪريو. اسڪرپٽ ان کي معقول طور تي تيز ڪري ٿو.
اسڪرپٽ لاڳو ٿين ٿيون جتي ماس ڊيٽا پهچائڻ جا اوزار استعمال ڪرڻ ناممڪن آهي: ڪنسول. يا جڏهن سامان لاءِ ڪجهه ڊيٽا منفرد آهي: هوسٽ جو نالو، انتظام IP پتو. يا جڏهن هڪ پروگرام لکڻ ۽ ڊيبگنگ ڪرڻ ان کان وڌيڪ ڏکيو آهي سامان مان حاصل ڪيل ڊيٽا شامل ڪرڻ کان جڏهن اسڪرپٽ هلندي آهي. - ھڪڙو مثال ھڪڙي رسم الخط سان ھڪڙي رستي کي بيان ڪرڻ لاء، جڏھن ھر سامان جو انٽرنيٽ فراهم ڪندڙ جو پنھنجو IP پتو آھي. (منهنجا ساٿي اهڙا اسڪرپٽ لکيا - جڏهن DMVPN ڳالهائيندڙ 3 کان مٿي هئي. اهو ضروري هو ته DMVPN سيٽنگون تبديل ڪرڻ).
ڪيس اسٽڊي: ڪنسول بندرگاهن کي استعمال ڪندي نئين سوئچ تي شروعاتي سيٽنگون ترتيب ڏيڻ:
A. ڪنسول ڪيبل کي ڊوائيس ۾ لڳايو.
B. اسڪرپٽ هلايو
B. اسڪرپٽ جي عمل جي انتظار ۾
D. ڪنسول ڪيبل کي ايندڙ ڊوائيس ۾ لڳايو.
E. جيڪڏهن سوئچ آخري نه آهي، قدم B ڏانهن وڃو.
رسم الخط جي ڪم جي نتيجي ۾:
شروعاتي پاسورڊ سامان تي مقرر ڪيو ويو آهي.
استعمال ڪندڙ جو نالو داخل ڪيو ويو
ڊوائيس جو منفرد IP پتو داخل ڪيو ويو آهي.
پي ايس آپريشن کي بار بار ڪرڻو پيو. ڇو ته ڊفالٽ ssh ترتيب/بند ٿيل نه ھو. (ها، اها منهنجي غلطي آهي.)
اهڙيون اسڪرپٽ عام طور تي گهربل نه آهن، پر سامان جو مقدار 15 پي سي آهي. اجازت ڏني وئي تيز سيٽ اپ. اهو SecureCRT ڪمانڊ ونڊو استعمال ڪندي سامان کي ترتيب ڏيڻ لاء تيز هو.
ssh لاءِ اڪائونٽ قائم ڪرڻ.
ٻيو مثال. ترتيب پڻ ڪنسول ذريعي آهي.
# $language = "Python"
# $interface = "1.0"
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def main():
crt.Screen.Synchronous = True
crt.Screen.Send("r")
crt.Screen.WaitForString("name")
crt.Screen.Send("adminr")
crt.Screen.WaitForString("Password:")
crt.Screen.Send("Passwordr")
crt.Screen.WaitForString(">")
crt.Screen.Send("sysr")
crt.Screen.Send("stelnet server enabler")
crt.Screen.Send("aaar")
crt.Screen.Send("local-user admin service-type terminal ftp http sshr")
crt.Screen.Send("quitr")
crt.Screen.Send("user-interface vty 0 4r")
crt.Screen.Send("authentication-mode aaar")
crt.Screen.Send("quitr")
crt.Screen.Send("quitr")
crt.Screen.Synchronous = False
main()
SecureCRT بابت:ادا ڪيل سافٽ ويئر: $99 کان (ننڍي قيمت صرف هڪ سال لاءِ SecureCRT لاءِ آهي) سرڪاري ويب سائيٽ
هڪ سافٽ ويئر لائسنس هڪ ڀيرو خريد ڪيو ويندو آهي، سپورٽ سان (اپڊيٽ ڪرڻ لاءِ)، پوءِ سافٽ ويئر هن لائسنس سان لامحدود وقت لاءِ استعمال ڪيو ويندو آهي.