ماژول telnetlib چیست؟

محمد باقر حسام
مدرس : محمد باقر حسام
برنامه نویسی شبکه با پایتون فصل1 درس1
نام درس : ماژول telnetlib چیست؟
نام فصل : فصل 1 - ماژول telnetlib
معرفی این ویدیو آموزشی به دوستان

در این درس به بررسی یک ماژول پرکاربرد در برنامه نویسی شبکه با پایتون به نام telnetlib می پردازیم. telnetlib یک API پایتون است که می توان به کمک آن از طریق پروتکل telnet به دستگاه های شبکه متصل شد. با این ماژول می توانید از طریق اسکریپت نوشته شده با پایتون، به سوییچ اترنت و روتر شبکه telnet کنید؛ سپس کانفیگ مورد نظر را روی دستگاه ها push کنید.

 طرز کار و ساختار دستوری این ماژول در پایتون ورژن ۲ و ۳ متفاوت است. ما این ماژول را در پایتون ورژن ۲.۷ استفاده می‌کنیم.

 در ابتدا شما می بایست که این ماژول را بر روی سیستم خود نصب کنید. با دستور زیر می‌توانید در ترمینال یا cmd سیستم، پکیج telnetlib رو از ریپازیتوری های اصلی پایتون دانلود و نصب نمایید.

تذکر: در هنگام نصب مفسر پایتون بر روی سیستم حتما باید ابزار pip را نصب کنید تا بتوانید پکیج های پایتون را دانلود و نصب کنید.

در ابتدا باید ماژول telnetlib را در کد خود معرفی کنید. سپس با استفاده از کلاس Telnet به دستگاه با ip address مشخص متصل شوید. برای این کار می بایست یک object از کلاس Telnet به نام tn بسازید.

با استفاده از این object میتوانیم عملیات های مختلف را روی دستگاه انجام دهیم. اولین مرحله از این عملیات این است که بگوییم که کد تا چه زمانی باید داده‌های کنسول دستگاه را بعد از تلنت زدن بخواند. این کار با دستور بالا انجام می‌شود.

با خط بالا ما به برنامه گفتیم آنقدر بعد از تلنت زدن، از ترمینال دستگاه بخوان تا به عبارت :Username  برسی.

 پس از این مرحله باید مشخص کنید برای username چه ورودی را باید به دستگاه بدهد. به طور کلی برای نوشتن دستور در ترمینال دستگاه از تابع write استفاده می‌کنیم و به عنوان ورودی، username را در قالب نوع داده رشته به object tn می دهیم.

همین مرحله ها باید برای پسورد هم انجام شود.

پس از اینکه به درستی مراحل احراز هویت انجام شد فقط کافی است با همان تابع write دستورات خود را به دستگاه push کنید.

در آخرین گام هم باید کانکشن تلنت را ببندیم که با تابع close این کار را می‌کنیم

تشریح کد داخل ویدیو:

در کد ویدیو بالا می‌توانید ببینید که ما برای تلنت زدن به دستگاه از یک لیست که حاوی ip address های تمام دستگاه‌ها می‌باشد و یک لیست برای نگه داری hostname ها می باشد.

با حلقه for یکی یکی به دستگاه‌ها تلنت زدیم و یا استفاده از بلاک try گفتیم در صورت وجود ارور در مرحله تلنت زدن پیغام مناسب را نمایش بده

دستورات مختلف را به دستگاه push کردیم و بین هر دستور با تابع (sec)sleep یه مقدار زمان گذاشتیم تا به درستی روی دستگاه پردازش شوند. برای استفاده از این باید ماژول time را به برنامه معرفی کنیم.

5 1 vote
رأی دهی به مقاله
سوال های آزمون از ویدیو آموزشی و مطالب نوشته شده در صفحه طرح می شوند.
هر پاسخ درست یک امتیاز مثبت
هر پاسخ اشتباه یک امتیاز منفی
آزمون درس ماژول telnetlib چیست؟
آزمونی هنوز برای این صفحه منتشر نشده

برای دسترسی به تمرین، وارد حساب کاربری شوید.

سوال های تان را بپرسید. پشتیبان های فنی پاسخ می دهند.
خبر نامه
اطلاع از
guest
0 نظرات
Inline Feedbacks
View all comments
1.
عضویت در انجمن سیسکو
2.
عضویت در انجمن لینوکس
3.
عضویت در انجمن امنیت سایبری