<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های nazanin oboudi</title>
        <link>https://virgool.io/feed/@nazaniinn</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-18 02:49:10</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>nazanin oboudi</title>
            <link>https://virgool.io/@nazaniinn</link>
        </image>

                    <item>
                <title>Node.js</title>
                <link>https://virgool.io/@nazaniinn/nodejs-fiuhplxwillu</link>
                <description>تکنولوژی مبتنی بر جاوااسکریپت برای توسعه برنامه‌های سمت سرورمقدمه :در دنیای فناوری اطلاعات و توسعه نرم‌افزار، Node.js به عنوان یکی از تکنولوژی‌های برتر و مورد توجه برای توسعه برنامه‌های سمت سرور شناخته می‌شود. در این مقاله به معرفی Node.js و ویژگی‌ها و اهمیت آن در توسعه برنامه‌های وب و سمت سرور میپردازیم .خب خب اصلا Node.js چیه؟در اصل Node.js یک محیط اجرایی میباشد ، که امکان اجرای کد مبتنی بر جاوا اسکریپ در سمت سرور را فراهم می کند . و نتیجه تلاش توسعه‌دهندگان (دولوپرها) جاوا است. آن‌ها می‌خواستند فضایی خلق کنند که بتوانند با استفاده از آن، کدهای جاوا اسکریپت‌‌شان را علاوه‌ بر مرورگر در سمت سرور هم بنویسند. پس از اینکه Node.js عرضه شد، تلاش این توسعه‌دهندگان به نتیجه رسید و موفق شدند.تاریخچه Node.js  به صورت خلاصه : به عنوان یک محیط اجرایی مبتنی بر JavaScript در سمت سرور در دهه‌ی 2000 معرفی شد، اما توسعه‌های مهم‌تر آن از سال 2009 شروع شد. این محیط اجرایی به وسیلهٔ رایان دال اوه Ryan Dahl ایجاد شد و به سرعت توسعه یافت.تولد : 2009     سال 2010: انتشار نسخه 0.2.0     سال 2011: شهرت و اعتراف صنعتیسال 2011: رخداد Node.js Knockout     سال 2016: انتشار نسخه LTS و نسخه 6.0ویژگی های مهم Node.js که دلیل بر استفاده از آن میشود  :اجرای غیرهمگام (Asynchronous Execution): Node.js از مدل برنامه‌نویسی غیرهمگام (asynchronous) پشتیبانی می‌کند که به توسعه‌دهندگان این امکان را می‌دهد که درخواست‌های ورودی را به صورت موازی پردازش کنند و انتظار برای جواب هر درخواست را نداشته باشند. این ویژگی منجر به بهبود کارایی و پاسخگویی برنامه‌های وب می‌شود.استفاده از Chrome V8: Node.js از موتور JavaScript Chrome V8 توسعه‌یافته توسط Google استفاده می‌کند که باعث افزایش سرعت اجرای کد JavaScript می‌شود.پکیج‌ها و ماژول‌های بی‌شمار: با استفاده از npm (Node Package Manager)، توسعه‌دهندگان به سادگی می‌توانند به پکیج‌ها و ماژول‌های جاوااسکریپتی دسترسی پیدا کنند و از آنها در پروژه‌های خود استفاده کنند. این امکان میزان بازیابی کد و ایجاد پروژه‌های مقیاس‌پذیر را بسیار افزایش می‌دهد.پشتیبانی از ورودی/خروجی (I/O): Node.js به صورت عمده برای پردازش عملیات ورودی/خروجی مورد استفاده قرار می‌گیرد، بنابراین بسیاری از برنامه‌های وب، سرورهای وب، اپلیکیشن‌های شبکه و سیستم‌های مبتنی بر رویداد با استفاده از آن ایجاد می‌شوند.مناسب برای برنامه‌های واقع‌گرایانه (Real-Time): به دلیل استفاده از مدل غیرهمگام، Node.js بسیار مناسب برای ایجاد برنامه‌ها و سرویس‌های وب واقع‌گرایانه (Real-Time) مانند چت‌های آنلاین، بازی‌های چندنفره، و بروزرسانی‌های زمان‌واقعی است.مناسب برای ایجاد API ها: Node.js به عنوان یک محیط اجرایی سریع و خفیف برای ایجاد و اجرای API‌ها بسیار مناسب است. این امکان را فراهم می‌کند تا توسعه‌دهندگان API‌های RESTful و GraphQL سریع و کارآمدی ایجاد کنند.پایداری و پشتیبانی LTS: Node.js دارای نسخه‌های LTS (Long-Term Support) است که به مدت چند سال پشتیبانی می‌شوند. این امر به توسعه‌دهندگان اطمینان می‌دهد که می‌توانند برنامه‌های خود را با ثبات و امنیت برای مدت طولانی اجرا کنند.برنامه‌نویسی یکپارچه (Full-Stack): با استفاده از Node.js، توسعه‌دهندگان می‌توانند به عنوان یک برنامه‌نویس Full-Stack عمل کنند. به عبارت دیگر، می‌توانند همهٔ جلوهای کاربری (Front-End) و همهٔ قسمت‌های سرور (Back-End) را با استفاده از JavaScript ایجاد کنند که این امر به جلوگیری از مشکلات تطابق بین دو زبان مختلف کمک می‌کند.برای دانلود و کسب اطلاعات بیشتر به سایت Node.js سر بزنید .</description>
                <category>nazanin oboudi</category>
                <author>nazanin oboudi</author>
                <pubDate>Mon, 11 Sep 2023 17:59:21 +0330</pubDate>
            </item>
                    <item>
                <title>Bloodhound cyber security tool</title>
                <link>https://virgool.io/@nazaniinn/bloodhound-cyber-security-tool-e9nb0bkrke16</link>
                <description>یک ابزار امنیتی و منبع باز (Open Source) است که برای تجزیه و تحلیل محیط‌های Active Directory (AD) طراحی شده است. این ابزار به تیم‌یران سیستم اجازه می‌های امنیتی و مددهد تا نقاط ضعف امنیتی محتمل و مسیرهای حرکت مختلف در یک محیط Active Directory را شناسایی کنند.با جمع‌آوری و تجزیه و تحلیل اطلاعاتی که از سیستم‌های مختلف در یک شبکه AD به دست می‌آید، به تشخیص نقات ضعف امنیتی کمک می‌کند.برای ارتقاء امنیت و مدیریت AD بسار مفیید است و به تیم‌های امنیتی امکان می‌دهد تا برنامه‌های محافظتی مناسب را پیاده‌سازی کنند. این ابزار به طور گسترده توسط متخصصان امنیت و مدیران سیستم استفاده می‌شود.فواید این ابزار :جمع‌آوری داده: ابزار BloodHound شروع به جمع‌آوری اطلاعات از محیط Active Directory می‌کند. این اطلاعات شامل کاربران، گروه‌ها، دسترسی‌ها، ارتباطات بین کاربران و اجزاء سیستمی مختلف می‌شود.تجزیه و تحلیل داده: پس از جمع‌آوری اطلاعات، BloodHound این اطلاعات را تجزیه و تحلیل می‌کند تا مسیرها و روابط میان کاربران و دسترسی‌های آن‌ها به نمایش بیاورد.شناسایی تهدیدها: BloodHound به کمک تحلیل داده‌ها، تهدیدهای امنیتی محتملی را شناسایی می‌کند. این می‌تواند شامل مسیرهای افزایش اختیار، دسترسی‌های نادرست، گروه‌های کاربری با دسترسی‌های حساس و موارد مشابه باشد.ارائه گزارش: نهایتاً، BloodHound گزارش‌هایی از تهدیدها و مسائل امنیتی کشف شده ایجاد می‌کند که به تیم امنیتی امکان می‌دهد تصمیمات اصلاحی مناسب را اتخاذ کنند.نصب بر روی لینوکس :برای نصب از Github اینجا کلیک کنید 1. نصب نود.js (Node.js): BloodHound بر روی Node.js اجرا می‌شود. اگر ندارید، باید آن را نصب کنید. برای نصب Node.js، به وب‌سایت رسمی Node.js مراجعه کرده و نسخه مطلوب خود را دانلود و نصب کنید.2. نصب نسخه پایگاه داده: BloodHound به یک پایگاه داده نیاز دارد. شما می‌توانید از پایگاه داده Neo4j یا همچنین نسخه‌های دیگر مانند PostgreSQL استفاده کنید. این به شما وابسته است و باید مطابق ترجیحاتتان اقدام کنید. دستورات نصب Neo4j به شکل رسمی در وب‌سایت آن توضیح داده شده است.3. نصب BloodHound: پس از نصب پایگاه داده، شما می‌توانید BloodHound را نصب کنید. از پکیج منیجر npm برای نصب BloodHound استفاده می‌شود. اجرای دستور زیر در ترمینال نصب BloodHound را شروع می‌کند:npm install -g bloodhound4. پیکربندی BloodHound: باید BloodHound را به پایگاه داده خود متصل کرده و تنظیمات مورد نیاز را انجام دهید. برای اطلاعات بیشتر در مورد پیکربندی، به مستندات BloodHound مراجعه کنید.5. اجرای BloodHound: پس از نصب و پیکربندی، می‌توانید BloodHound را اجرا کنید و با واسط کاربری گرافیکی آن کار کنید.</description>
                <category>nazanin oboudi</category>
                <author>nazanin oboudi</author>
                <pubDate>Fri, 01 Sep 2023 20:14:11 +0330</pubDate>
            </item>
                    <item>
                <title>fuzzing</title>
                <link>https://virgool.io/@nazaniinn/fuzzing-d4f3q8v4zdkb</link>
                <description>فازینگ چست؟فازینگ یا آزمون فاز یک فرایند آزمون نرم‌افزار است که شامل فراهم کردن داده‌های ناصحیح، غیرمنتظره، اعداد تصادفی به‌عنوان ورودی به یک نرم‌افزار رایانه‌ای است. برنامه معمولاً برای رخ‌دادهایی از جمله کرش، شکست Assertionهای داخلی یا برای یافتن نشت‌های حافظه احتمالی استفاده می‌شود.فرض کنید که یک برنامه نوشته شده است و تست‌های معمولی برای آن انجام شده است. اما این تست‌ها ممکن است تنها موارد آشنا یا معمولی را پوشش دهند و ترکیبات مختلف ورودی‌ها یا مسیرهای اجرای برنامه را به خوبی آزمایش نکنند. در این مواقع، فازینگ وارد می‌شود.فازینگ به صورت تصادفی و با تولید مجموعه‌ای از ورودی‌ها که شامل داده‌های مختلف، اندازه‌ها، فرمت‌ها و ترکیبات مختلف هستند، برنامه را آزمایش می‌کند. هدف این است که ورودی‌هایی تولید شوند که به صورت غیرمنتظره باعث خطا، کرش یا نقاط ضعف در برنامه شوند. این خطاها و مشکلات ممکن است به عنوان آسیب‌پذیری‌ها بهره‌برداری شوند.نحوه کار کردfuzzing :شاعر (The Poet)شاعر این فرآیند را آغاز می‌کند و مسئول ایجاد یک مورد آزمایشی است. یک مورد آزمایشی فهرستی طولانی از ورودی‌های بالقوه است.پیک (The Courier)پیک تمام ورودی های تصادفی را در نرم افزار مورد نظر وارد می‌کند. Fuzzers به گونه‌ای طراحی شده‌اند که این کار را به صورت خودکار انجام دهند و اجازه می دهند مقادیر زیادی از ورودی ها به صورت انبوه آزمایش شوند.اوراکل (The Oracle)اوراکل بررسی می‌کند که آیا هر یک از ورودی‌ها باعث می‌شود نرم‌افزار کاری غیر از آن را انجام دهد که برای آن طراحی شده است. اگر فازسازی برای اهداف قانونی انجام شود، این رفتار می‌تواند تکرار و اصلاح شود. یا اگر fuzzing توسط یک هکر انجام شود و رفتار غیر منتظره مفید باشد، ممکن است برای اهداف مخرب استفاده شود.قطعا فازینگ پیجیده تر و گسترده تر میباشد پیشنهاد میکنم با مراجه به دوره هایی مانند Coursera و چک کردن GitHub در مورد آن بیشتر مطالعه کنید .</description>
                <category>nazanin oboudi</category>
                <author>nazanin oboudi</author>
                <pubDate>Thu, 31 Aug 2023 00:41:05 +0330</pubDate>
            </item>
                    <item>
                <title>what&#039;s the ffuf tool</title>
                <link>https://virgool.io/@nazaniinn/whats-the-ffuf-tool-qo8hd2kuqjwo</link>
                <description>سلام به همه همراهان در اصل یک ابزار متن باز می باشد  و به معنای فاز سریع تر است Fuzz Faster U Fool .شما می‌توانید به صورت خودکار به عنوان یک حمله تست نفوذی (Fuzzing) بر روی وب سایت یا برنامه‌های وب اقدام کنید. این ابزار می‌تواند برای جستجوی فایل‌ها و مسیرها، پارامترهای URL، نام‌های فایل، دایرکتوری‌ها و موارد مشابه مورد استفاده قرار گیرد.ffuf دارای تنظیمات مختلفی برای تنظیم سرعت حمله، انواع حالت‌های حمله به عنوان مثال، حالت متغیره یا حالت ترتیبی و تعدادی ویژگی دیگر برای سفارشی‌سازی حمله است. از طریق خط فرمانCommand Lineقابل استفاده است و برای آزمایش امنیتی و تست نفوذ در تست‌های امنیتی و امور اختباری مورد استفاده قرار میگردمی‌توانید با جستجوی &quot;ffuf&quot; در موتورهای جستجو وب یا با مراجعه به مخزن‌های کد متن‌باز مانند GitHub، اطلاعات بیشتری را در مورد نحوه استفاده و ویژگی‌های این ابزار کسب کنید.نحوه نصب این ابزار بر روی Debian/Ubuntu :sudo apt update         در اپتدا اپدیت میکنیم sudo apt install ffufبرای ویندوز :اگر از سیستم عامل ویندوز استفاده می‌کنید، می‌توانید از زیرسیستم لینوکس ویندوز (WSL) برای نصب و استفاده از ffuf استفاده کنید. می‌توانید یک توزیع لینوکسی از فروشگاه مایکروسافت (مانند اوبونتو) نصب کنید و سپس مراحل نصب لینوکسی را که در توضیحات بالا آمده، در داخل ترمینال لینوکسی اجرا کنید.کاربرد های ffuf  :1- جستجوی دایرکتوری‌ها و فایل‌ها2- ازمایش پارامتر های url 3- جستجوی نام‌های فایل و دایرکتوری4- آزمایش حملات برخط5- تست نفوذ و آزمایش امنیتی6- کشف و شناسایی نقاط ضعف</description>
                <category>nazanin oboudi</category>
                <author>nazanin oboudi</author>
                <pubDate>Sat, 26 Aug 2023 22:35:51 +0330</pubDate>
            </item>
                    <item>
                <title>اهمیت شبکه در امنیت چیست؟</title>
                <link>https://virgool.io/@nazaniinn/%D8%A7%D9%87%D9%85%DB%8C%D8%AA-%D8%B4%D8%A8%DA%A9%D9%87-%D8%AF%D8%B1-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%DA%86%DB%8C%D8%B3%D8%AA-wcosghmhq76l</link>
                <description>شبکه‌ها در دنیای امروزه نقش بسیار مهمی در امنیت اطلاعات و سیستم‌ها دارند. اهمیت شبکه در امنیت به دلیل گستردگی استفاده از فناوری‌های ارتباطی و انتقال داده‌ها در محیط‌های مختلف به ویژه در فضای اینترنت افزایش یافته است. نکاتی درباره اهمیت شبکه :انتقال اطلاعات: شبکه‌ها امکان انتقال اطلاعات و داده‌ها به سرعت و کارآیی بالا را فراهم می‌کنند. اما این امکان به همراه خطرات امنیتی نیز می‌آید. داده‌ها در حین انتقال ممکن است توسط افراد ناخواسته یا مهاجمان هدف قرار گیرند.دسترسی از راه دور: این امکان که افراد و دستگاه‌ها بتوانند به شبکه‌ها از راه دور و با استفاده از اینترنت متصل شوند، امکانات بسیاری را فراهم می‌کند. اما در عین حال، این دسترسی نیز می‌تواند در معرض تهدیدهای امنیتی قرار گیرد.حریم خصوصی: انتقال داده‌ها در شبکه‌ها ممکن است باعث نقض حریم خصوصی افراد شود. اطلاعات حساسی که بین دستگاه‌ها منتقل می‌شوند، به خطر افتاده و توسط افراد بدخواه قاچاق شوند.تهدیدهای مختلف: تهدیدهای امنیتی در شبکه‌ها می‌توانند از انواع مختلفی مانند ویروس‌ها، کرم‌ها، تروجان‌ها، حملات DDoS و... باشند. این تهدیدها به امنیت اطلاعات، عملکرد سیستم‌ها و حتی امنیت مالی آسیب می‌زنند.مدیریت دسترسی: به دلیل پیچیدگی شبکه‌ها و تعداد زیاد دستگاه‌ها و کاربران، مدیریت دسترسی به منابع از جمله چالش‌های مهم در امنیت شبکه است. اجازه دسترسی به افراد مناسب و جلوگیری از دسترسی غیرمجاز اهمیت دارد.تطبیق و پاسخ به تهدیدها: شبکه‌ها باید توانایی تشخیص تهدیدها و حملات را داشته باشند و بتوانند به سرعت واکنش مناسبی نسبت به آنها نشان دهند تا آسیب به اطلاعات و سیستم‌ها کمتر شود.به طور کلی، اهمیت شبکه در امنیت بسیار بالاست و تلاش برای اجرای اقدامات امنیتی مناسب در سطح شبکه‌ها و دستگاه‌های مرتبط با آنها از اهمیت ویژه‌ای برخوردار است تا از تهدیدها و خطرات امنیتی جلوگیری شود.</description>
                <category>nazanin oboudi</category>
                <author>nazanin oboudi</author>
                <pubDate>Thu, 24 Aug 2023 22:43:53 +0330</pubDate>
            </item>
                    <item>
                <title>چرا باید از لینوکس استفاده کنیم؟</title>
                <link>https://virgool.io/@nazaniinn/%DA%86%D8%B1%D8%A7-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A7%D8%B2-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%DA%A9%D9%86%DB%8C%D9%85-u62hni14eybo</link>
                <description>  انتخاب سیستم عامل کامل بستگی به کاربری هر فرد دارد و نمیتوان یک نسخه را برای همه استفاده کرد .اصلا چرا باید از لینوکس استفاده کنیم؟1 - منبع باز بودن یا همان Open Source بودن که به هر فرد حس آزادی میدهد2-رایگاه بودن لینوکس 3-امنیت بالاتر4-پایداری بیشتر      در اصل باید از خودتان بپرسید چرا از لینوکس استفاده نکنم حس آزادی و قابل تغییر بودن و شخصی سازی و سازگاری و یک پارچه بودن همه ی این موارد باعث بهتر بودن لینوکس از سایر سیستم عامل ها است.     البته باید در نظر داشته باشیم که توزیع های مختلفی وجود دارد از لینوکس مناسب با کاربری های مختلف.     لینوس توروالدز سازنده هسته لینوکس هست،درصورت علاقه داشتن کتابjust for fun linus torvalds رو میتونید بخونید و به شدت پیشنهاد میکنم .این کتاب در سال 2001 نوشته شده است که درمورد زندگی نامه و دیدگاه لینوکس و جنبش  نرم افزار آزاد هست.</description>
                <category>nazanin oboudi</category>
                <author>nazanin oboudi</author>
                <pubDate>Sat, 19 Aug 2023 00:02:52 +0330</pubDate>
            </item>
                    <item>
                <title>what&#039;s the Metasploit</title>
                <link>https://virgool.io/@nazaniinn/whats-the-metasploit-ki0f9lspk6cj</link>
                <description>اکسپلویت در اصل یک فرم ورک متن باز است ، شما میتونید به سورس ها دسترسی داشته باشید و آنها را تغییر دهیدمتا اکسپلویت‌ها به طور خاص ماژول‌هایی هستند که برای بهره‌برداری از آسیب‌پذیری‌ها در نرم‌افزارها یا سیستم‌ها طراحی و توسعه داده می‌شوند. این ماژول‌ها شامل کدهایی هستند که به تست‌نفوذ‌گران امکان کنترل و دسترسی به سیستم آسیب‌پذیر را می‌دهند. به عبارت دیگر، متا اکسپلویت‌ها به تست نفوذ‌گران اجازه می‌دهند تا با بهره‌برداری از آسیب‌پذیری‌ها، در سیستم‌ها و شبکه‌ها وارد شوند.برای مثال، فرض کنید یک نرم‌افزار خاص دارای یک آسیب‌پذیری امنیتی است که به تست نفوذ‌گران اجازه می‌دهد که از آن آسیب‌پذیری بهره‌برداری کنند و دسترسی غیرمجاز به سیستم را کسب کنند. در اینجا، متا اکسپلویت ماژولی است که توسط توسعه‌دهندگان Metasploit برای این آسیب‌پذیری ایجاد می‌شود. این ماژول حاوی کدهایی است که با اجرای آنها، تست نفوذ‌گران می‌توانند آسیب‌پذیری را بهره‌برداری کرده و به سیستم دسترسی یافته و کنترل آن را به دست بگیرند.در کل، متا اکسپلویت‌ها به تست‌های نفوذ کمک می‌کنند تا تیم‌های امنیتی و تست نفوذ، آسیب‌پذیری‌های احتمالی در سیستم‌ها را شناسایی کنند و با تست اکسپلویت، نحوه‌ی بهره‌برداری از این آسیب‌پذیری‌ها را بررسی کنند تا اقدامات اصلاحی مناسب اتخاذ کنند. مانند همیشه، استفاده مسئولانه و اخلاقی از این ابزارها بسیار مهم است و باید تنها در سیستم‌ها و شبکه‌هایی که مجوز رسمی برای تست نفوذ دریافت شده است، استفاده گردد. استفاده غیرمجاز از ابزارهای امنیتی از جمله متا اکسپلویت‌ها غیرقانونی و غیراخلاقی محسوب می‌شود.</description>
                <category>nazanin oboudi</category>
                <author>nazanin oboudi</author>
                <pubDate>Thu, 17 Aug 2023 22:27:33 +0330</pubDate>
            </item>
            </channel>
</rss>