فصل 1: مقدمهای بر برنامهنویسی شبکه با پایتون
1-1. شبکه چیست؟ بررسی اجمالی مفاهیم شبکه
1-2. چرا پایتون برای برنامهنویسی شبکه؟
1-3. پروتکلهای کلیدی شبکه و کاربردهای آنها
1-4. راهاندازی محیط شبکهای پایتون
1-5. نحوه استفاده از این کتاب: راهنمای یادگیری شبکه با پایتون
بخش 1: مبانی شبکه
فصل 2: درک مدلهای OSI و TCP/IP
2-1. مدل OSI : لایهها و عملکرد آنها
2-2. مدل TCP/IP : یک رویکرد عملی
2-3. چگونه دادهها از طریق شبکهها منتقل میشوند
2-4. آشنایی با آدرسدهی IP و زیرشبکه
2-5. مقدمهای بر پورتها و سوکتها
2-6. برنامهنویسی شبکه با پایتون: سوکتها، پروتکلها و موارد دیگر
فصل 3: شروع کار با سوکتهای پایتون
3-1. برنامهنویسی شبکه با پایتون: سوکتها، پروتکلها و موارد دیگر
3-2. سوکت چیست؟ مبانی ارتباطات شبکه
3-3. ایجاد یک کلاینت و سرور TCP ساده در پایتون
3-4. درک سوکتهای مسدودکننده در مقابل سوکتهای غیرمسدودکننده
3-5. پیادهسازی یک سرور و کلاینت UDP ساده
3-6. اداره کردن چندین اتصال با انتخابگرها و تکنیکهای سرکشی
3-7. نتیجهگیری
فصل 4: پیدرپیسازی و انتقال دادهها
4-1. مقدمه
4-2. مقدمهای بر فرمتهای پیدرپیسازی دادهها
4-3. پیدرپیسازی و حذف پیدرپیسازی دادهها در پایتون
4-4. انتقال دادههای ساختاریافته از طریق سوکتها
4-5. درک مفهوم در انتها بودن و ترتیب بایت
4-6. اداره کردن یکپارچگی دادهها با جمع تطبیقی و درهمها
4-7. نتیجهگیری
فصل 5: کار با پروتکلهای شبکه
5-1. مقدمهای بر پروتکلهای TCP/IP (TCP, UDP, ICMP)
5-2. آشنایی با HTTP ، HTTPS و REST APIها
5-3. پیادهسازی یک کلاینت و سرور HTTP ساده
5-4. کار با پروتکلهای ایمیل: SMTP, IMAP, POP3
5-5. معرفی FTP و SFTP برای انتقال فایل
5-6. برنامهنویسی شبکه با پایتون: سوکتها، پروتکلها و موارد دیگر
بخش 2: برنامهنویسی پیشرفته با پایتون
فصل 6: ساخت یک اپلیکیشن چت
6-1. طراحی اپلیکیشن چَت چندکلاینتی
6-2. پیادهسازی سرور چَت: اداره کردن چندین کلاینت
6-3. توسعه کلاینت چَت: ارسال و دریافت پیام
6-4. افزودن ویژگیها: احراز هویت کاربر و پیام خصوصی
6-5. بهبود اپلیکیشن چت با رمزگذاری (SSL/TLS)
6-6. نتیجهگیری
فصل 7 : امنیت شبکه و رمزگذاری
7-1. آشنایی با اصول امنیت شبکه
7-2. پیادهسازی SSL/TLS برای ارتباطات اَمن سوکت
7-3. رمزگذاری دادهها با کتابخانه Cryptography پایتون
7-4. کار با SSH و Paramiko برای اتصالات امن
7-5. اجرای قوانین فایروال و پایش شبکه
فصل 8 : شبکههای ناهمگام با پایتون
8-1. مقدمهای بر برنامهنویسی ناهمگام
8-2. استفاده از Asyncio برای شبکههای ناهمگام
8-3. ساخت سرور و کلاینت TCP/UDP ناهمگام
8-4. اداره کردن همروندی با Asyncio و همروالها
8-5. مطالعه موردی: ساخت یک خزنده وب ناهمگام
8-6. نتیجهگیری
فصل 9 : ساخت RESTful API با پایتون
9-1. آشنایی با معماری و اصول REST
9-2. استفاده از Flask و FAST API برای ساخت REST API
9-3. اجرای اَعمال CRUD از طریق HTTP
9-4. ایمنسازی REST API ها با OAuth2 و JWT
9-5. تست و مستندسازی سرویسهای RESTful
9-6. برنامهنویسی شبکه با پایتون: سوکتها، پروتکلها و موارد دیگر
9-7. شبکههای ناهمگام با Asynchronous
9-8. کار با پروتکلهای شبکه
9-9. نتیجهگیری
فصل 10 :جمعآوری اطلاعات از وب و کلاینتهای HTTP
10-1. مقدمهای بر تکنیکهایهای جمعآوری اطلاعات از وب
10-2. استفاده از Requests و BeautifulSoup برای جمعآوری اطلاعات از وب
10-3. اداره کردن نشستها، کوکیها و سرآیندها
10-4. اجتناب از دامهای جمعکننده اطلاعات از وب: محدودسازی نرخ و Captcha ها
10-5. ملاحظات اخلاقی و جنبههای حقوقی جمعآوری اطلاعات از وب
10-6. بهترین روشها برای جمعآوری اطلاعات از وب اخلاقی و قانونی
10-7. برنامهنویسی شبکه با پایتون: سوکتها، پروتکلها و موارد دیگر
10-8. ملاحظات امنیت شبکه
10-9. نتیجهگیری
فصل 11 : ساخت شبکههای همتا به همتا (P2P)
11-1. آشنایی با معماری شبکه P2P
11-2. پیادهسازی یک سیستم به اشتراکگذاری فایل P2P ساده
11-3. مدیریت همتایان و کشف شبکه
11-4. اداره کردن یکپارچگی و همگامسازی دادهها
11-5. مطالعه موردی: توسعه یک برنامه چت P2P
فصل 12 : کار با دستگاههای اینترنت اشیا
12-1. مقدمهای بر اینترنت اشیا و دستگاههای شبکهای
12-2. ارتباط با دستگاههای اینترنت اشیا از طریق MQTT
12-3. پیادهسازی کنترل از راه دور دستگاه با پایتون
12-4. جمعآوری و تجزیه و تحلیل دادهها از حسگرهای اینترنت اشیا
12-5. ساخت یک سیستم اتوماسیون خانگی ساده با پایتون
12-6. نتیجهگیری
فصل 13 : عملکرد و بهینهسازی شبکه
13-1. اندازهگیری عملکرد شبکه: تأخیر، توان عملیاتی و پهنای باند
13-2. بهینهسازی برنامهنویسی سوکت برای عملکرد بالا
13-3. استفاده از چندنخی و پردازش چندگانه در برنامههای تحت شبکه
13-4. پیادهسازی تعادل بار و تحمل خطا
13-5. پایش و پروفایل کردن ترافیک شبکه
13-6. نتیجهگیری
فصل 14 : اتوماسیون شبکه با پایتون
14-1. مقدمهای بر مفاهیم اتوماسیون شبکه
14-2. خودکارسازی پیکربندی شبکه با پایتون
14-3. استفاده از Netmiko و NAPALM برای مدیریت دستگاه شبکه
14-4. ساخت سیستمهای پایش شبکه و هشداردهی
14-5. مطالعه موردی: اتوماسیون یک شبکه چندسایتی
فصل 15 : توسعه VPN سفارشی
15-1. آشنایی با شبکههای خصوصی مجازی (VPN)
15-2. پیادهسازی یک سرور VPN ساده در پایتون
15-3. ایمنسازی اتصالات VPN با SSL/TLS
15-4. مدیریت مسیریابی و اتصالات کلاینت VPN
15-5. مطالعه موردی: ساختار راهکار VPN مبتنی بر پایتون
15-6. نتیجهگیری
فصل 16 : ساخت یک بویشگر شبکه
16-1. مقدمهای بر شنود بستههای شبکه
16-2. ضبط بستهها با Scapy
16-3. تجزیه و تحلیل ترافیک شبکه برای پروتکلها و الگوها
16-4. شناسایی ناهنجاریها و تهدیدات امنیتی احتمالی
16-5. مطالعه موردی: ساخت یک سیستم تشخیص نفوذ شبکه (NIDS)
16-6. نتیجهگیری
فصل 17 : آینده برنامهنویسی شبکه با پایتون
17-1. روندهای نوظهور در برنامهنویسی شبکه
17-2. مشارکت در انجمن شبکه پایتون
17-3. ساخت پورتفولیو با پروژههای شبکه پایتون
17-4. سخن پایانی: تسلط بر برنامهنویسی شبکه با پایتون
پیوست الف: خلاصه شبکهبندی در پایتون
پ ـ الف ـ 1. فهرست جدولها
پ ـ الف ـ 2. مقدمهای بر برنامهنویسی شبکه با پایتون
پ ـ الف ـ 3. برنامهنویسی سوکت
پ ـ الف ـ 4. TCP (پروتکل کنترل انتقال)
پ ـ الف ـ 5. UDP (پروتکل دیتاگرام کاربر)
پ ـ الف ـ 6. HTTP (پروتکل انتقال فرامتن)
پ ـ الف ـ 7. FTP (پروتکل انتقال فایل)
پ ـ الف ـ 8. SMTP (پروتکل انتقال ایمیل ساده)
پ ـ الف ـ 9. DNS (سیستم نام دامنه)
پ ـ الف ـ 10. SSL/TLS (لایه سوکتهای امن/امنیت لایه حمل)
پ ـ الف ـ 11. شبکههای ناهمگام
پ ـ الف ـ 12. امنیت شبکه
پ ـ الف ـ 13. عیبیابی و اشکالزدایی
پیوست ب: کتابخانهها و ابزارهای توصیه شده برای شبکه
پ ـ ب ـ1. برنامهنویسی شبکه با پایتون: سوکتها، پروتکلها و موارد دیگر
پ ـ ب ـ2. نتیجهگیری
پیوست پ: عیبیابی مسائل رایج شبکه
پ ـ پ ـ1. مقدمه
پ ـ پ ـ2. فهرست مطالب
پ ـ پ ـ3. مشکلات ساده اتصال
پ ـ پ ـ4. مشکلات مربوط به DNS
پ ـ پ ـ5. چالشهای برنامهنویسی سوکت
پ ـ پ ـ6. مسائل HTTP و HTTPS
پ ـ پ ـ7. عیبیابی TCP/IP
پ ـ پ ـ8. مشکلات خاص UDP
پ ـ پ ـ9. فایروال و نگرانیهای امنیتی
پ ـ پ ـ10. عملکرد و بهینهسازی
پ ـ پ ـ11. ابزارها و تکنیکهای اشکالزدایی
واژهنامه انگلیسی به فارسی