#security #bug
دسته بندی
مثال:
فرض کنید یک برنامه ساده با قسمتی برای افزایش موجودی حساب کاربری داریم. این برنامه به گونهای طراحی شده است که هر بار که یک کاربر درخواست افزایش موجودی حساب خود را میدهد، برنامه مقدار موجودی حساب را از دیتابیس بخواند، مقدار جدید را محاسبه و سپس در دیتابیس ذخیره کند.
حالا فرض کنید دو کاربر به طور همزمان درخواست افزایش موجودی حساب خود را میدهند. در صورتی که برنامه ما قابلیت همزمانی (
روشهای جلوگیری:
1- برای عملیاتهایی که به منابع مشترک دسترسی دارند، مکانیزمهای بهروزرسانی انحصاری (
2- در مواردی که از پایگاه داده استفاده میکنید، از تراکنشها برای محدود کردن دسترسیها و بهروزرسانیها استفاده کنید.
3- از مکانیزمهای
4- در زبانهای برنامهنویسی که از نخها (
5- در زبانهای برنامهنویسی که از متغیرهای اتمی پشتیبانی میکنند، از آنها برای جلوگیری از مشکلات
6- طراحی مناسب و اجرای کد با رعایت اصول همزمانی و بهروزرسانی منابع مشترک، مشکلات
.
دسته بندی
Race Conditions
باگ Race Conditions به مشکلاتی در برنامهنویسی اشاره دارد که در آن ترتیب اجرای دستورات توسط برنامه توسط عوامل خارجی تعیین میشود. این موقعیتها به حملهکنندگان اجازه میدهند تا در مواقعی که همزمانی اجرای دستورات در حالی که از منابع مشترک استفاده میکنند، ضعیفی ایجاد کنند و به نحوی اطلاعات را تغییر دهند یا منابع را دسترسیپذیر کنند.مثال:
فرض کنید یک برنامه ساده با قسمتی برای افزایش موجودی حساب کاربری داریم. این برنامه به گونهای طراحی شده است که هر بار که یک کاربر درخواست افزایش موجودی حساب خود را میدهد، برنامه مقدار موجودی حساب را از دیتابیس بخواند، مقدار جدید را محاسبه و سپس در دیتابیس ذخیره کند.
حالا فرض کنید دو کاربر به طور همزمان درخواست افزایش موجودی حساب خود را میدهند. در صورتی که برنامه ما قابلیت همزمانی (
Concurrency) را به خوبی مدیریت نکند، دو کاربر ممکن است در همان لحظه مقدار موجودی را بخوانند، هر دو مقدار جدید را محاسبه کنند و در نهایت مقدار موجودی را با توجه به محاسبات خود به روزرسانی کنند. اینجاست که Race Conditions ایجاد میشود؛ اگر هر دو کاربر به همان زمان به دیتابیس نوشته خود دسترسی داشته باشند، ممکن است یکی از آنها تغییرات دیگری که توسط دیگری انجام داده شده است را پوشش ندهد.روشهای جلوگیری:
1- برای عملیاتهایی که به منابع مشترک دسترسی دارند، مکانیزمهای بهروزرسانی انحصاری (
Locking) را بهکار ببرید تا فقط یک نخ اجازه دسترسی و تغییر منبع را داشته باشد.2- در مواردی که از پایگاه داده استفاده میکنید، از تراکنشها برای محدود کردن دسترسیها و بهروزرسانیها استفاده کنید.
3- از مکانیزمهای
Semaphore و Mutex برای مدیریت دسترسیهای همزمانی در برنامهها استفاده کنید.4- در زبانهای برنامهنویسی که از نخها (
Threads) استفاده میکنند، از مکانیزمهای Thread-safe مانند synchronized استفاده کنید.5- در زبانهای برنامهنویسی که از متغیرهای اتمی پشتیبانی میکنند، از آنها برای جلوگیری از مشکلات
Race Conditions استفاده کنید.6- طراحی مناسب و اجرای کد با رعایت اصول همزمانی و بهروزرسانی منابع مشترک، مشکلات
Race Conditions را کاهش میدهد..
خب این مبحث باگ های امنیتی هم تموم شد
فک کنم ۲۳ تا شد
خیلی داشت خسته کننده میشد که از ۴۰ تا ممبر عزیز ۵ تاشون لفت دادن😂
در نتیجه بهتره از هر مبحث تعداد کمتری توضیح داد که خسته کننده نشه
ایده ایی برای مبحث جدید ندارم
پس تو این چند روز پست زیادی نیست
شاید فکر کنید چرا با ۳۵ تا عضو باز هم پست میزارم😂
ولی خب از همین ۳۵ تا ۱ نفر هم چیز جدیدی یاد بگیره برای من کافیه
و دوم اینکه خودم هم با نوشتن هر پست چیز های جدیدی یاد میگیرم
در اخر اگه مشکلی توی پست ها بود بگید
و اگه نظری برای مبحث جدید داشتید اون رو هم بگید❤️
.
فک کنم ۲۳ تا شد
خیلی داشت خسته کننده میشد که از ۴۰ تا ممبر عزیز ۵ تاشون لفت دادن😂
در نتیجه بهتره از هر مبحث تعداد کمتری توضیح داد که خسته کننده نشه
ایده ایی برای مبحث جدید ندارم
پس تو این چند روز پست زیادی نیست
شاید فکر کنید چرا با ۳۵ تا عضو باز هم پست میزارم😂
ولی خب از همین ۳۵ تا ۱ نفر هم چیز جدیدی یاد بگیره برای من کافیه
و دوم اینکه خودم هم با نوشتن هر پست چیز های جدیدی یاد میگیرم
در اخر اگه مشکلی توی پست ها بود بگید
و اگه نظری برای مبحث جدید داشتید اون رو هم بگید❤️
.
❤4
چطور توی
یه موضوعی که شاید براتون جالب باشه اکستنشن های
قطعا کسایی که با
مثل
و یک سری ابزار توسعه داده شده به زبان های C یا C++ هستند که قابلیت هایی رو به
هدف این پست تعریف اکستنشن ها نیست بلکه ساخت یک اکستنشن شخصی هست که میتونه جالب باشه برای همه.
1- در مرحله اول باید محیط توسعه رو آماده کنیم
من توی این آموزش از یک دبین بیس (
و از کامپایلر
در ادامه ابزار رو نصب میکنیم
کد ها توی دو فایل
php_helloworld.h:
اول محیط ساخت رو آماده میکنیم
میتونید
Result:
Hello World! (from our extension)
منبع
.
php اکستنشن خودمون رو بسازیم؟یه موضوعی که شاید براتون جالب باشه اکستنشن های
php هستقطعا کسایی که با
php کار میکنن با این اکستنشن ها آشنا هستنمثل
curl , gd , pdo , mysqli و....و یک سری ابزار توسعه داده شده به زبان های C یا C++ هستند که قابلیت هایی رو به
php اضافه میکنن.هدف این پست تعریف اکستنشن ها نیست بلکه ساخت یک اکستنشن شخصی هست که میتونه جالب باشه برای همه.
1- در مرحله اول باید محیط توسعه رو آماده کنیم
من توی این آموزش از یک دبین بیس (
WSL-Ubuntu) استفاده کردم که کاربر های ویندوزهم میتونن با wsl کار کننو از کامپایلر
GCC، ادیتور هم که اهمیتی ندارهدر ادامه ابزار رو نصب میکنیم
sudo apt-get install build-essential php8.0 php8.0-dev
2- در مرحله بعد باید فایل کانفیگ اکستنش رو درست بکنیم به نام config.m4 با مقادیر زیر:PHP_ARG_ENABLE(php_helloworld, Whether to enable the HelloWorldPHP extension, [ --enable-helloworld-php Enable HelloWorldPHP])
if test "$PHP_HELLOWORLD" != "no"; then
PHP_NEW_EXTENSION(php_helloworld, php_helloworld.c, $ext_shared)
fi
3- در مرحله سوم شروع به کد زدن اکستنشن خودمون میکنیم (این اکستنشن صرفا یه تابع helloworld درست میکنه)کد ها توی دو فایل
php_helloworld.h و php_helloworld.h نوشته میشن که در ادامه کد هارو میبینید:php_helloworld.h:
// we define Module constants
#define PHP_HELLOWORLD_EXTNAME "php_helloworld"
#define PHP_HELLOWORLD_VERSION "0.0.1"
// then we declare the function to be exported
PHP_FUNCTION(helloworld_php);
php_helloworld.c:// include the PHP API itself
#include <php.h>
// then include the header of your extension
#include "php_helloworld.h"
// register our function to the PHP API
// so that PHP knows, which functions are in this module
zend_function_entry helloworld_php_functions[] = {
PHP_FE(helloworld_php, NULL)
{NULL, NULL, NULL}
};
// some pieces of information about our module
zend_module_entry helloworld_php_module_entry = {
STANDARD_MODULE_HEADER,
PHP_HELLOWORLD_EXTNAME,
helloworld_php_functions,
NULL,
NULL,
NULL,
NULL,
NULL,
PHP_HELLOWORLD_VERSION,
STANDARD_MODULE_PROPERTIES
};
// use a macro to output additional C code, to make ext dynamically loadable
ZEND_GET_MODULE(helloworld_php)
// Finally, we implement our "Hello World" function
// this function will be made available to PHP
// and prints to PHP stdout using printf
PHP_FUNCTION(helloworld_php) {
php_printf("Hello World! (from our extension)\n");
}
4- حالا نوبت build کردنش هست:اول محیط ساخت رو آماده میکنیم
phpizeسپس بیلد رو کانفیگ میکنیم و افزونه رو فعال می کنیم:
./configure --enable-php-helloworldور در نهایت بیلدش میکنیم
make
sudo make install
5- حالا نوبت تست هستمیتونید
extension=php_helloworld رو به فایل php.ini خودتون اضافه کنید و سپس تابع helloworld_php() رو توی یک فایل php فراخوانی کنید یا در ترمینال خودتون درستور زیر رو بزنیدphp -d extension=php_helloworld.so -r 'helloworld_php();'و در نهایت زیبایی رو میبینید
Result:
Hello World! (from our extension)
منبع
.
سلام رفقا 👋🏻
توی این فولدر تلگرام ی سری کانال های خوب برنامه نویسی رو اد کردم.
روش بزنید تا به پوشه های تلگرامتون اضافه بشه
📁 t.me/addlist/NvmUA9kgu8w3NWY0
اگر شما هم کانال برنامه نویسی دارید برای اضافه شدن کانالتون به این لیست، اینجا بهم پیام بدید
سلام رفقا 👋🏻
توی این فولدر تلگرام ی سری کانال های خوب برنامه نویسی رو اد کردم.
روش بزنید تا به پوشه های تلگرامتون اضافه بشه
📁 t.me/addlist/NvmUA9kgu8w3NWY0
اگر شما هم کانال برنامه نویسی دارید برای اضافه شدن کانالتون به این لیست، اینجا بهم پیام بدید
🔥4
#composer
شاید پیش اومده باشه پکیج یا کتابخونه ایی رو توسعه داده باشید و قصد داشته باشید اون رو به کامپوزر اضافه کنید.
کار پیچیده ایی نیست!
اول توجه داشته باشید که پروژه تون روی جایی مثل گیت هاب به صورت پابلیک وجود داشته باشه
(من فقط با گیتهاب کارکردم و برای بقیه سایت های مشابه گیت هاب تست نکردم اطلاعی ندارم اگر میدونید بگید)
در مرحله اول باید کامپوزر رو روی سیستمتون نصب کنید که میتونید از این لینک استفاده کنید.
سپس یک اکانت توی packagist بسازید، بهتره با گیت هابتون لاگین کنید.
در مرحله بعد یک ترمینال باز کنید و وارد روت پروژه خودتون بشید و کامند زیر رو بزنید:
1- سوال اول اسم پکیج شمارو میخواد که از دو بخش وندور و نام پیکیج تشکیل میشه و باید فرمت زیر رو داشته باشه
و قسمت
به عنوان مثال برای آدرس زیر
3- سوال سوم ناشر پروژه
4- سوال چهارم
سوال هفتم و هشتم میگه میخواید دپندنسی های پروژه رو اضافه کنید
میتونید اضافه کنید یا
سوال نهم
در نهایت یک نمایی از کانفیگ ساخته شده رو به شما میده و شما با زدن
پروژه رو مجدد کامیت و پوش کنید تا موارد ساخته شده مربوط به کامپوزر آپدیت بشه و وارد packagist بشید، از منو بالا
اگر اروری نداشته باشید با موفقیت اضافه میشه و بعد از اون از طریق
برای مدیریت ورژن های پروژه میتونید هر ورژن رو توی
سوال یا اشکالی بود بپرسید
.
شاید پیش اومده باشه پکیج یا کتابخونه ایی رو توسعه داده باشید و قصد داشته باشید اون رو به کامپوزر اضافه کنید.
کار پیچیده ایی نیست!
اول توجه داشته باشید که پروژه تون روی جایی مثل گیت هاب به صورت پابلیک وجود داشته باشه
(من فقط با گیتهاب کارکردم و برای بقیه سایت های مشابه گیت هاب تست نکردم اطلاعی ندارم اگر میدونید بگید)
در مرحله اول باید کامپوزر رو روی سیستمتون نصب کنید که میتونید از این لینک استفاده کنید.
سپس یک اکانت توی packagist بسازید، بهتره با گیت هابتون لاگین کنید.
در مرحله بعد یک ترمینال باز کنید و وارد روت پروژه خودتون بشید و کامند زیر رو بزنید:
composer init
چند سوال ازتون میپرسه که به ترتیب بررسی میکنیم:1- سوال اول اسم پکیج شمارو میخواد که از دو بخش وندور و نام پیکیج تشکیل میشه و باید فرمت زیر رو داشته باشه
vendor/nameقسمت
vendor رو یوزرنیم گیت هابتون بزارید و قسمت
name هم نام ریوزیتوری که پروژه تون داخلش قرار دارهبه عنوان مثال برای آدرس زیر
github.com/myGithub/myLibraryمقدار ریز رو وارد کنید
myGithub/myLibrary
2- سوال دوم ازتون توضیحات پروژه رو میخواد3- سوال سوم ناشر پروژه
4- سوال چهارم
Minimum Stability هست که میتونید یکی از موارد زیر رو بسته به پروژه بزنید یا خالی بزاریدstable, RC, beta, alpha, dev
5- سوال پنجم نوع پیکج هست که میتونه یکی از موارد زیر بر اساس پروژه باشه یا خالی بزاریدlibrary, project, metapackage, composer-plugin
6- سوال ششم لایسنس پروژه رو میخواد که باز میتونید خالی بزاریدسوال هفتم و هشتم میگه میخواید دپندنسی های پروژه رو اضافه کنید
میتونید اضافه کنید یا
no بزنید و بعدا اضافه کنیدسوال نهم
namespace هایی که میخواید autoload بشه رو میخواد که باز هم میتونید skip کنید و بعدا اضافه کنید.در نهایت یک نمایی از کانفیگ ساخته شده رو به شما میده و شما با زدن
Enter تاییدش میکنید.پروژه رو مجدد کامیت و پوش کنید تا موارد ساخته شده مربوط به کامپوزر آپدیت بشه و وارد packagist بشید، از منو بالا
Submit رو بزنید و آدرس کامل ریپوزیتوری پروژه تون رو وارد کنید و Check رو بزنید.اگر اروری نداشته باشید با موفقیت اضافه میشه و بعد از اون از طریق
composer میتونید پروژه رو دانلود کنید.برای مدیریت ورژن های پروژه میتونید هر ورژن رو توی
branch جدا با نام ورژن قرار بدید.سوال یا اشکالی بود بپرسید
.
🔥2
درود به همه
اگر مبحث یا موردی مد نظرتون هست بگید توضیح بدیم
مهم نیست چی باشه فقط توی حوزه برنامه نویسی باشه
اگر بلد بودم توضیح میدم، بلدهم نبودم با هم یاد میگیریم🫂
.
اگر مبحث یا موردی مد نظرتون هست بگید توضیح بدیم
مهم نیست چی باشه فقط توی حوزه برنامه نویسی باشه
اگر بلد بودم توضیح میدم، بلدهم نبودم با هم یاد میگیریم🫂
.
❤5
ساخت autoloader در php
یکی از موضوعات مهم در برنامه های مولتی فایل که از چندین فایل تشکیل شدن، لود کردن فایل ها با ترتیب درست هست.
اگر بخواهیم با
برای این موقعیت تابعی توی
بریم یک مثال ازش بنویسیم:
درون این فانکشن شما باید عملیاتی که می خواهید برای لود شدن کلاس انجام شود را بنویسید.
در مثال بالا تنها فایل با نام کلاس و پسوند
متغییر
اگر در پروژه خود از
به عوان مثال اگر یک
در نهایت نکاتی که بسیار مهم هستند برای استفاده از
1- توجه داشته باشید نام
2- نام کلاسی که درون یک فایل قرار دارد دقیقا با نام فایل یکی باشد. (حساس به حروف کوچک و برزگ)
کافی است
سپس فایل
مورد آخر درصورتی که پروژه شما ساختار استانداردی داشته باشد میتونید از
.
یکی از موضوعات مهم در برنامه های مولتی فایل که از چندین فایل تشکیل شدن، لود کردن فایل ها با ترتیب درست هست.
اگر بخواهیم با
include یا require عمل autoloading رو انجام بدیم قطعا کد کثیفی داریم، ممکنه بعضی مواقع تا هزاران فایل داشته باشیم که نمیشه هزار بار require کرد که ترتیب لود فایل ها هم به مشکل نخوره.برای این موقعیت تابعی توی
php وجود داره به نام spl_autoload_register که ورودی اون یک callable هست.بریم یک مثال ازش بنویسیم:
spl_autoload_register(function ($className) {
require_once "$className.php";
});
همانطور که گفته شد ورودی تابع یک فانکشن هست، این فانکشن به صورت پیشفرض نام کلاس صدا زده شده را به همراه دارد که در مثال بالا در متغییر $className قرار دارد.درون این فانکشن شما باید عملیاتی که می خواهید برای لود شدن کلاس انجام شود را بنویسید.
در مثال بالا تنها فایل با نام کلاس و پسوند
php صدا زده شده.متغییر
$className در حالت عادی نام کلاس شما هست، اگر کلاسی با نام User را صدا بزنیم مقدار $className برابر با User میشود.اگر در پروژه خود از
namespace ( راجب namespace ها بخوانید ) استفاده کنید مقدار $className برابر با:namespace + classname به عوان مثال اگر یک
namespace با نام MyProject\Class داشته باشید و یک کلاس به نام User، مقدار $className برابر با MyProject\Class\User می شود.در نهایت نکاتی که بسیار مهم هستند برای استفاده از
autoload :1- توجه داشته باشید نام
namespace دقیقا با ساختار پوشه بندی شما یکی باشد. (حساس به حروف کوچک و برزگ)2- نام کلاسی که درون یک فایل قرار دارد دقیقا با نام فایل یکی باشد. (حساس به حروف کوچک و برزگ)
کافی است
spl_autoload_register را درون یک فایل بنوسید و بسته به پروژه خود آن را برنامه ریزی کنید.سپس فایل
autoload را در اولین قسمت پروژه require کنید و بقیه require هارا به autoload بسپارید.مورد آخر درصورتی که پروژه شما ساختار استانداردی داشته باشد میتونید از
composer هم استفاده کنید به جای autoloader شخصی سازی شده..
👍6
| AmirHossein |
کدوم یکی از مباحث زیر رو شروع کنیم؟
This media is not supported in your browser
VIEW IN TELEGRAM
🤣6👍1
| AmirHossein |
کدوم یکی از مباحث زیر رو شروع کنیم؟
خب مرسی از اعضا کانال که از طنز بودن خودشون کم نزاشتن🫂
طبق نتایج امشب آموزش حاک ناسا داریم🗿
و از فردا مبحث آشنایی با شبکه و انواع پروتکل ها رو شروع میکنیم.
سعی میکنم طولانی نشه که حوصله سر بر نباشه براتون❤️
طبق نتایج امشب آموزش حاک ناسا داریم🗿
و از فردا مبحث آشنایی با شبکه و انواع پروتکل ها رو شروع میکنیم.
سعی میکنم طولانی نشه که حوصله سر بر نباشه براتون❤️
👍1😁1
آموزش حاک ناسا با اچ تی ام ال:
1- یک فایل
.
1- یک فایل
index.html درست کنید و کد زیر را درون آن بریزید:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<noscript>Document</noscript>
</head>
<body>
<div style="text-align: center;">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTK4MfykJOLFagA449Lv7VGZpTCj3pAbluGFQ&usqp=CAU" style="width: 80%;">
</div>
</body>
</html>
2- حالا فایل را باز کنید و واکنش ناسا را ببینید..
👍3😁1
خب طبق آرا از فردا مبحث آشنایی با شبکه و انواع پروتکل ها رو شروع میکنیم.
سرفصل ها به این صورت هست
1- شبکه چیست؟
2- پروتکل چیست؟
3- توضیح انواع پروتکل ها
توی این مبحث 14 تا از مهم ترین پروتکل هارو توضیح میدم.
اگر پروتکل مهمی مد نظر هست که نام برده نشد زیر پست بگید.
.
سرفصل ها به این صورت هست
1- شبکه چیست؟
2- پروتکل چیست؟
3- توضیح انواع پروتکل ها
توی این مبحث 14 تا از مهم ترین پروتکل هارو توضیح میدم.
TCP UDP
HTTP HTTPS FTP SMTP POP3
IMAP
DNS
SNMP DHCP ICMP
ARP BGP اگر پروتکل مهمی مد نظر هست که نام برده نشد زیر پست بگید.
.
👍12🤩2
#network #protocol
شبکه چیست؟
شبکه به ارتباط و اشتراک گذاری اطلاعات و منابع بین دستگاهها یا کامپیوترها در یک محیط متصل اشاره دارند. این محیط میتواند شبکههای کامپیوتری محلی (
مثال:
فرض کنید یک
در این
برای ارتباط دستگاهها با یکدیگر، از کابلها (مانند کابلهای اترنت) و تجهیزات شبکه (مثل سوئیچها و روترها) استفاده میشود. سوئیچها به عنوان مراکز توزیع دادهها عمل میکنند و به دستگاهها کمک میکنند تا بتوانند با یکدیگر ارتباط برقرار کنند.
هر دستگاه در شبکه با یک آدرس
دستگاهها میتوانند اطلاعات را به یکدیگر ارسال و دریافت کنند. به عنوان مثال، یک کامپیوتر میتواند به یک چاپگر درخواست ارسال کند تا یک صفحه را چاپ کند، یا دو کامپیوتر میتوانند اطلاعات فایل را به اشتراک بگذارند.
برای انجام ارتباطات در شبکه، دستگاهها باید از پروتکلها و قوانین مشخصی پیروی کنند. به عنوان مثال، در شبکههای
اگر یک کارمند در یک کامپیوتر اطلاعاتی را بر روی یک شبکهسرور ذخیره کند، سایر کارمندان میتوانند از دستگاههای خود به شبکه دسترسی پیدا کنند و اطلاعات را از سرور بازیابی کنند.
به عنوان یک مثال سادهتر، میتوانید این
.
شبکه چیست؟
شبکه به ارتباط و اشتراک گذاری اطلاعات و منابع بین دستگاهها یا کامپیوترها در یک محیط متصل اشاره دارند. این محیط میتواند شبکههای کامپیوتری محلی (
Local Area Network یا LAN) در یک سازمان یا، شبکههای وسیع (Wide Area Network یا WAN) مثل اینترنت.مثال:
فرض کنید یک
LAN در یک دفتر کار وجود دارد:در این
LAN، ما دستگاههای مختلفی داریم، از جمله کامپیوترها، پرینترها، تلفنها و دیگر تجهیزات شبکه. هر دستگاه به یک شیوهای به شبکه متصل است.برای ارتباط دستگاهها با یکدیگر، از کابلها (مانند کابلهای اترنت) و تجهیزات شبکه (مثل سوئیچها و روترها) استفاده میشود. سوئیچها به عنوان مراکز توزیع دادهها عمل میکنند و به دستگاهها کمک میکنند تا بتوانند با یکدیگر ارتباط برقرار کنند.
هر دستگاه در شبکه با یک آدرس
IP منحصر به فرد مشخص میشود. این آدرسها مشابه آدرسهای منزل برای دستگاهها هستند و اجازه میدهند دستگاهها در شبکه یکدیگر را تشخیص دهند و با آنها ارتباط برقرار کنند.دستگاهها میتوانند اطلاعات را به یکدیگر ارسال و دریافت کنند. به عنوان مثال، یک کامپیوتر میتواند به یک چاپگر درخواست ارسال کند تا یک صفحه را چاپ کند، یا دو کامپیوتر میتوانند اطلاعات فایل را به اشتراک بگذارند.
برای انجام ارتباطات در شبکه، دستگاهها باید از پروتکلها و قوانین مشخصی پیروی کنند. به عنوان مثال، در شبکههای
IP، اطلاعات با استفاده از پروتکل TCP/IP یا UDP/IP انتقال مییابند که در ادامه راجع این پروتکل ها بحث می شود.اگر یک کارمند در یک کامپیوتر اطلاعاتی را بر روی یک شبکهسرور ذخیره کند، سایر کارمندان میتوانند از دستگاههای خود به شبکه دسترسی پیدا کنند و اطلاعات را از سرور بازیابی کنند.
به عنوان یک مثال سادهتر، میتوانید این
LAN را مانند یک محیط مشابه به یک خانه فرض کنید که دارای دستگاههای مختلفی مانند تلویزیون، تلفن، رایانه و دستگاههای مخابراتی است، و این دستگاهها با یکدیگر ارتباط دارند تا اطلاعات و منابع را به اشتراک بگذارند..
👍6
#network #protocol
قبل از اینکه به ادامه بحث بپردازیم بهتره با چند تا از اجزا مهم توی شبکه آشنا بشیم:
1- مودم (
مودم یک دستگاه است که ارتباط شما را با شبکه اینترنت برقرار میکند. وقتی شما به ارائهدهنده اینترنت خود متصل میشوید (از طریق
2- روتر (
روتر یک دستگاه است که پکتهای داده را از یک شبکه به شبکه دیگر میفرستد. این دستگاه تصمیم میگیرد که دادهها را به کدام دستگاه در شبکه میفرستد این تصمیم بر اساس آدرس
3- فایروال (
فایروال یک دستگاه یا نرمافزاری است که برای محافظت از شبکه شما در برابر تهدیدات امنیتی از جمله حملات نفوذ و برنامههای مخرب مورد استفاده قرار میگیرد. فایروال قوانینی را تعیین میکند که کدام دادهها میتوانند وارد شبکه شما شوند و کدام دادهها باید مسدود شوند.
4- سوئیچ (
سوئیچ یک دستگاه شبکه است که به شما اجازه میدهد تا چندین دستگاه را به یکدیگر متصل کنید و ارتباطات شبکه بین آنها را فراهم کنید. این دستگاه بر اساس آدرس
.
قبل از اینکه به ادامه بحث بپردازیم بهتره با چند تا از اجزا مهم توی شبکه آشنا بشیم:
1- مودم (
Modem):مودم یک دستگاه است که ارتباط شما را با شبکه اینترنت برقرار میکند. وقتی شما به ارائهدهنده اینترنت خود متصل میشوید (از طریق
ADSL، کابل کواکسیال، فیبر نوری و ...)، مودم این اتصال را ترجمه و تبدیل میکند تا دستگاههای شما بتوانند از اینترنت استفاده کنند.2- روتر (
Router):روتر یک دستگاه است که پکتهای داده را از یک شبکه به شبکه دیگر میفرستد. این دستگاه تصمیم میگیرد که دادهها را به کدام دستگاه در شبکه میفرستد این تصمیم بر اساس آدرس
IP گرفته می شود. همچنین، روتر معمولاً قابلیت ارتباط داخلی و خارجی را فراهم میکند. این به شما اجازه میدهد تا چندین دستگاه به یک اتصال اینترنت متصل شوند و با اینترنت ارتباط برقرار کنند.3- فایروال (
Firewall):فایروال یک دستگاه یا نرمافزاری است که برای محافظت از شبکه شما در برابر تهدیدات امنیتی از جمله حملات نفوذ و برنامههای مخرب مورد استفاده قرار میگیرد. فایروال قوانینی را تعیین میکند که کدام دادهها میتوانند وارد شبکه شما شوند و کدام دادهها باید مسدود شوند.
4- سوئیچ (
Switch):سوئیچ یک دستگاه شبکه است که به شما اجازه میدهد تا چندین دستگاه را به یکدیگر متصل کنید و ارتباطات شبکه بین آنها را فراهم کنید. این دستگاه بر اساس آدرس
MAC دستگاهها به طور هوشمند دادهها را ارسال میکند. به عنوان مثال، اگر شما چند کامپیوتر و چاپگرها را به یک سوئیچ متصل کنید، آنها میتوانند به آسانی اطلاعات را به یکدیگر ارسال کرده و اشتراک گذاری منابع شبکه را انجام دهند..
👍2
#network #protocol
پروتکل چیست؟
پروتکلها به عنوان تعیین کنندههای قواعد و فرمتهای ارتباطی بین دستگاهها در شبکهها عمل میکنند. آنها نقش بسیار مهمی در امنیت، مدیریت، و ارتباطات شبکه دارند.
مثال:
پروتکل
شما در مرورگر خود
در وبسرور، سرور
وبسرور به شما یک پاسخ
مرورگر شما پاسخ را دریافت کرده و آن را تجزیه و تحلیل میکند. سپس صفحه وب را با توجه به محتوا و اطلاعات دریافتی از وبسرور نمایش میدهد.
پروتکلها میتوانند تعیین کنندههای ارتباطی بین دستگاهها باشند. در اینجا،
.
پروتکل چیست؟
پروتکلها به عنوان تعیین کنندههای قواعد و فرمتهای ارتباطی بین دستگاهها در شبکهها عمل میکنند. آنها نقش بسیار مهمی در امنیت، مدیریت، و ارتباطات شبکه دارند.
مثال:
پروتکل
HTTP یکی از پروتکلهای مهم در شبکههای کامپیوتری است که برای انتقال اطلاعات و صفحات وب بین مرورگر و وب سرورها استفاده میشود. برای درک بهتر، فرض کنید که شما یک مرورگر وب مثل Chrome را باز کردهاید و قصد دارید یک وبسایت را مشاهده کنید.شما در مرورگر خود
URL وبسایت را وارد میکنید، به عنوان مثال: http://www.example.com. وقتی شما این URL را وارد میکنید و Enter را میزنید، مرورگر شروع به ارسال یک درخواست HTTP به وبسرور میکند. این درخواست به عنوان GET Request شناخته میشود.در وبسرور، سرور
HTTP درخواست را دریافت میکند. وبسرور سپس به درخواست شما پاسخ میدهد. اگر درخواست معتبر باشد و صفحه مورد نظر وجود داشته باشد، وبسرور پاسخی به شما ارسال میکند.وبسرور به شما یک پاسخ
HTTP ارسال میکند. این پاسخ شامل کدهای وضعیت مانند 200 OK (که به معنای درخواست موفقیتآمیز است)، هدرهایی (Headers) که اطلاعات اضافی مثل نوع محتوا و انتقال فایل را تعیین میکنند، و بدنه پیام (Body) که معمولاً محتوای صفحه وب است.مرورگر شما پاسخ را دریافت کرده و آن را تجزیه و تحلیل میکند. سپس صفحه وب را با توجه به محتوا و اطلاعات دریافتی از وبسرور نمایش میدهد.
پروتکلها میتوانند تعیین کنندههای ارتباطی بین دستگاهها باشند. در اینجا،
HTTP به مرورگر و وبسرور کمک میکند تا ارتباط و تبادل اطلاعات را انجام دهند..
❤3
#network #protocol
پروتکل TCP - Transmission Control Protocol
پروتکل
پروتکل
توضیح :
اولین مرحله در
مرحله 1 : دستگاه ارسال (
مرحله 2 : دستگاه مقصد دریافت بسته
مرحله 3 : دستگاه ارسال، دریافت بسته
بعد از برقراری اتصال، دستگاهها میتوانند دادهها را به صورت امن ارسال و دریافت کنند.
هنگامی که دادهها از یک دستگاه به دیگری ارسال میشوند،
دستگاه گیرنده باید تأیید دریافت داده را ارسال کند تا دستگاه فرستنده بداند که دادهها به درستی دریافت شدهاند.
مثال:
فرض کنید که شما یک وبسرور دارید و یک مرورگر از طریق
مرورگر یک درخواست
وبسرور درخواست را دریافت کرده و یک صفحه وب به عنوان پاسخ ارسال میکند.
مرورگر پاسخ را دریافت کرده و تأیید دریافت را به وبسرور ارسال میکند.
وبسرور تأیید دریافت را دریافت کرده و اتصال را می بندد و صفحه وب به مرورگر نمایش میدهد.
در نهایت، با استفاده از پروتکل
@AmirhDeveloper
.
پروتکل TCP - Transmission Control Protocol
پروتکل
TCP یکی از مهمترین پروتکلها در مدل OSI (مدل مرجع ارتباطات) است که در لایه ترانسپورت قرار دارد. این پروتکل برای ارتباطات امن و اطمینانپذیر بین دو دستگاه در شبکههای کامپیوتری مورد استفاده قرار میگیرد.پروتکل
TCP یک پروتکل اتصال گرا (Connection-Oriented) است، به این معنی که قبل از ارسال دادهها، یک اتصال بین دو دستگاه برقرار میشود و سپس دادهها به صورت مطمئن و به ترتیب ارسال میشوند. این پروتکل از مفاهیمی مانند تأیید دریافت (Acknowledgment)، ترتیب (Sequencing) و بازیابی خطا (Error Recovery) استفاده میکند تا اطمینان حاصل کند که دادهها به درستی و بدون اشکال انتقال پیدا میکنند.توضیح :
اولین مرحله در
TCP برقراری اتصال است. این مرحله با استفاده از Three-Way Handshake انجام میشود که شامل سه مرحله است:مرحله 1 : دستگاه ارسال (
Client) یک بسته SYN (Synchronize) به دستگاه مقصد (Server) ارسال میکند تا اتصال را درخواست کند.مرحله 2 : دستگاه مقصد دریافت بسته
SYN و درخواست اتصال را میپذیرد و یک بسته SYN-ACK به دستگاه ارسال، ارسال میکند تا تصدیق کند که اتصال درخواست شده است.مرحله 3 : دستگاه ارسال، دریافت بسته
SYN-ACK را تأیید کرده و اتصال برقرار می شود.بعد از برقراری اتصال، دستگاهها میتوانند دادهها را به صورت امن ارسال و دریافت کنند.
TCP از مفهوم بایتهای تأییدی (Sequence Numbers) برای اطمینان از ترتیب صحیح دادهها استفاده میکند.هنگامی که دادهها از یک دستگاه به دیگری ارسال میشوند،
دستگاه گیرنده باید تأیید دریافت داده را ارسال کند تا دستگاه فرستنده بداند که دادهها به درستی دریافت شدهاند.
مثال:
فرض کنید که شما یک وبسرور دارید و یک مرورگر از طریق
HTTP (که از TCP استفاده میکند) به وبسرور دسترسی مییابد تا یک صفحه وب را درخواست کند. مراحل اتصال و ارسال دادهها میتواند به این شکل باشد:مرورگر یک درخواست
HTTP به وبسرور ارسال میکند.وبسرور درخواست را دریافت کرده و یک صفحه وب به عنوان پاسخ ارسال میکند.
مرورگر پاسخ را دریافت کرده و تأیید دریافت را به وبسرور ارسال میکند.
وبسرور تأیید دریافت را دریافت کرده و اتصال را می بندد و صفحه وب به مرورگر نمایش میدهد.
در نهایت، با استفاده از پروتکل
TCP، ارتباط ایمن و مطمئن بین مرورگر و وبسرور برقرار میشود تا دادهها به درستی انتقال پیدا کنند و اطمینان حاصل شود که هیچ دادهای در انتقال از دست نمیرود.@AmirhDeveloper
.
👍1
#network #protocol
پروتکل UDP - User Datagram Protocol
پروتکل
توضیح:
پروتکل
مثال:
فرض کنید که شما یک برنامه چت ساده دارید که از
یک کاربر میخواهد پیامی به یک کاربر دیگر ارسال کند. برنامه چت، پیام را به فرمتی ساده بسته بندی کرده و آن را به آدرس
دریافت کننده (کاربر دیگر) برنامه چت خود را باز میکند و در انتظار دریافت پیام است. وقتی پیام به آدرس
—
پروتکل
یکی از ویژگیهای
بنابراین،
@AmirhDeveloper
.
پروتکل UDP - User Datagram Protocol
پروتکل
UDP یکی دیگر از پروتکلهای ارتباطی در مدل OSI است که در لایه ترانسپورت قرار دارد. UDP به عنوان یک پروتکل بدون اتصال (Connectionless) شناخته میشود، به این معنی که ارتباطی پایدار و برقراری اتصال قبل از ارسال دادهها انجام نمیشود. این پروتکل مناسب برای ارسال دادههایی که به سرعت باید ارسال و دریافت شوند و از اتصال پایدار نیازی ندارند، مثل فیلم و صدا در ویدئوکنفرانسها استفاده میشود.توضیح:
پروتکل
UDP یک پروتکل ساده است که برای ارسال دادهها بدون ایجاد اتصال برقرار میکند. این پروتکل تنها دو مفهوم اساسی را دارد: پورت مبدأ (Source Port) و پورت مقصد (Destination Port) برای تعیین منبع و مقصد داده، و بدون مفهوم تأیید دریافت دادهها یا بازیابی خطا.مثال:
فرض کنید که شما یک برنامه چت ساده دارید که از
UDP برای ارتباط با دیگر کاربران استفاده میکند. در اینجا مراحل ارتباط به کمک UDP به صورت زیر است:یک کاربر میخواهد پیامی به یک کاربر دیگر ارسال کند. برنامه چت، پیام را به فرمتی ساده بسته بندی کرده و آن را به آدرس
IP و پورت مقصد ارسال میکند.دریافت کننده (کاربر دیگر) برنامه چت خود را باز میکند و در انتظار دریافت پیام است. وقتی پیام به آدرس
IP و پورت مخصوص خود میرسد، برنامه پیام را دریافت کرده و نمایش میدهد.—
پروتکل
UDP با ارتباطات به سرعت بسیار بالا شناخته میشود چرا که بدون نیاز به برقراری اتصال، تأخیر کمتری دارد. این برای برنامههایی که به تاخیر پایین نیاز دارند، مثل یک بازی آنلاین، مهم است.یکی از ویژگیهای
UDP عدم نیاز به تأیید دریافت دادهها است. این به این معنی است که اگر یک پیام به دلایلی در مسیر گم شود یا به طور نادرست دریافت شود، هیچ تلاشی برای بازیابی آن صورت نمیگیرد. این ممکن است برای برنامههایی که به سرعت نیاز دارند، مفید باشد، اما باید در نظر داشته باشید که اطلاعات ممکن است گم شود.بنابراین،
UDP یک پروتکل ساده و سریع برای ارتباطات در زمینههایی مانند بازیهای آنلاین، چت و جلسات ویدئویی مورد استفاده قرار میگیرد، اما باید در نظر داشته باشید که از آن برای ارسال دادههای امنیتی که نیاز به تأیید دریافت دارند، استفاده نشود.@AmirhDeveloper
.
👍2🔥1
#network #protocol
پروتکل HTTP - Hypertext Transfer Protocol
پروتکل
توضیح:
پروتکل
مرورگر از طریق ارسال درخواستهای
وبسرور به درخواستها با پاسخهای
مثال:
شما در نوار آدرس مرورگر آدرس
وبسرور مقصد درخواست
وبسرور از طریق شبکه یک پاسخ
مرورگر شما پاسخ را دریافت کرده و محتوای صفحه وب (
پس از نمایش محتوا، ارتباط بین مرورگر و وبسرور به پایان میرسد تا مرورگر بتواند به صفحات دیگر برود یا درخواستهای دیگری را ارسال کند.
در اینجا به وسیله
@AmirhDeveloper
.
پروتکل HTTP - Hypertext Transfer Protocol
پروتکل
HTTP یکی از مهمترین پروتکلها در اینترنت است که برای انتقال و مبادلهی اطلاعات بین مرورگر و وبسرور مورد استفاده قرار میگیرد. HTTP از مدل معماری درخواست-پاسخ استفاده میکند و به مرورگر اجازه میدهد درخواستها (مانند درخواست صفحه وب) را به وبسرور ارسال کرده و وبسرور پاسخ (مانند صفحه وب یا داده JSON) را به مرورگر ارسال کند.توضیح:
پروتکل
HTTP یک پروتکل اصولی و متنباز است که بر اساس مفاهیم سادهای کار میکند. دستگاه مرورگر و وبسرور در تبادل اطلاعات از دو نوع پیام HTTP استفاده میکنند: درخواست (Request) و پاسخ (Response).مرورگر از طریق ارسال درخواستهای
HTTP به وبسرور درخواستهای مختلف میکند. درخواستها معمولاً شامل نوع درخواست (GET برای دریافت اطلاعات، POST برای ارسال داده، و غیره)، آدرس منبع (URL)، و سایر اطلاعات هستند.وبسرور به درخواستها با پاسخهای
HTTP پاسخ میدهد. پاسخها شامل کد وضعیت، هدر هایی که اطلاعات اضافی را در مورد پاسخ ارائه میدهند، و بدنه پیام که دادههای واقعی (مانند محتوای یک صفحه وب) را شامل میشوند.مثال:
شما در نوار آدرس مرورگر آدرس
URL وبسایت مورد نظر خود را وارد میکنید، مرورگر شما یک درخواست GET ،HTTP به آدرس ارسال میکند.وبسرور مقصد درخواست
GET را دریافت میکند و شروع به پردازش میکند. اگر وبسایت درخواست معتبر باشد، وبسرور آماده به ارسال پاسخ است.وبسرور از طریق شبکه یک پاسخ
HTTP با کد وضعیت 200 و شامل هدرها و بدنه پیام را به مرورگر ارسال میکند.مرورگر شما پاسخ را دریافت کرده و محتوای صفحه وب (
HTML، تصاویر، متن و غیره) را نمایش میدهد.پس از نمایش محتوا، ارتباط بین مرورگر و وبسرور به پایان میرسد تا مرورگر بتواند به صفحات دیگر برود یا درخواستهای دیگری را ارسال کند.
در اینجا به وسیله
HTTP، مرورگر و وبسرور قادر به تبادل اطلاعات و ارتباط در سرتاسر اینترنت هستند. این پروتکل بسیار مهم در امکان دسترسی به وب و استفاده از بسیاری از خدمات وب استفاده میشود.@AmirhDeveloper
.
👍1🔥1
#network #protocol
پروتکل
HTTPS - Hypertext Transfer Protocol Secure
پروتکل
توضیح:
پروتکل
مثال:
فرض کنید که شما یک کاربر هستید و میخواهید به یک فروشگاه آنلاین بروید تا یک محصول بخرید. اینجا مراحل اتصال امن
شما آدرس
مرورگر شما درخواست اتصال امن
وبسرور با استفاده از گواهینامه دیجیتال خود به مرورگر اثبات میکند که واقعاً فروشگاه معتبری است.
حالا که اتصال امن برقرار شده است، هر دادهای که بین مرورگر و وبسرور ارسال میشود، به صورت رمزگذاری شده منتقل میشود. این به معنی این است که اگر کسی تلاش کند دادهها را بخواند، نمیتواند آنها را تفسیر کند.
شما یک درخواست خرید محصول به وبسرور ارسال میکنید و وبسرور پاسخ مورد نظر را ارسال میکند. هر دو درخواست و پاسخ به صورت رمزگذاری شده ارسال و دریافت میشوند.
پس از انجام تبادل داده، اتصال امن
با استفاده از
@AmirhDeveloper
.
پروتکل
HTTPS - Hypertext Transfer Protocol Secure
پروتکل
HTTPS نسخهای از پروتکل HTTP است که برای ایجاد اتصال امن و رمزگذاری دادهها بین مرورگر و وبسرور استفاده میشود. HTTPS از SSL یا TLS برای ایجاد اتصال امن استفاده میکند. این پروتکل برای انتقال اطلاعات به صورت امن استفاده می شود و امروزه تمامی وب سایت ها به جای استفاده از HTTP از HTTPS استفاده میکنند، ولی به این معنی نیست که دیگر از HTTP استفاده نشود.توضیح:
پروتکل
HTTPS به مرورگر و وبسرور امکان میدهد ارتباط امنی برقرار کنند تا اطلاعات بین دو طرف برای دیگران غیرقابل دسترس باشند. این اتصال امن با استفاده از یک گواهینامه دیجیتال از سوی وبسرور تأیید میشود و سپس اطلاعات بین مرورگر و وبسرور به صورت رمزگذاری شده منتقل میشوند.مثال:
فرض کنید که شما یک کاربر هستید و میخواهید به یک فروشگاه آنلاین بروید تا یک محصول بخرید. اینجا مراحل اتصال امن
HTTPS را در نظر بگیرید:شما آدرس
URL فروشگاه را در مرورگر خود وارد میکنید، و متوجه میشوید که اتصال امن استفاده میشود، توسط نماد قفل یا نماد دیگری که در نوار آدرس نمایش داده میشود.مرورگر شما درخواست اتصال امن
HTTPS به وبسرور میفرستد. درخواست ارسال شده توسط وبسرور را دریافت می شود.وبسرور با استفاده از گواهینامه دیجیتال خود به مرورگر اثبات میکند که واقعاً فروشگاه معتبری است.
حالا که اتصال امن برقرار شده است، هر دادهای که بین مرورگر و وبسرور ارسال میشود، به صورت رمزگذاری شده منتقل میشود. این به معنی این است که اگر کسی تلاش کند دادهها را بخواند، نمیتواند آنها را تفسیر کند.
شما یک درخواست خرید محصول به وبسرور ارسال میکنید و وبسرور پاسخ مورد نظر را ارسال میکند. هر دو درخواست و پاسخ به صورت رمزگذاری شده ارسال و دریافت میشوند.
پس از انجام تبادل داده، اتصال امن
HTTPS بسته میشود و تمام ارتباطات بین مرورگر و وبسرور به صورت رمزگذاری شده به پایان میرسند.با استفاده از
HTTPS، اطلاعات حساس شما محافظت میشوند و شما میتوانید با اطمینان به فروشگاههای آنلاین و وبسایتهای دیگر اطلاعات خود را ارسال کنید. این پروتکل بسیار مهم در حفظ حریم خصوصی و امنیت اینترنتی استفاده میشود.@AmirhDeveloper
.
👍1🔥1
#network #protocol
پروتکل FTP - File transfer protocol
پروتکل
توضیح:
پروتکل
1- کانال کنترل : این کانال برای ارسال دستورات کنترلی مانند
2- کانال داده : این کانال برای انتقال واقعی دادههای فایل استفاده میشود. مثلاً اگر شما یک فایل را از یک دستگاه به دستگاه دیگر ارسال میکنید، دادهها از این کانال منتقل میشوند. پورت مورد استفاده برای کانال داده ممکن است تغییر کند.
مثال:
فرض کنید که شما یک کاربر هستید و میخواهید یک فایل از دستگاه خود به یک سرور
شما از یک نرمافزار
پس از ورود به سرور
شما میتوانید یک فایل از دستگاه خود به سرور
پس از انجام عملیات مورد نظر، شما میتوانید از سرور
پروتکل
@AmirhDeveloper
.
پروتکل FTP - File transfer protocol
پروتکل
FTP یک پروتکل شبکه است که برای انتقال فایلها بین دو دستگاه در شبکه از آن استفاده میشود.توضیح:
پروتکل
FTP یک پروتکل انتقال فایل است که برای ارسال و دریافت فایلها بین دو دستگاه در شبکه استفاده میشود. این پروتکل از دو کانال مجزا برای انتقال دادهها استفاده میکند:1- کانال کنترل : این کانال برای ارسال دستورات کنترلی مانند
login، logout، dir، و غیره به کار میرود. این کانال از پورت 21 استفاده میکند.2- کانال داده : این کانال برای انتقال واقعی دادههای فایل استفاده میشود. مثلاً اگر شما یک فایل را از یک دستگاه به دستگاه دیگر ارسال میکنید، دادهها از این کانال منتقل میشوند. پورت مورد استفاده برای کانال داده ممکن است تغییر کند.
مثال:
فرض کنید که شما یک کاربر هستید و میخواهید یک فایل از دستگاه خود به یک سرور
FTP دیگر منتقل کنید. در اینجا مراحل انتقال فایل با استفاده از FTP را در نظر بگیرید:شما از یک نرمافزار
FTP (مانند FileZilla) استفاده میکنید و به سرور FTP مورد نظر وارد شوید. شما از اطلاعات لاگین مانند نام کاربری و رمز عبور خود استفاده میکنید تا به سرور وارد شوید.پس از ورود به سرور
FTP، شما میتوانید لیست فایلها و دایرکتوریهای موجود را مشاهده کنید. این کار با استفاده از دستورات مانند ls یا dir انجام میشود.شما میتوانید یک فایل از دستگاه خود به سرور
FTP یا از سرور FTP به دستگاه خود منتقل کنید. این کار با استفاده از دستورات put (ارسال فایل به سرور) یا get (دریافت فایل از سرور) انجام میشود.پس از انجام عملیات مورد نظر، شما میتوانید از سرور
FTP خارج شوید (logout) و اتصال را ببندید.پروتکل
FTP به عنوان یک پروتکل ساده و موثر برای انتقال فایلها در شبکههای مختلف استفاده میشود. از آن به عنوان یک وسیلهی معمول برای بارگذاری و دانلود فایلها به و از وبسرورها، نیز استفاده میشود. همچنین نسخههای امنتری از FTP مانند SFTP (SSH File Transfer Protocol) نیز وجود دارد که از رمزگذاری برای افزایش امنیت در انتقال فایلها استفاده میکنند.@AmirhDeveloper
.
🔥1
#network #protocol
پروتکل SMTP - Simple Mail Transfer Protocol
پروتکل
توضیح:
وقتی شما یک ایمیل را از طریق برنامه ایمیل خود ارسال میکنید، برنامه ایمیل از پروتکل
برنامه ایمیل شما به سرور
شما پیام ایمیل خود را تایپ میکنید و برنامه ایمیل آن را به شکل یک پیام متنی یا چندرسانهای (شامل متن، تصاویر، و ...) تشکیل میدهد.
برنامه ایمیل شما پیام ایمیل را به عنوان یک پرونده متنی به سرور
سرور
پس از مسیریابی، پیام ایمیل به مقصد نهایی تحویل داده میشود و کاربر مقصد میتواند آن را در برنامه ایمیل خود بخواند.
مثال:
فرض کنید که شما میخواهید یک ایمیل ارسال کنید.
برنامه ایمیل شما به سرور
شما پیام ایمیل خود را تایپ میکنید و ارسال میکنید. برنامه ایمیل آن را به صورت یک پرونده متنی تشکیل میدهد.
برنامه ایمیل شما پیام را به سرور
سرور
سرور
این مثال نشان میدهد که چگونه
@AmirhDeveloper
.
پروتکل SMTP - Simple Mail Transfer Protocol
پروتکل
SMTP یکی از اصلیترین پروتکلهای استفاده شده در ارسال و دریافت ایمیل در شبکههای کامپیوتری است. SMTP برای ارسال ایمیل از کلاینت ایمیل به سرور ایمیل استفاده میشود و همچنین برای انتقال ایمیل از یک سرور به سرور دیگر به کار میرود.توضیح:
وقتی شما یک ایمیل را از طریق برنامه ایمیل خود ارسال میکنید، برنامه ایمیل از پروتکل
SMTP برای ارسال آن استفاده میکند. برنامه ایمیل شما به سرور
SMTP ایمیل خود متصل میشود. اطلاعات اتصال از قبیل نام کاربری و رمز عبور شما به عنوان شناسه شما به سرور ارسال میشوند.شما پیام ایمیل خود را تایپ میکنید و برنامه ایمیل آن را به شکل یک پیام متنی یا چندرسانهای (شامل متن، تصاویر، و ...) تشکیل میدهد.
برنامه ایمیل شما پیام ایمیل را به عنوان یک پرونده متنی به سرور
SMTP ارسال میکند. سپس سرور SMTP این پیام را برای تحویل به سرور مقصد ارسال میکند.سرور
SMTP مقصد، مسئول مسیریابی پیام به مقصد نهایی (این میتواند باشد کاربر مقصد یا سرور ایمیل مقصد باشد) است. این مسیریابی ممکن است از طریق DNS و MX (Mail Exchange) رکوردها انجام شود.پس از مسیریابی، پیام ایمیل به مقصد نهایی تحویل داده میشود و کاربر مقصد میتواند آن را در برنامه ایمیل خود بخواند.
مثال:
فرض کنید که شما میخواهید یک ایمیل ارسال کنید.
برنامه ایمیل شما به سرور
SMTP خدمات ایمیل شما متصل میشود، مثلاًsmtp.your-email-provider.com
و اطلاعات شناسه و رمز عبور شما را ارسال میکند.شما پیام ایمیل خود را تایپ میکنید و ارسال میکنید. برنامه ایمیل آن را به صورت یک پرونده متنی تشکیل میدهد.
برنامه ایمیل شما پیام را به سرور
SMTP ارسال میکند.سرور
SMTP شما اطلاعات DNS را برای مسیریابی بررسی میکند و پیام را به سرور SMTP مقصد، مثلاً smtp.example.com میفرستد.سرور
SMTP مقصد پیام را به مقصد نهایی به آدرس example@example.com تحویل میدهد.این مثال نشان میدهد که چگونه
SMTP برای ارسال ایمیل از طریق اینترنت استفاده میشود.@AmirhDeveloper
.
🔥1