در این مطلب، ویدئو Cisco IOS را به JSON با پایتون و نتمیکو تجزیه کنید با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:17:14
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,550
این clunker آنقدر قدیمی است که حتی از SSH نیز پشتیبانی نمی کند،
2
00:00:02,550 –> 00:00:05,310
اما در این ویدیو ما
3
00:00:05,310 –> 00:00:17,310
آن را در این دستگاه های قدیمی Cisco Catalyst خودکار می کنیم.
4
00:00:17,310 –> 00:00:18,930
5
00:00:18,930 –> 00:00:21,119
6
00:00:21,119 –> 00:00:23,880
7
00:00:23,880 –> 00:00:26,060
که در آگوست
8
00:00:26,060 –> 00:00:30,510
2006 ساخته شد Netcom اولین پروتکل اتوماسیون شبکه
9
00:00:30,510 –> 00:00:34,110
ای که توسط IETF به ما داده شد
10
00:00:34,110 –> 00:00:37,079
حتی تا دسامبر 2006 تایید نشد، این
11
00:00:37,079 –> 00:00:39,450
چیز قبل از اینکه
12
00:00:39,450 –> 00:00:42,030
اتوماسیون شبکه حتی یک استاندارد صنعتی در صنعت باشد ساخته شده
13
00:00:42,030 –> 00:00:44,579
بود، همانطور که گفتم قدیمی است و حتی این کار را نمی کند.
14
00:00:44,579 –> 00:00:46,559
از SSH پشتیبانی میکند، شما فقط میتوانید به آن بگویید
15
00:00:46,559 –> 00:00:50,489
، بنابراین آیا میتوانیم این
16
00:00:50,489 –> 00:00:52,230
نوع دستگاهها را کاملاً خودکار
17
00:00:52,230 –> 00:00:54,719
کنیم، خط مدرن امروزی محصولات
18
00:00:54,719 –> 00:00:56,489
بهویژه در دنیای سیسکو، مانند
19
00:00:56,489 –> 00:00:59,340
خط دستگاههای Cisco Catalyst که
20
00:00:59,340 –> 00:01:03,629
iOS X II را اجرا میکنند که سیستم عامل جدید
21
00:01:03,629 –> 00:01:06,180
این سیسکو است. دستگاههای iOS
22
00:01:06,180 –> 00:01:07,950
چون با در نظر گرفتن اتوماسیون ساخته شدهاند،
23
00:01:07,950 –> 00:01:10,979
اکنون مرکز DNA و
24
00:01:10,979 –> 00:01:13,380
پلتفرم مرکز DNA میتوانند به این دستگاهها متصل شوند
25
00:01:13,380 –> 00:01:16,140
و کل شبکه را به عنوان یک
26
00:01:16,140 –> 00:01:18,240
شیشه کنترل کنند، اما دستگاههای قدیمیتر
27
00:01:18,240 –> 00:01:20,070
با این ذهنیت ساخته نشدهاند، ما مجبور بودیم
28
00:01:20,070 –> 00:01:22,560
از CLI برای تعامل با این دستگاهها استفاده کنیم،
29
00:01:22,560 –> 00:01:25,500
اکنون پایتون کتابخانههایی را در اختیار ما قرار میدهد که
30
00:01:25,500 –> 00:01:28,530
میتوانیم دستورات CLI را علیه این
31
00:01:28,530 –> 00:01:31,470
دستگاهها صادر کنیم، اما بیشتر اوقات
32
00:01:31,470 –> 00:01:34,079
پاسخها به صورت متن ASCII ساده به ما برمیگردند.
33
00:01:34,079 –> 00:01:36,840
و اگر بخواهیم با
34
00:01:36,840 –> 00:01:38,820
آن خوب تعامل کنیم، باید مقداری reg X واقعاً بد بنویسیم تا
35
00:01:38,820 –> 00:01:41,549
36
00:01:41,549 –> 00:01:43,049
عبارات را تجزیه کنیم و دادههایی را که
37
00:01:43,049 –> 00:01:45,990
تا کنون میخواهیم به لطف گروهی
38
00:01:45,990 –> 00:01:48,689
به نام شبکه برای کدنویسی بیرون بکشیم.
39
00:01:48,689 –> 00:01:51,210
خروجی استانداردی را که از بسیاری از
40
00:01:51,210 –> 00:01:54,259
دستگاههای مبتنی بر CLI میآید گرفته و آنها را
41
00:01:54,259 –> 00:01:57,420
اساساً به قالبها تبدیل میکند تا بتواند
42
00:01:57,420 –> 00:01:59,790
خروجی را تجزیه کند و آن را به جنگلهای JSON ترجمه کند،
43
00:01:59,790 –> 00:02:02,670
بنابراین در این ویدیو
44
00:02:02,670 –> 00:02:04,710
ما اکنون با ساختن یک دستگاه شروع به کار میکنیم.
45
00:02:04,710 –> 00:02:07,020
اسکریپت net miko برای اجرای برخی از
46
00:02:07,020 –> 00:02:09,369
دستورات بر روی آن دستگاه و سپس
47
00:02:09,369 –> 00:02:12,130
تبدیل آن خروجی به JSON که میتوانیم
48
00:02:12,130 –> 00:02:14,230
بر خلاف let’s go برنامهنویسی کنیم، بنابراین اجازه دهید
49
00:02:14,230 –> 00:02:16,239
توضیح دهم که چگونه این کار میکند
50
00:02:16,239 –> 00:02:18,280
اولین کتابخانهای که میخواهیم استفاده کنیم
51
00:02:18,280 –> 00:02:21,250
دقیقاً اینجاست خریداران کتی lash net Miko
52
00:02:21,250 –> 00:02:24,010
اگر به github.com بروید اسلش رو به جلو،
53
00:02:24,010 –> 00:02:27,160
خریداران کتی به جلو اسلش نت
54
00:02:27,160 –> 00:02:29,260
Miko شما را به اینجا می برد این
55
00:02:29,260 –> 00:02:30,849
اولین کتابخانه ای است که ما از آن
56
00:02:30,849 –> 00:02:32,890
استفاده می کنیم تا بتوانیم به طور مستقیم
57
00:02:32,890 –> 00:02:35,319
با اتصال دستگاه شبکه شما ارتباط برقرار کنیم. میتوانید
58
00:02:35,319 –> 00:02:37,540
همینجا اتصالات SSH را ببینید، این یک
59
00:02:37,540 –> 00:02:39,970
دستگاه شبکه است که شامل Cisco IOS
60
00:02:39,970 –> 00:02:43,060
یا Cisco IOS از طریق telnet میشود، میتواند telnet را اداره کند،
61
00:02:43,060 –> 00:02:46,989
اما این فقط خروجی ASCII خام را به ما میدهد،
62
00:02:46,989 –> 00:02:49,900
کاری که باید انجام دهیم تجزیه
63
00:02:49,900 –> 00:02:52,540
آن خروجی است که خوشبختانه اکنون برای ما در زیر
64
00:02:52,540 –> 00:02:55,000
هود net miko است. با قابلیت
65
00:02:55,000 –> 00:02:57,640
کار با کتابخانه دیگری که گوگل در
66
00:02:57,640 –> 00:03:01,000
اختیار ما قرار می دهد به نام txt FSM ارائه می شود و آنچه
67
00:03:01,000 –> 00:03:02,560
در اینجا می توانید ببینید این است که
68
00:03:02,560 –> 00:03:05,920
متن نیمه ساختار یافته را در جداول پایتون تجزیه می کند،
69
00:03:05,920 –> 00:03:08,560
این فقط توانایی تجزیه آن
70
00:03:08,560 –> 00:03:12,760
خروجی به فرهنگ لغت پایتون یا خروجی JSON است.
71
00:03:12,760 –> 00:03:14,890
72
00:03:14,890 –> 00:03:16,900
اتصالات دستگاه شبکه را در خود ندارد بله، این
73
00:03:16,900 –> 00:03:19,900
فقط ابزاری است که می تواند داده ها را تجزیه کند اگر
74
00:03:19,900 –> 00:03:22,450
الگوی درستی داشته باشد، بنابراین کاری که
75
00:03:22,450 –> 00:03:24,910
باید انجام دهیم این است که قالب را آماده
76
00:03:24,910 –> 00:03:27,280
کنیم، ما از آن استفاده خواهیم کرد.
77
00:03:27,280 –> 00:03:28,870
الگوهایی را که در اینجا برای ما ارائه کرده اند
78
00:03:28,870 –> 00:03:33,280
به نام الگوهای NTC کار کنید، بنابراین
79
00:03:33,280 –> 00:03:34,540
قطعاً چند چیز است که
80
00:03:34,540 –> 00:03:36,310
باید اینجا نصب کنیم، البته همه
81
00:03:36,310 –> 00:03:37,750
آنها را می توانیم از pip
82
00:03:37,750 –> 00:03:40,450
استفاده کنیم، بنابراین از pip install یا pip 3
83
00:03:40,450 –> 00:03:42,819
install استفاده می کنیم. اگر از پایتون استفاده می کنید و می
84
00:03:42,819 –> 00:03:46,329
گوییم net Miko net Miko به طور
85
00:03:46,329 –> 00:03:49,269
خودکار txt FSM را دریافت می کند و سپس ما در واقع از
86
00:03:49,269 –> 00:03:52,510
این پیوند شبیه سازی دقیقاً در اینجا برای
87
00:03:52,510 –> 00:03:54,700
دریافت الگوهای NTC استفاده می کنیم، بنابراین با این تنظیمات
88
00:03:54,700 –> 00:03:57,370
، اول از همه چیز را خوب بررسی کنیم. من
89
00:03:57,370 –> 00:03:58,569
میخواهم مطمئن شوم
90
00:03:58,569 –> 00:04:01,450
که بهروزترین نسخه net miko را
91
00:04:01,450 –> 00:04:03,069
روی دستگاهم نصب کردهام، بنابراین به آن شبه
92
00:04:03,069 –> 00:04:06,100
پیپ 3 میدهم چون از پایتون 3 استفاده
93
00:04:06,100 –> 00:04:08,319
میکنم.
94
00:04:08,319 –> 00:04:10,540
جدیدترین نسخه را دارید بله و
95
00:04:10,540 –> 00:04:11,920
به من می گوید که همه الزامات
96
00:04:11,920 –> 00:04:13,750
برآورده شده است، اما اگر این کار را انجام ندهید،
97
00:04:13,750 –> 00:04:15,430
همان مراحل نصب را طی می
98
00:04:15,430 –> 00:04:17,168
کند و من می دانم که این نیز
99
00:04:17,168 –> 00:04:19,750
مراقبت کرده است که شما آن را همانجا ببینید FSM
100
00:04:19,750 –> 00:04:20,260
و FSM بگیرید.
101
00:04:20,260 –> 00:04:23,140
بنابراین ما آن را نصب کرده ایم – این
102
00:04:23,140 –> 00:04:25,780
بخشی از میکای خالص است بنابراین چیز بعدی
103
00:04:25,780 –> 00:04:27,520
و آخرین چیزی
104
00:04:27,520 –> 00:04:29,470
که برای برآورده کردن همه این
105
00:04:29,470 –> 00:04:31,930
درخواستها باید دریافت کنم این است که خود قالبهای واقعی را دریافت کنم،
106
00:04:31,930 –> 00:04:34,000
بنابراین کاری که میخواهم انجام دهم این است که
107
00:04:34,000 –> 00:04:35,800
با
108
00:04:35,800 –> 00:04:38,320
انتخاب شبیهسازی در اینجا، این را از github حذف میکنم و فقط
109
00:04:38,320 –> 00:04:40,540
روی آن کلیک میکنم. دکمه کپی درست در آنجا برای
110
00:04:40,540 –> 00:04:43,090
کلیک کردن روی آن و کپی کردن، ترمینال خود را باز
111
00:04:43,090 –> 00:04:46,120
می کنم و به
112
00:04:46,120 –> 00:04:49,320
پوشه درستی می روم که در آن اسکریپت هایم را ذخیره می کنم،
113
00:04:49,320 –> 00:04:51,460
حالا که در این پوشه هستم،
114
00:04:51,460 –> 00:04:53,830
به آن git می دهم. کلون کنید و من آن
115
00:04:53,830 –> 00:04:57,610
URL را دقیقاً در اینجا جایگذاری میکنم و میتوانیم ببینیم
116
00:04:57,610 –> 00:04:59,860
که همه اشیاء در مقابل کد به سرعت پایین آورده شده است.
117
00:04:59,860 –> 00:05:01,660
118
00:05:01,660 –> 00:05:04,810
119
00:05:04,810 –> 00:05:06,760
120
00:05:06,760 –> 00:05:09,010
می توانید همه موارد را مشاهده کنید – در
121
00:05:09,010 –> 00:05:10,270
واقع بیایید این کار را انجام دهیم، بیایید
122
00:05:10,270 –> 00:05:14,350
فایل اکسپلورر واقعی را در اینجا بیاوریم،
123
00:05:14,350 –> 00:05:21,070
نمونه های کد اسناد پایتون شبکه iOS را در
124
00:05:21,070 –> 00:05:23,080
قالب های TC و سپس الگوهایی را که در آنجا
125
00:05:23,080 –> 00:05:25,930
شبیه سازی کردم – همه این موارد در
126
00:05:25,930 –> 00:05:28,360
اینجا همه از دستورات مختلفی هستند
127
00:05:28,360 –> 00:05:30,310
که شما می تواند بر روی پلتفرم های مختلف اجرا شود
128
00:05:30,310 –> 00:05:32,710
و اجرا خواهد شد بتوانید
129
00:05:32,710 –> 00:05:34,840
آن را تجزیه کنید، بنابراین در این مورد، من واقعاً
130
00:05:34,840 –> 00:05:37,450
به دستورات Cisco IOS علاقه مند هستم،
131
00:05:37,450 –> 00:05:40,150
دستورات نمایش Cisco IOS و
132
00:05:40,150 –> 00:05:42,190
اجازه دهید اکنون این یکی را مقدمه کنم و بگویم
133
00:05:42,190 –> 00:05:44,230
که یک دستوری که واقعا ندارد این است که این دستور
134
00:05:44,230 –> 00:05:46,840
را ندارد. ‘t have show run
135
00:05:46,840 –> 00:05:50,080
آن دارای نقشه ریزش پارتیشن پیکربندی و
136
00:05:50,080 –> 00:05:52,270
لیست های دسترسی به پارتیشن پیکربندی است اما
137
00:05:52,270 –> 00:05:54,430
نمایش اجرا وجود ندارد اما
138
00:05:54,430 –> 00:05:56,260
چیزهای بسیار جالب دیگری وجود دارد که
139
00:05:56,260 –> 00:05:58,900
نشان می دهد مسیر نشان می دهد درخت پوشا نشان می دهد
140
00:05:58,900 –> 00:06:00,970
رابط های IP نمایش مختصر رابط IP را نشان می دهد و
141
00:06:00,970 –> 00:06:02,950
ما می خواهیم اکنون همه آنها را پوشش دهید و
142
00:06:02,950 –> 00:06:04,810
می توانید ببینید که پس از ترجمه مجدد به فرهنگ لغت Python چگونه به نظر می رسد،
143
00:06:04,810 –> 00:06:07,060
144
00:06:07,060 –> 00:06:09,190
بنابراین می بینیم که ما همه این
145
00:06:09,190 –> 00:06:11,590
الگوها را داریم و
146
00:06:11,590 –> 00:06:13,840
برای راه اندازی این کار باید یک کار انجام دهیم،
147
00:06:13,840 –> 00:06:16,090
اجازه دهید صفحه خود را پاک کنم ما
148
00:06:16,090 –> 00:06:18,190
باید مطمئن شویم که کل محیط من
149
00:06:18,190 –> 00:06:22,120
می داند کجا باید این الگوها را پیدا کند، بنابراین
150
00:06:22,120 –> 00:06:24,220
کاری که باید انجام دهم این است که باید یک متغیر محیطی را صادر کنم
151
00:06:24,220 –> 00:06:25,900
و
152
00:06:25,900 –> 00:06:29,040
153
00:06:29,040 –> 00:06:32,710
هر زمانی که Net Mikko اجرا شود و شما بگویید، آن متغیر محیطی net text FSM نامیده می شود.
154
00:06:32,710 –> 00:06:33,760
آن را برای استفاده از فناوری
155
00:06:33,760 –> 00:06:35,860
Steff فرض کنید که به طور خودکار
156
00:06:35,860 –> 00:06:39,190
به متن net FSM می رود و به دنبال
157
00:06:39,190 –> 00:06:41,350
دایرکتوری می شود که در آن الگوها
158
00:06:41,350 –> 00:06:44,380
ذخیره می شوند تا بتوانید با صادرات
159
00:06:44,380 –> 00:06:47,650
متن خالص FSM net ببینید Miko می داند آه اینجاست که
160
00:06:47,650 –> 00:06:49,480
همه الگوها ذخیره می شوند که من می توانم
161
00:06:49,480 –> 00:06:52,330
از آنها استفاده کنم. وقتی این دستورات نمایش را اجرا میکنم، بنابراین
162
00:06:52,330 –> 00:06:54,780
اگر ENTER را در اینجا فشار دهم، اکنون میتوانم بگویم echo
163
00:06:54,780 –> 00:07:00,220
net txt FSM و در آنجا
164
00:07:00,220 –> 00:07:01,870
به چک لیست من فکر میکند، در این مرحله
165
00:07:01,870 –> 00:07:05,410
، net Miko را نصب کردهایم که با
166
00:07:05,410 –> 00:07:11,080
متن FSM همراه بود، سپس NTC یا شبکه را شبیهسازی کردیم.
167
00:07:11,080 –> 00:07:13,690
دو الگوی کد و ما متغیر
168
00:07:13,690 –> 00:07:18,090
محیطی net underscore txt FSM را ایجاد کردیم
169
00:07:18,090 –> 00:07:21,070
تا بدین ترتیب net
170
00:07:21,070 –> 00:07:23,860
Miko بداند برای یافتن
171
00:07:23,860 –> 00:07:26,650
همه الگوها به کجا مراجعه کند و در همان پوشه
172
00:07:26,650 –> 00:07:28,690
است که من از مخزن github
173
00:07:28,690 –> 00:07:31,300
به رایانه محلی
174
00:07:31,300 –> 00:07:34,030
خود کلون کردم. کاملاً برای شروع اسکریپت آماده هستند،
175
00:07:34,030 –> 00:07:35,890
بنابراین اجازه دهید صفحه را پاک کنم
176
00:07:35,890 –> 00:07:37,750
و کد vs را باز می کنم و دقیقاً
177
00:07:37,750 –> 00:07:38,380
این کار را
178
00:07:38,380 –> 00:07:40,360
در پوشه iOS من در سمت راست در
179
00:07:40,360 –> 00:07:41,980
سمت راست کد vs انجام می دهم، من می خواهم یک فایل جدید ایجاد کنم
180
00:07:41,980 –> 00:07:43,750
که به آن این نمایش می گوییم. رابط IP
181
00:07:43,750 –> 00:07:48,850
مختصر نقطه py و ما کلید Enter را فشار می دهیم خوب
182
00:07:48,850 –> 00:07:50,110
اول چیزهایی که ابتدا
183
00:07:50,110 –> 00:07:51,640
باید تمام کتابخانه های صحیح را وارد
184
00:07:51,640 –> 00:07:54,070
کنم چون از
185
00:07:54,070 –> 00:07:55,750
متغیرهای محیطی استفاده می کنم، مطمئن می شوم که
186
00:07:55,750 –> 00:07:58,000
سیستم عامل را وارد می کنم تا بتوانم
187
00:07:58,000 –> 00:07:59,670
متغیر محیطی را در محیط متغیر دریافت کنم.
188
00:07:59,670 –> 00:08:02,020
متغیرها از سیستم عامل
189
00:08:02,020 –> 00:08:06,520
و همچنین از فایلهای dot env من
190
00:08:06,520 –> 00:08:08,590
که در آن نام کاربری و رمز عبور خود را ذخیره میکنم،
191
00:08:08,590 –> 00:08:10,750
بنابراین از D و V میگویم
192
00:08:10,750 –> 00:08:15,280
D و V پایین را در خط جدید وارد میکنم،
193
00:08:15,280 –> 00:08:18,070
مطمئن میشوم که D و V کم را اجرا میکنم. به این ترتیب
194
00:08:18,070 –> 00:08:19,690
وقتی اسکریپت شروع می شود به این
195
00:08:19,690 –> 00:08:21,850
روز می رسد و فایل V درست در اینجا جایی که ماوس من
196
00:08:21,850 –> 00:08:24,130
است و همه نام های کاربری و
197
00:08:24,130 –> 00:08:25,780
رمزهای عبور من را که در آن متغیر محیطی ذخیره شده است بارگیری می
198
00:08:25,780 –> 00:08:27,790
کند اما اکنون می
199
00:08:27,790 –> 00:08:32,039
خواهم بگویم از net Mikko import
200
00:08:32,039 –> 00:08:34,330
connect کنترل کننده زیرا این همان چیزی است که
201
00:08:34,330 –> 00:08:35,979
ما برای اتصال به این
202
00:08:35,979 –> 00:08:38,470
دستگاه ها استفاده می کنیم اکنون در این قطعه کد بعدی،
203
00:08:38,470 –> 00:08:39,970
من فقط می خواهم این را در آن بچسب