تبليغاتX
پروژه های کامپیوتری
   
    
 

                                                                      صفحه اصلي   •  تماس با ما    •  آرشيو
 
  
 

منو اصلي

 صفحه اصلي
ارتباط با ما
لوگودوني سايت
ويرايش قالب

 

آرشيو موضوعي

آرشيو ماهانه

  آذر 1386
فروردین 1386
بهمن 1385
مرداد 1385
خرداد 1385
اردیبهشت 1385
فروردین 1385

 

منو کاربر

آمار بازديدها:
آنلاين :

بازديد کل

مدير سايت :
یگانه

موزيک


جستجوگر گوگل




جستجو در Google

آرشيو قالبها


آرشيو قالبها

طراحي قالب روبات سياه 2

ويرايش قالب : محسن سايت آموزش ايرانيان
irwebnet.tk

:: کو‌کی‌ها و مسائل امنیتی

کو‌کی‌ها و مسائل امنیتی

بررسی انواع کوکی‌

کوکی‌های شخص‌اول! در مقابل کوکی‌های شخص‌ثالث: یک کوکی شخص‌اول از وب‌سایتی نشات می‌گیرد یا به آن فرستاده می‌شود که در آن زمان در حال مشاهده آن هستید. این کوکی‌ها معمولا برای ذخیره اطلاعات مانند اولویتهای شما استفاده می‌شوند. یک کوکی شخص ثالث از وب‌سایت متفاوت با آنچه در حال مشاهده آن هستید نشات می‌گیرد یا به آن فرستاده می‌شود. وب‌سایتهای شخص‌ثالث معمولا محتویاتی روی وب‌سایتی که در حال مشاهده هستید، ارائه می‌کنند. برای مثال، بسیاری سایتها از تبلیغات وب‌سایتهای شخص‌ثالث استفاده می‌کنند و آن وب‌سایتها ممکن است از کوکی استفاده کنند. یک استفاده معمول برای این نوع از کوکی ردیابی استفاده از صفحه‌وب شما برای تبلیغات یا سایر مقاصد بازاریابی است. این نوع کوکی‌ها می‌توانند موقت یا ماندگار باشند.

نوعی از کوکی‌ها هستند که بعنوان کوکی‌های ناخوشایند نامیده می‌شوند. کوکی‌هایی هستند که ممکن است اجازه دسترسی به اطلاعات شخصا قابل‌شناسایی شما را برای اهداف ثانویه بدون اجازه شما، فراهم کنند.

 

مزایا و معایب کوکی‌ها از دید کاربران اینترنت

اگرچه خیلی‌ها از کوکی‌ها تصورات بدی دارند، اما اکنون می‌دانید که کابردهای خوبی نیز دارند. بسیاری از افراد کوکی‌ها را دوست ندارند زیرا آنها را ابزار بردار بزرگ (کسی که همواره ناظر بر اعمال و رفتار آنهاست) می‌دانند. بعبارتی بعلت ردیابی شدن  توسط کوکی‌ها، به آنها سوءظن دارند. این افراد باید بدانند که این نوع ردگیری می‌تواند توسط تکنیک‌های دیگر نیز انجام گیرد، اما از کوکی‌ها بدلیل ثبات بیشتر آنها نسبت به سایر روش‌ها استفاده می‌شود. برای آنان که دوست ندارند دیگران بدانند در اینترنت چه می‌کنند یا به کدام سایتها سر می‌زنند، این امر مساله ساز است.

مردم همچنان کوکی‌ها دوست ندارند، زیرا آنها را موجوداتی ‌‌آب‌زیرکاه می‌دانند. مگر اینکه نسخه‌های جدید مرورگرها را داشته باشید تا بتوانید با تنظیماتی که انجام می‌دهید از ورود آنها مطلع شوید، در غیر اینصورت آنها بدون هیچ نشانی وارد هارد شما می‌شوند. سیس می‌توانند بدون اطلاع کاربر کارهای خاصی انجام دهند (شاید هدف قرار دادنتان برای اعمال تبلیغاتی).

بهرحال فکر کردن به این موضوع خوشایند نیست که در آینده نزدیک علائق خصوصی ما ممکن است برای کسانی که دوست نداریم، فاش شود. این نگرانی و عیب اصلی کوکی‌هاست. تقریبا قرار دادن ویروس از طریق کوکی فعلا ممکن نیست و جای نگرانی ندارد. همچنین کوکی‌ها نمی‌توانند به هارد شما صدمه وارد کنند، یا از آنچه روی هارد خود دارید، تصویری تهیه کنند یا هر کار دیگری شبیه اینها. کوکی‌ها فقط آنچه را شما به آنها می‌گویید، میدانند. بهرحال اگر شما اطلاعاتی را در وب‌سایتی وارد کنید، مطمئنا در جایی در یک کوکی قرار خواهد گرفت. جایگزینهای آینده بجای کوکی‌ها باید با آغوش باز پذیرفته شود و اگرچه ممکن است همه چیز را حل نکنند، اما بعضی از نگرانیها را از بین خواهند برد.

 

مسائل امنیتی مربوط به کوکی‌ها

کوکی‌ها باعث بعضی خطرات امنیتی می‌شوند. می‌توانند توسط افرادی که بسته‌های اطلاعاتی را شنود می‌کنند برای اهداف غیراخلاقی استفاده شوند و باعث دسترسی غیرمجاز به وب‌سایت‌ها یا تراکنش‌های غیرمجاز شوند. (یک سیستم شنود، کامپیوتری است که نرم‌افزارهایی را اجرا می‌کند تا تمام بسته‌های TCP/IP وارد و خارج‌شونده را بررسی ‌کند)

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

چند مورد وجود دارد که ایجادکننده وب‌سایت می‌تواند انجام دهد:

·   مطمئن شود که کوکی‌ها کمترین اطلاعات خصوصی را دربردارند.

·   مطمئن شود که اطلاعات حساس قرارگرفته در کوکی‌ها همیشه رمزنگاری می‌شود. (هرگز و هرگز شناسه‌ها و کلمات عبور نباید بصورت متن رمز‌نشده استفاده و ذخیره شوند)

·   کل کوکی را رمز کند.

 

کوکی‌ها باید اطلاعات کافی را برای تایید اینکه فرد استفاده کننده از کوکی، مجاز به استفاده از آن است، دارا باشند. بیشتر سایتهای استفاده‌کننده از کوکی، اطلاعات زیر را نیز لحاظ می‌کنند:

·   اطلاعات لازم برای دادن اجازه به فرد

·   ساعت و تاریخ

·   آدرس IP استفاده کننده وب

·   تاریخ انقضاء

·   کد MAC (Message Authenticity Check)

قراردادن آدرس IP به این منظور است که کوکی تنها در صورتی تایید شود که آدرس IP ذخیره‌شده در سرور با آدرس IP مرورگر فرستنده کوکی یکسان باشد. تاریخ انقضاء مدت زمان استفاده از یک کوکی را محدود می‌کند و MAC تضمین می‌کند که کوکی دچار تغییر نشده است.

کد MAC شامل یک رشته ادغامی از فیلدهای داده در کوکی و یک رشته مخفی است که به آن اضافه می‌شود. اطلاعات کد می‌شود سپس مجددا ادغام می‌شود و دوباره کد می‌شود. نتیجه نهایی در داده کوکی قرار می‌گیرد. هنگامی که کوکی به سرور برمی‌گردد، سرور خود، MAC را تولید می‌کند و با MAC موجود در کوکی مقایسه می‌کند. در صورت یکسان بودن، نشانه عدم تغییر کوکی است.

 

کار با کوکی‌ها

مرورگرهای جدید اجازه نحوه کار با کوکی‌ها را به شما می‌دهند؛ می‌توانید تنظیمات مرورگر خود را طوری انجام دهید که به شما قبل از قراردادن کوکی روی کامپیوترتان خبر داده شود. (این کار به شما این امکان را می‌دهد که اجازه قراردادن کوکی را بدهید یا خیر)؛ همچنین می‌توانید توسط مرورگر خود جلوی ورود تمام کوکی‌ها را بگیرید.

بعنوان مثال در اینترنت اکسپلورر امکان تنظیم نحوه برخورد با کوکی‌ها از سایتهای مشخص گرفته تا کل سایتها وجود دارد. برای اطلاع یافتن بیشتر از نحوه کار با کوکی‌ها راهنمای مرورگر خود را مطالعه کنید.

 

ارسال شده بوسيله یگانه در مورخه :چهارشنبه هفتم آذر 1386
( | نوع مطلب : | لينک ثابت | )
:: کوکی چیست؟

 

از کوکی چه می‌دانید؟

 

کوکی چیست؟

«کوکی» بخش کوچکی از اطلاعات فرستاده شده توسط وب‌سرور برای ذخیره در مرورگر است تا بتواند بعدا از طریق آن مرورگر، دوباره خوانده شود. دیتای ذخیره شده برای اینکه وب‌سرور یک سایت، اطلاعات مشخصی را درباره بازدیدکننده آن وب‌سایت خاص بداند، مفید است. کوکی فرمت فایل متنی را دارد که در دایرکتوری مربوط به مرورگر ذخیره می‌شود و در هنگامی که مرورگر در حال اجراست در حافظه RAM قرار می‌گیرد. این اطلاعات می‌تواند هنگامی که کاربر از وب‌سایت خاصی خارج شد، در هارد درایو ذخیره شود. کوکی‌ها ابزار بسیار مهمی برای نگهداشتن state روی وب هستند. state به توانایی یک برنامه برای کار با کاربر بصورت محاوره‌ای اشاره دارد. برای مثال،  شما برای استفاده از قطار یا اتوبوس بلیت رزرو می‌کنید. در روز سفر، هنگامی که بلیت را نشان می‌دهید، اجازه خواهید یافت که وارد قطار یا اتوبوس شوید، در غیراینصورت مسوول وسیله نقلیه نمی‌داند که آیا شما این اجازه را دارید یا خیر. در حقیقت در اینجا بلیت برای نگهداشتن state‌ بین شما و مسوول قطار مهم است. HTTP یک پروتکل بدون قابلیت state‌ است. به این معنی که هر بار مشاهده یک سایت توسط سرور بعنوان اولین مشاهده کاربر تلقی می‌شود. به این معنی که سرور همه چیز را بعد از هر درخواست فراموش می‌کند، مگر اینکه یک بازدید‌کننده برای یادآوری آینده به سرور به طریقی مشخص گردد. کوکی‌ها این کار را انجام می‌دهند.

کوکی‌ها فقط می‌توانند به وب‌سرور بگویند که آیا شما قبلا هم از سایت دیدن کرده‌اید و اطلاعات کمی (مثلا یک شماره کاربر) در مرتبه بعد که از سایت دیدن می‌کنید از خود وب‌سرور به آن برگردانند. بیشتر کوکی‌ها هنگامی که از مرورگر خارج می‌شوید از بین می‌روند. نوع دیگری از کوکی‌ها بعنوان کوکی ماندگار وجود دارند که تاریخ انقضاء دارند و تا آن تاریخ روی هارددرایو شما باقی می‌مانند. کوکی ماندگار می‌تواند برای ردگیری عادات وبگردی یک کاربر با مشخص‌کردن وی هنگام مراجعه مجدد به یک سایت مورد استفاده قرار گیرد. اطلاعات در مورد اینکه اهل کجا هستید و به چه صفحات وبی سر می‌زنید در فایلهای لاگ یک وب‌سرور وجود دارد و می‌تواند برای ردگیری رفتار وبگردی کاربران مورد استفاده قرار گیرند، اما کوکی‌ها آن را آسانتر می‌کنند.

 

چگونه می‌توان از وجود کوکی‌های ماندگار روی سیستم مطلع شد؟

کوکی‌های ماندگار در مکانهای مختلفی روی سیستم شما بسته به مرورگر وب و نسخه‌ای از آن که استفاده می‌کنید، ذخیره می‌شوند. نت‌اسکیپ تمام کوکی‌های ماندگارش را در فایلی به نام cookies.txt روی کامپیوتر شما در دایرکتوری نت‌اسکیپ ذخیره می‌کند. می‌توانید این فایل را با یک ویرایشگر متن باز و ویرایش کنید و یا هر کوکی را که نمی‌خواهید نگهدارید، پاک کنید و چنانچه می‌خواهید از دست تمام کوکی‌ها خلاص شوید، فایل را پاک کنید. اینترنت‌اکسپلورر کوکی‌های ماندگار را در فایلهای جداگانه ذخیره می‌کند و توسط نام کاربر و نام دامنه سایتی که کوکی را فرستاده است، نامگذاری می‌کند. برای مثال  john@ciac.txt.  این کوکی‌ها در دایرکتوری /Windows/cookies  یا /Windows/profiles/cookies  ذخیره می‌شوند. می‌توانید هرکدام از این کوکی‌ها را که نمی‌خواهید، پاک کنید. می‌توانید این فایلها را بازکنید تا ببینید از کجا آمده‌اند و چه اطلاعاتی دارند. برای مثال آنچه می‌بینید محتویات یک کوکی IE‌ هستند.

 

WEBTRENDS_ID

61.1.129.58-1041789995.121030

www.bazee.com/

1024

3872737152

30271763

3731731632

29537508

*

این فایل کوکی abhishek@www.bazee.txt (abhishek شناسه فرد وارد شونده به سایت است) نامیده شده است. کوکی‌ها ممکن است اطلاعات مختلفی را دربرداشته باشند که بسته به کوکی متفاوت است. در این کوکی IP فرد نیز (61.1.129.58) ذخیره شده است. در اینجا قصد وارد شدن به جزئیات را نداریم. 

 

کوکی‌ها برای چه استفاده می‌شوند؟

یک استفاده از کوکی‌ها برای ذخیره کلمات عبور و شناسه‌های برای وب‌سایتهای خاص است. همچنین برای ذخیره اولویتهای کاربران در صفحات آغازین نیز استفاده می‌شوند. در این حالت مقداری از هارد کامپیوتر شما برای ذخیره این اطلاعات از مرورگرتان تقاضا می‌شود. بدین طریق، هر زمان که به آن وب‌سایت وارد می‌شوید مرورگر شما بررسی می‌کند که ببیند آیا الویتهای از پیش تعیین‌شده‌ (کوکی) برای آن سرور مشخص دارید یا خیر. اگر اینطور باشد، مرورگر کوکی را همراه با تقاضای شما برای صفحه وب، به وب‌سرور ارسال خواهد کرد. مایکروسافت و نت‌اسکیپ از کوکی‌هایی برای ایجاد صفحات آغازین شخصی روی وب‌سایتهایشان استفاده می‌کنند. استفاده‌های معمول که شرکتها بخاطر آنها از کوکی استفاده می‌کنند شامل سیستمهای سفارش آنلاین، شخصی‌سازی سایتها و ردگیری وب‌سایتها می‌شود.

کوکی‌ها منافعی دارند. شخصی‌سازی سایت یکی از مفیدترین استفاده‌های کوکی‌ها است. برای مثال، فردی وارد سایت CNN (یا حتی MyYahoo) می‌شود اما نمی‌خواهد اخبار تجاری را ببیند. این سایت به فرد اجازه این انتخاب را می‌دهد. از این به بعد (یا تا زمانیکه کوکی منقضی می‌شود) این شخص اخبار تجاری را وقتی به سایت CNN‌ متصل می‌شود، نمی‌بیند. حتما تا حالا دیده‌اید که در بعضی وب‌سایتها هنگامی که با استفاده از شناسه و گذرواژه وارد می‌شوید، انتخابی تحت عنوان «مرا دفعه بعد بخاطر داشته باش» وجود دارد. این امر با ذخیره شدن شناسه و کلمه‌عبور شما در یک کوکی روی کامپیوترتان، میسر می‌شود.

بعضی بازدیدکنندگان آن را بعنوان تعرض به حریم خصوصی می‌پندارند برای وب‌سایتهایی که روند فعالیتشان روی یک سایت را ردگیری می‌کنند. این کمک می‌کند که اطلاعات و سرویس‌های مورد جستجو را بسرعت بیابید و بدون تاخیر به سر کار اصلی خودتان برگردید. آمار برای طراحی مجدد سایت بسیار مهم هستند. گاهی مدیر سایت نیاز دارد بداند آیا ۱۰۰ نفر مختلف از سایتش بازدید کرده‌اند یا فقط یک فرد (یا روبات)‌ بطور پیوسته ۱۰۰ مرتبه دکمه reload (یا refresh) را انتخاب کرده است. کوکی‌ها کاربردهای دیگری نیز دارند و یکی از آنها امکان ردگیری فعالیت کاربران است. اجازه دهید که یک مثال را ببینیم.

DoubleClickNetwork سیستمی است که توسط DoubleClickCorporation ایجاد شده است تا پروفایل افرادی را که از وب استفاده می‌کنند ایجاد کند و آگهی‌های تجاری متناسب با علاقه‌شان را به آنها ارائه کند. مشتری‌های DoubleClick  وب‌سایتهایی هستند که قصد تبلیغ خدماتشان را دارند. هر عضو این شبکه میزبانی برای تبلیغ سایر اعضاء می‌شود. هر وب‌سایت که عضو می‌شود تبلیغ خود را ایجاد و در اختیار سرور DoubleClick  قرار می‌دهد. هنگامی که یک کاربر به یکی از این سایتها می‌رود، یک آگهی از سایر سایتها نیز در HTML‌ ارائه شده به کاربر وجود دارد. با هربار بارگذاری مجدد صفحه، آگهی متفاتی به کاربر ارائه می‌شود. از نظر کاربران این تبلیغات با سایر تبلیغات تفاوتی ندارند، در حالیکه اینطور نیست. هنگامی که کاربری برای اولین بار به سرور DoubleClick‌ متصل می‌شود، سرور یک کوکی برای آن مرورگر ایجاد می‌کند که یک شماره مشخصه یکتا در بردارد. از آن به بعد هر زمان که کاربر به یکی از وب‌سایتهای عضو DoubleClick‌ متصل می‌شود، شماره مذکور به سرور ارسال می‌شود و کاربر تشخیص داده می‌شود. با گذشت زمان و داشتن اطلاع از سایتهایی که کاربر بازدید کرده است، پروفایلی از علائق کاربر در اختیار سرور قرار می‌گیرد. با داشتن این پروفایل، سرور DoubleClick می‌تواند تبلیغاتی را که بیشتر مورد نظر کاربر است انتخاب کند. بعلاوه می‌تواند از این اطلاعات برای دادن بازخورد مناسب به اعضا مانند پروفایل کاربران و میزان تاثیر تبلیغاتشان استفاده کند. برای اینکه بفهمید آیا توسط DoubleClick  ردگیری شده‌اید یا نه، کوکی‌های مرورگر خود را امتحان کنید و ببینید آیا چیزی شبیه به این:

ad.doubleclick.net FALSE / FALSE 942195440 IAA d2bbd5 در کوکی‌ها وجود دارد یا خیر.

در شماره بعد به نحوه کار کوکی‌ها خواهیم پرداخت.

ارسال شده بوسيله یگانه در مورخه :چهارشنبه هفتم آذر 1386
( | نوع مطلب : | لينک ثابت | )
::

هفت مشکل امنیتی مهم شبکه های بی سیم 802.11  : بخش دوم

 

 

مسأله شماره ۲: نقاط دسترسی نامطلوب

دسترسی آسان به شبکه های LAN بی سیم امری منفک از راه اندازی آسان آن نیست. این دو خصوصیت در هنگام ترکیب شدن با یکدیگر می توانند برای مدیران شبکه و مسوولان امنیتی ایجاد دردسر کنند. هر کاربر می تواند به فروشگاه کامپیوتر نزدیک خود برود، یک نقطه دسترسی! بخرد و بدون کسب اجازه ای خاص به کل شبکه متصل شود. بسیاری از نقاط دسترسی با اختیارات مدیران میانی عرضه می شوند و لذا دپارتمان ها ممکن است بتوانند LAN بی سیمشان را بدون صدور اجازه از یک سازمان IT  مرکزی در معرض عموم قرار دهند. این دسترسی به اصطلاح «نامطلوب» بکارگرفته شده توسط کاربران ، خطرات امنیتی بزرگی را مطرح می کند. کاربران در زمینه امنیتی خبره نیستند و ممکن است از خطرات ایجاد شده توسط LAN های بی سیم آگاه نباشند. ثبت بسیاری از ورودها به شبکه نشان از آن دارد که ویژگی های امنیتی فعال نیستند و بخش بزرگی از آنها تغییراتی نسبت به پیکربندی پیش فرض نداشته اند و با همان پیکربندی راه اندازی شده اند.

 

 

 

راه حل شماره۲ : رسیدگی های منظم به سایت

مانند هر تکنولوژی دیگر شبکه، شبکه های بی سیم به مراقبت از سوی مدیران امنیتی نیاز دارند. بسیاری از این تکنولوژی ها به دلیل سهولت استفاده مورد بهره برداری نادرست قرار می گیرند، لذا آموختن نحوه یافتن شبکه های امن نشده از اهمیت بالایی برخوردار است.

روش بدیهی یافتن این شبکه ها انجام همان کاری است که نفوذگران انجام می دهند: استفاده از یک آنتن و جستجوی آنها به این منظور که بتوانید قبل از نفوذگران این شبکه ها را پیدا کنید. نظارت های فیزیکی سایت باید به صورت مرتب و در حد امکان انجام گیرد. اگرچه هرچه نظارت ها سریع تر انجام گیرد، امکان کشف استفاده های غیرمجاز بیشتر است، اما زمان زیادی که کارمندان مسوول این امر باید صرف کنند، کشف تمامی استفاده های غیرمجاز را بجز برای محیط های بسیار حساس، غیرقابل توجیه می کند. یک راهکار برای عدم امکان حضور دائم می تواند انتخاب ابزاری در اندازه دستی باشد. این عمل می تواند استفاده تکنسین ها از اسکنرهای دستی در هنگام انجام امور پشتیبانی کاربران، برای کشف شبکه های غیرمجاز باشد.

یکی از بزرگترین تغییرات در بازار 802.11 در سال های اخیر ظهور 802.11a به عنوان یک محصول تجاری قابل دوام بود. این موفقیت نیاز به ارائه ابزارهایی برای مدیران شبکه های 802.11a را بوجود آورد. خوشبختانه، 802.11a  از همان MAC پیشینیان خود استفاده می کند، بنابراین بیشتر آنچه مدیران راجع به 802.11 و تحلیل کننده ها می دانند، بدرد می خورد. مدیران شبکه باید دنبال محصولی سازگار باشند که هر دو استاندارد 802.11a و 802.11b را بصورت یکجا و ترجیحاً به صورت همزمان پشتیبانی کند. چیپ ست های دوباندی 802.11a/b  و کارت های ساخته شده با آنها به آنالایزرها اجازه می دهد که روی هر دو باند بدون تغییرات سخت افزاری کار کنند، و این بدین معنی است که مدیران شبکه نیاز به خرید و آموزش فقط یک چارچوپ پشتیبانی شده برای هر دو استاندارد دارند. این روال باید تا 802.11g ادامه یابد، تا جایی که سازندگان آنالایزرها کارت های 802.11a/b/g را مورد پذیرش قرار دهند.

 

 

 

بسیاری از ابزارها می توانند برای انجام امور رسیدگی به سایت و ردیابی نقاط دسترسی نامطلوب استفاده شوند، اما مدیران شبکه باید از نیاز به همگامی با آخرین تکنیک های استفاده شده در این بازی موش و گربه! آگاه باشند. نقاط دسترسی می توانند در هر باند فرکانسی تعریف شده در 802.11 بکارگرفته شوند، بنابراین مهم است که تمام ابزارهای مورد استفاده در بررسی های سایت بتوانند کل محدوده فرکانسی را پویش کنند. حتی اگر شما استفاده از 802.11b  را انتخاب کرده اید، آنالایزر استفاده شده برای کار نظارت بر سایت، باید بتواند همزمان نقاط دسترسی 802.11a را نیز پویش کند تا در طول یک بررسی کامل نیازی به جایگزین های سخت افزاری و نرم افزاری نباشد.

بعضی نقاط دسترسی نامطلوب سعی دارند کانالهایی را به صورت غیرقانونی روی کانال های 802.11b به کار بگیرند که برای ارسال استفاده نمی شوند. برای مثال قوانین FCC تنها اجازه استفاده از کانال های ۱ تا ۱۱ از 802.11b  را می دهد. کانال های ۱۲ تا ۱۴ جزء مشخصات آن تعریف شده اند اما فقط برای استفاده در اروپا و ژاپن کاربرد دارند. به هرحال، بعضی کاربران ممکن است از نقطه دسترسی کانال های اروپایی یا ژاپنی استفاده کنند، به این امید که رسیدگی یک سایت متمرکز روی کانال های مطابق با FCC از کانال های فرکانس بالاتر چشم پوشی کند. این قضیه مخصوصاً برای ردیابی ابزارهایی اهمیت دارد که بیرون باند فرکانسی مجاز بکارگرفته شده اند تا از اعمال اجرایی اتخاذ شده توسط نمایندگی های مجاز برحذر باشند. آنالایزرهای غیرفعال (Passive Analyzers) ابزار ارزشمندی هستند زیرا استفاده های غیرمجاز را  تشخیص می دهند، اما چون توانی ارسال نمی کنند استفاده از آنها قانونی است.

مدیران شبکه همواره تحت فشار زمانی هستند، و به روش آسانی برای یافتن نقاط دسترسی نامطلوب و در عین حال چشم پوشی از نقاط دسترسی مجاز نیاز دارند. موتورهای جستجوی خبره به مدیران اجازه می دهند که لیستی از نقاط دسترسی مجاز را پیکربندی کنند. هر نقطه دسترسی غیرمجاز باعث تولید علامت هشدار دهنده ای می شود. در پاسخ به علامت هشدار دهنده، مدیران شبکه می توانند از ابزار دیگری برای پیدا کردن نقطه دسترسی براساس مقیاس های قدرت سیگنال استفاده کنند. اگرچه این ابزارها ممکن است خیلی دقیق نباشند، ولی برای محدود کردن محوطه جستجوی نقطه دسترسی نامطلوب به اندازه کافی مناسب هستند.

در شماره های بعد مسائل دیگر بررسی می شوند.

ارسال شده بوسيله یگانه در مورخه :چهارشنبه هفتم آذر 1386
( | نوع مطلب : | لينک ثابت | )
::

هفت مشکل امنیتی مهم شبکه های بی سیم 802.11 :‌بخش اول

 

موفقیت حیرت انگیز 802.11 به علت توسعه «اترنت بی سیم» است. همچنانکه 802.11 به ترقی خود ادامه می دهد، تفاوت هایش با اترنت بیشتر مشخص می شود. بیشتر این تفاوت ها به دلیل نا آشنایی نسبی بسیاری از مدیران شبکه با لایه فیزیکی فرکانس رادیویی است. در حالیکه همه مدیران شبکه باید درک پایه ای از لینک رادیویی داشته باشند، تعدادی از ابزارها برای کمک به آنها به خدمت گرفته می شوند. آنالایزرهای (تحلیل کننده ) شبکه های بی سیم برای مدت ها ابزاری لازم برای مهندسان شبکه در اشکال زدایی و تحلیل پروتکل بوده اند. بسیاری از آنالایزرها بعضی کارکردهای امنیتی را نیز اضافه کرده اند که به آنها اجازه کار با عملکردهای بازرسی امنیتی را نیز می دهد.

در این سلسله مقاله هفت مشکل از مهم ترین آسیب پذیری های امنیتی موجود در LANهای بی سیم، راه حل آنها و در نهایت چگونگی ساخت یک شبکه بی سیم امن مورد بحث قرار می گیرد. بسیاری از پرسش ها در این زمینه در مورد ابزارهایی است که مدیران شبکه می توانند استفاده کنند. یک آنالایزر از اولین خریدهایی است که یک مدیر شبکه باید انجام دهد. آنالایزرها علاوه بر عملکردهای سنتی تحلیل پروتکل و ابزار تشخیص عیب، می توانند برای تشخیص بسیاری از نگرانی های امنیتی که استفاده از شبکه بی سیم را کند می کنند، استفاده شوند. این سلسله مقاله هریک از این «هفت مسأله امنیتی» را بررسی می کند و توضیح می دهد که چگونه و چرا آنالایزر بی سیم، یک ابزار حیاتی برای تضمین امنیت شبکه های بی سیم است.

مسأله شماره ۱: دسترسی آسان

LANهای بی سیم به آسانی پیدا می شوند. برای فعال کردن کلاینت ها در هنگام یافتن آنها، شبکه ها باید فریم های Beacon با پارامتر های شبکه را ارسال کنند. البته، اطلاعات مورد نیاز برای پیوستن به یک شبکه، اطلاعاتی است که برای اقدام به یک حمله روی شبکه نیاز است. فریم های Beacon توسط هیچ فانکشن اختصاصی پردازش نمی شوند و این به این معنی است که شبکه 802.11 شما و پارامترهایش برای هر شخصی با یک کارت 802.11 قابل استفاده است. نفوذگران با آنتن های قوی می توانند شبکه ها را در مسیرها یا ساختمان های نزدیک بیابند و ممکن است اقدام به انجام حملاتی کنند حتی بدون اینکه به امکانات شما دسترسی فیزیکی داشته باشند.

 

 

راه حل شماره ۱: تقویت کنترل دسترسی قوی

دسترسی آسان الزاماً با آسیب پذیری مترادف نیست. شبکه های بی سیم برای ایجاد امکان اتصال مناسب طراحی شده اند، اما می توانند با اتخاذ سیاستهای امنیتی مناسب تا حد زیادی مقاوم شوند. یک شبکه بی سیم می تواند تا حد زیادی در این اتاق محافظت شده از نظر الکترومغناطیس محدود شود که اجازه نشت سطوح بالایی از فرکانس رادیویی را نمی دهد. به هرحال، برای بیشتر موسسات چنین برد هایی لازم نیستند. تضمین اینکه شبکه های بی سیم تحت تأثیر کنترل دسترسی قوی هستند، می تواند از خطر سوءاستفاده از شبکه بی سیم بکاهد.

تضمین امنیت روی یک شبکه بی سیم تا حدی به عنوان بخشی از طراحی مطرح است. شبکه ها باید نقاط دسترسی را در بیرون ابزار پیرامونی امنیت مانند فایروال ها قرار دهند و مدیران شبکه باید به استفاده از VPNها برای میسر کردن دسترسی به شبکه توجه کنند. یک سیستم قوی تأیید هویت کاربر باید به کار گرفته شود و ترجیحاً با استفاده از محصولات جدید که برپایه استاندارد IEEE 802.1x هستند. 802.1x انواع فریم های جدید برای تأیید هویت کاربر را تعریف می کند و از دیتابیس های کاربری جامعی مانند RADIUS بهره می گیرد. آنالایزرهای باسیم سنتی می توانند با نگاه کردن به تقاضاهای RADIUS و پاسخ ها، امکان درک پروسه تأیید هویت را فراهم کنند. یک سیستم آنالیز خبره برای تأیید هویت 802.11  شامل یک روتین عیب یابی مشخص برای LANهاست که ترافیک تأیید هویت را نظاره می کند و امکان تشخیص  عیب را برای مدیران شبکه فراهم می کند که به آنالیز بسیار دقیق و کدگشایی فریم احتیاج ندارد. سیستم های آنالیز خبره که پیام های تأیید هویت 802.1x  را دنبال می کنند،  ثابت کرده اند که برای استفاده در LANهای استفاده کننده از 802.1x فوق العاده باارزش هستند.

هرگونه طراحی، بدون در نظر گرفتن میزان قدرت آن، باید مرتباً بررسی شود تا سازگاری چینش فعلی را با اهداف امنیتی طراحی تضمین کند. بعضی موتورهای آنالیز تحلیل عمیقی روی فریم ها انجام می دهند و می توانند چندین مسأله معمول امنیت 802.1x را تشخیص دهند. تعدادی از حملات روی شبکه های باسیم در سال های گذشته شناخته شده اند و لذا وصله های فعلی به خوبی تمام ضعف های شناخته شده را در این گونه شبکه ها نشان می دهند. آنالایزرهای خبره پیاده سازی های ضعیف را برای مدیران شبکه مشخص می کنند و به این ترتیب مدیران شبکه می توانند با به کارگیری  سخت افزار و نرم افزار ارتقاء یافته، امنیت شبکه را حفظ کنند.

پیکربندی های نامناسب ممکن است منبع عمده آسیب پذیری امنیتی باشد، مخصوصاً اگر LANهای بی سیم بدون نظارت مهندسان امنیتی به کارگرفته شده باشند. موتورهای آنالیز خبره می توانند زمانی را که پیکربندی های پیش فرض کارخانه مورد استفاده قرار می گیرند، شناسایی کنند و به این ترتیب می توانند به ناظران کمک کنند که نقاطی از دسترسی را که بمنظور استفاده از ویژگی های امنیتی پیکربندی نشده اند، تعیین موقعیت کنند. این آنالایزرها همچنین می توانند هنگامی که وسایلی از ابزار امنیتی قوی مانند VPNها یا 802.1x استفاده نمی کنند، علائم هشدار دهنده را ثبت کنند. 

در شماره های بعد مشکلات امنیتی دیگر مورد بررسی قرار خواهند گرفت.

ارسال شده بوسيله یگانه در مورخه :چهارشنبه هفتم آذر 1386
( | نوع مطلب : | لينک ثابت | )
:: پروژه های کامپیوتری
من پروژه های زیر را به زبان دلفی دارم هر کی می خواد برنامه ها را تحویل بگیره به من پیغام بزاره.

۱- ساعت انالوگ

۲- پروژه فروشگاه

۳- پروژه کتابخانه

۴- پروژه نوت پد

۵- پروژه ثبت نام دانشجویان با دیتا بیس

۶- پروژه دبیر خانه

ارسال شده بوسيله یگانه در مورخه :پنجشنبه شانزدهم فروردین 1386
( | نوع مطلب : | لينک ثابت | )
:: دلفی
در  این جلسه نیز می خواهیم به برخی از توابعی که با آنها کم و بیش سروکار داریم اشاره کنیم .
ابتدا به برخی از توابع کنترل رشته ها می پردازیم :
========================
CompareStr , StrComp : این دو تابع برای مقایسه کردن دو رشته به کار می رود . شکل کلی آن به صورت زیر می باشد :

function StrComp(const Str1, Str2 : PChar): Integer;
function CompareStr(const S1, S2: string): Integer;

- این تابع دو پارامتر رشته ای را دریافت می کند و نتیجه ای صحیح طبق جدول زیر برمی گرداند .

عددی منفی بر می گرداند <0 | Str1< Str2
در صورت برابری صفر بر می گرداند =0 | Str1= Str2
عددی مثبت بر می گرداند >0 | Str1 > Str2

StrCopy : این تابع یک رشته را به در یک رشته دیگر کپی می کند . شکل کلی آن به صورت زیر می باشد :

function StrCopy(Dest: PChar; const Source: PChar): PChar;

پارارمتر Dest رشته ای است که باید در آن عملیات کپی صورت گیرد و پارامتر Source رشته ای است که قرار است کپی شود . این تابع یک مقدار رشته ای بر می گرداند که در واقع همان پارامتر Dest می باشد .

Lenght , StrLen : این دو تابع طول یک رشته را بر میگرداند و در واقع تعداد کاراکترهای یک رشته می باشد . شکل کلی آن به صورت زیر است :

function StrLen(const Str: PChar): Cardinal;
function Length(Str): Integer;

پارامتر Str رشته ای است که قرار است طول آن محاسبه شود .

LowerCase , StrLower : این دو تابع تمام کاراکترهای یک رشته را به کاراکتر کوچک تبدیل می کند. شکل تابع به صورت زیر است:

function StrLower(Str: PChar): PChar;
function LowerCase(const S: string): string;

این تابع یک رشته را به عنوان پارامتر دریافت می کند و پس از تبدیل آن را بر می گرداند .

Pos , StrPos : کار این دو تابع جستجوی یک رشته درون رشته ای دیگر است و به صورت زیر به کار می رود :

function StrPos(const tr1, Str2: PChar): PChar;
function Pos(Substr: string; S: string): Integer;

این تابع دو پارامتر رشته را می گیرد و رشته Str2 را درون رشته str1 جستجو می کند ، در صورتی که رشته پیدا نشود مقدار nil را بر می گرداند .
در مورد تابع Pos در صورت پیدا شدن رشته محل اولین وقوع آن بر گردانده می شود .

UpperCase , StrUpper : این دو تابع نیز تمام کاراکترهای یک رشته را به کاراکتر بزرگ تبدیل می کند. شکل تابع به صورت زیر است:

function StrUpper(Str: PChar): PChar;
function UpperCase(const S: string): string;

این تابع یک رشته را به عنوان پارامتر دریافت می کند و پس از تبدیل آن را بر می گرداند .

Copy : این تابع ، برای جدا کردن زیررشته از یک رشته مورد استفاده قرار می گیرد و به صورت زیر به کار می رود :

function Copy(S : String ; Index, Count: Integer): string;

این تابع سه پارامتر می گیرد و از مکان Index‌ رشته S‌به تعداد Count کاراکتر جدا می کند و زیررشته مورد نظر را بر میگرداند .

روال Delete : این روال قسمتی از یک رشته را حذف می کند .

procedure Delete(var S: string; Index, Count:Integer);

این تابع از کارکتر شماره Index به طول Count از رشته S کاراکترها را حذف نموده و رشته جدید را بر می گرداند .

روال Insert‌ : از این روال برای قرار دادن رشته ای در یک رشته دیگر به کار می رود .

procedure Insert(Source: string; var S: string; Index: Integer);

این روال رشته source را گرفته و در مکان Index از رشته S کپی کرده و رشته جدید S‌ را برمیگرداند .

TrimLeft , TrimRight‌ : این دو تابع یک رشته را گرفته و به ترتیب فضای خالی سمت راست و فضای خالی سمت چپ آن را حذف می کنند.

function TrimLeft(const S: string): string;
function TrimLeft(const S: WideString): WideString;

function TrimRight(const S: string): string;
function TrimRight(const S: WideString): WideString;


روال Str : از این روال برای تبدیل مقدار عددی به رشته عددی به کار می رود و به صورت زیر می باشد :

procedure Str(X [: Width [: Decimals ]]; var S);

این روال مقدار عددی X را گرفته و به مقدار رشته عددی S تبدیل می کند . پارامترهای انتخابی و دلخواه Width و Decimals به ترتیب طول قسمت عددی که قرار است به رشته تبدیل شود و طول قسمت اعشار عدد اعشاری می باشد .
مثال :

var
Num : Integer ;
S : String ;
Num := 125.236 ;
Str(Num : 6 : 2 , S) ;
مقدار S = '125.23'

ارسال شده بوسيله یگانه در مورخه :شنبه هفتم بهمن 1385
( | نوع مطلب : | لينک ثابت | )
:: مختلف
پنهان کردن آیکون از روی صفحه دسک تاپ ویندوز

با استفاده از سورس کد زیر می توانید یک آیکون را از روی صفحه دسکتاپ ویندوز پنهان کنید یا آنرا مجددا نمایش دهید.


procedure ShowDesktop(const YesNo : boolean) ;
var h : THandle;
begin
h := FindWindow('ProgMan', nil) ;
h := GetWindow(h, GW_CHILD) ;
if YesNo = True then
ShowWindow(h, SW_SHOW)
else
ShowWindow(h, SW_HIDE) ;
end;

  

 چطور میشه از داخل برنامه دلفی به سطل آشغال ویندوز دسترسی داشت؟

سورس کد زیر می تواند اینکار را برای شما انجام دهد.

در یک برنامه جدید یک دکمه بگذارید و روتین زیر را برای رویداد کلیک آن بنویسید.

Place a TButton named "OpenBinButton" on a form



uses
ShlObj, ShellAPI, ... ;
Place a TButton named "OpenBinButton" on a form, handle its OnClick event as:

procedure TRecycleBinForm.OpenBinButtonClick(Sender: TObject) ;
var
recycleBinPIDL: PItemIDList;
execInfo: TShellExecuteInfo;
begin
SHGetSpecialFolderLocation(Handle, CSIDL_BITBUCKET, recycleBinPIDL) ;
with execInfo do
begin
cbSize := Sizeof(execInfo) ;
fMask := SEE_MASK_IDLIST;
Wnd := Handle;
lpVerb := nil;
lpFile := nil;
lpParameters := nil;
lpDirectory := nil;
nShow := SW_SHOWNORMAL;
hInstApp:=0;
lpIDList := recycleBinPIDL;
end;
ShellExecuteEx(@execInfo) ;
end;

 

دانلود کردن یک فایل از اینترنت

سورس کد زیر را می توانید برای دانلود یک فایل از طریق اینترنت استفاده نمائید.

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




uses ExtActns, ...

type
TfrMain = class(TForm)
...
private
procedure URL_OnDownloadProgress
(Sender: TDownLoadURL;
Progress, ProgressMax: Cardinal;
StatusCode: TURLDownloadStatus;
StatusText: String; var Cancel: Boolean) ;
...

implementation
...

procedure TfrMain.URL_OnDownloadProgress;
begin
ProgressBar1.Max:= ProgressMax;
ProgressBar1.Position:= Progress;
end;

function DoDownload;
begin
with TDownloadURL.Create(self) do
try
URL:='http://z.about.com/6/g/delphi/b/index.xml';
FileName := 'c:\ADPHealines.xml';
OnDownloadProgress := URL_OnDownloadProgress;

ExecuteTarget(nil) ;
finally
Free;
end;
end;

{
Note:
URL property points to Internet
FileName is the local file
}




در همین زمینه :

بد نیست بدانید چطور می توان فهمید که کامپیوتر به اینترنت متصل هست یا نه؟
 

 تهیه نسخه پشتیبان از بانک اطلاعاتی

How could we get backup from our SQL Server in Delphi?

تهیه بک آپ یا نسخه پشتیبان از بانک اطلاعاتی در دوره های زمانی خاض یکی از مهمترین بخشهای یک برنامه بانک اطلاعاتی است. یکی از بانکهای اطلاعاتی که در دلفی زیاد استفاده میشه SQL Server است که سورس زیر به شما کمک م یکنه تا بتونید از درون برنامه دلفی از بانک اطلاعاتی خودتان بک آپ بگیرید.



function ConvertListItemsToMultiString(Items: TListItems; var S: String):
Integer;
var
I: Integer;
begin
Result := 0;
S := '';
for I := 0 to Pred(Items.Count) do
if Items[I].Checked then
begin
S := Format('%s[%s]', [S, Items[I].Caption]);
Inc(Result);
end;
end;


procedure DoBackup(MainForm: TForm1; TheDlgForm: TBackupDlgForm);
var
S: String;
BackupObj: SQLDMO_TLB.Backup;
begin
BackupObj := CreateOleObject('SQLDMO.Backup') as SQLDMO_TLB.Backup;
try
with TheDlgForm do
begin
// --- mandatory backup object properties for all types of backup -
--
// Database to backup
with DatabaseCombo do BackupObj.Database := Items[ItemIndex];
// Backup Media selection
if ConvertListItemsToMultiString(BackupDevicesListView.Items, S) >
0 then
case DestinationCombo.ItemIndex of
0: // Files
BackupObj.Files := S;
1: // Backup Devices
BackupObj.Devices := S;
2: // Tapes
BackupObj.Tapes := S;
3: // Pipes
BackupObj.Pipes := S;
end;
// --- mandatory backup object properties for complete database,
transaction log, differential, and specific files backups ---
// Backup Action
BackupObj.Action := GetBackupRestoreAction([FullBackupButton,
DiffBackupButton, TransactionLogBackupButton, FileGroupBackupButton]);
// --- optional backup object properties for all types of backup --
-
// Backup Name
S := Trim(NameEdit.Text);
if Length(S) > 0 then BackupObj.BackupSetName := S;
// Backup Description
S := Trim(DescriptionEdit.Text);
if Length(S) > 0 then BackupObj.BackupSetDescription := S;
// Media name
// Media description
S := Trim(MediaDescriptionMemo.Text);
if Length(S) > 0 then
BackupObj.MediaDescription := S;
with MediaNameEdit do
if Visible then
begin
S := Trim(Text);
if Length(S) > 0 then
BackupObj.MediaName := S;
end;
// Backup Expiration Date or Retention Days
if OnDateRadioButton.Checked and (DateEdit1.Date <> 0) then
BackupObj.ExpirationDate := FormatDateTime('yyyymmdd',
DateEdit1.Date);
if AfterDaysRadioButton.Checked then
BackupObj.RetainDays := StrToInt(AfterDaysEdit.Text);
// Misc
BackupObj.BlockSize := StrToInt(BlockSizeEdit.Text);
BackupObj.FormatMedia := FormatCheckBox.Checked;
BackupObj.Initialize := InitializeCheckBox.Checked;
BackupObj.PercentCompleteNotification :=
Trunc(PercentCompleteNotification.Value);
BackupObj.Restart := RestartCheckBox.Checked;
BackupObj.SkipTapeHeader := SkipTapeHeaderCheckBox.Checked;
with TransactionLogCombo do
BackupObj.TruncateLog := Integer(Items.Objects[ItemIndex]);
BackupObj.UnloadTapeAfter := UnloadTapeCheckBox.Checked;
// do backup
with TBackupEventSink.Create(BackupObj) do // create event object
try
BackupObj.SQLBackup(MainForm.Server);
finally
Free; // this ASSUMES that the SQLBackup method is synchronous
end;
BackupObj := nil;
end;
except
BackupObj := nil;
raise;
end;
end;

 

ارسال شده بوسيله یگانه در مورخه :دوشنبه دوم مرداد 1385
( | نوع مطلب : | لينک ثابت | )
:: براي ايجاد شبكه كامپيوتري به چهارچيز نياز داريم :
براي ايجاد شبكه كامپيوتري به چهارچيز نياز داريم :
1. كارت واسط شبكه Network Interface Card : (NIC) از مهمترين عناصر تشكيل دهنده شبكه است .
2. نرم افزار شبكه (سيستم عامل شبكه ) Network Operating System(Software) : (NOS)
3. كابل بندي شبكه Network Cabling : (NC)
اين بخش را به دو دسته تقسيم ميكنيم : بخش اول نقاط دستيابي به محيطهاي انتقال شامل Router , Switch , Hub , Bridge , Repeater و ... : Access Points و بخش دوم چگونگي ارتباط كابلها با محيطهاي انتقال شبكه
4. ترمينال هاي شبكه مانند PC , Notebook , Network Printer , Network Modem

كارت واسط شبكه Network Interface Card : NIC
كارتهاي شبكه از نظر ساختاري به چند دسته تقسيم بندي ميشوند . كارتهاي شبكه دو نوع ( سه نوع ) از لحاظ استاندارد مورد استفاده وجود دارند اين دسته بندي بر اساس نحوه ارتباط با مادربرد به شرح زير است :
1. ISA/EISA : Architecture Standard Industry / Extended ISA
2. PCI Peripheral Components Industry :
3. USB : Universal Synchronous Bus

ISA : تجهيزات ISA تا سالهاي 1999 و 2000 توليد ميشدند . اما اين تجهيزات بدليل نواقصي زيادي كه داشت با شكست مواجه شد . دو دليل عمده اين شكست به شرح زير است :
1. اسلات هاي ISA ي نصب شده روي مادربرد با نصف سرعت باس مادربرد كار ميكردند . كه نتيجه آن كاهش خواندن و فرستادن اطلاعات به RAM بود .
2. در هر لحظه تنها يك اسلات اجازه استفاده از باس مادربرد را داشت و در صورتيكه دو اسلات همزمان به انتقال داده روي مادربرد ميپرداختند هر دو از عمل خارج ميشدند .

PCI : از مزاياي اين فناوري از بين رفتن دو مشكل عمده تكنولوژي ISA بود . در اين فناوري هر اسلات با سرعت باس مادربرد و همزمان با اسلات هاي ديگر نيز ميتوانست كار كند .

USB: كارتهاي واسط را ميتوان به نوعي سه دسته دانست كه دسته سوم استفاده از وروديهاي USB ميباشد . تكنولوژي استفاده شده در اين تجهيزات عينا شبيه به PCI ميباشد . (گذرگاه فراگير(گسترده) همزمان )

دسته بندي شبكه از نظر نوع مبادله اطلاعات :
آسنكرون : در اين شبكه داده هاي ارسالي تنها ميتوانند از يك مسير از مبدا به مقصد منتقل شوند و گذرگاه هميشه يكطرفه باقي ميماند . اگر A فرستنده و B دريافت كننده باشد هميشه از A به B انتقال داده صورت ميپذيرد .

دو نوع شبكه Synchronous داريم
1- دوطرفه غير همزمان
2- دوطرفه همزمان
1- دوطرفه غير همزمان : كارت شبكه A اطلاعات براي كارت B ميفرستد و B تنها زمانيكه كارت A فرستادن را تمام كرده است جواب ميدهد مثل برخي LAN ها . ( شبكه تلفن بين المللي بيسيم )
2- همزمان ميتوانند اطلاعات را بفرستند و بگيرند ( تلفن شهري)
شبكه Asynchronous : يعني فقط يك طرفه هستند ( راديو ‍ تلويزيون )
درحاشيه :‌AGP نوعي PCI است .
در هر دو طرف شبكه و ترمينال اطلاعات ديجيتال هستند PCM
سمت ترمينال جريان موازي است و اطلاعات از / به رم بصورت موازي منتقل ميشوند .
وظيفه كارت شبكه تبديل اطلاعات از سريال به موازي و يا عكس آن ميباشد .
همه شبكه هاي كامپيوتري سريال هستند بنابراين اطلاعات سريال وارد شبكه و موازي وارد RAM ميشود . در TRX تبديل به يك بيت در هر زمان جهت انتقال از كارت به شبكه ميشود و اگر قرار باشد اطلاعات از شبكه به RAM برود TRX اطلاعات را موازي ميكند .
EBC :Extended Bus Connector اتصال دهنده توسعه باس است . TX مخفف Transmitter و RX مخفف Reciever .
وظيفه CPU ي كارت شبكه كنترل كارت و عمليات تبديلها را انجام ميدهد .
كنترل عمليات كارت :
دستورالعملها و داده هاي برنامه همان درايور كارت شبكه است در RAM
پايين كارت دو قسمت داريم :
1- Boot ROM : بستگي به شبكه خودمان دارد كه الزامي ندارد كارتهاي شبكه ما از نوع Boot-Rom دار باشد .
يكي از ترمينال هاي شبكه باقي سيستم را بوت كند . يعني از راه دور بتوان تجهيزات ديگر را بوت كرد .
مثل هارد و سي دي رام . بوت رام بصورت يك سوكت هست و فرضا برنامه مورد نظر را در يك EPROM مينويسي و انگاه در ان سوكت تعبيه شده روي كارت قرار ميدهي . به كمك اين اين قطعه ميتوان اجازه بوت شدن ديگر دستگاهها را بر عهده گرفت .
Jumper Address : اتصال دهنده ادرس است كه اختياري است . يك كارت شبكه معمولي نه بوت رام داد ونه جامپر آدرس .
هر كارت شبكه داراي يك آدرس فيزيكي منحصربفرد براي همان كارت شبكه است .
MAC Address : بصورت جهاني منحصر بفرد و ثابت است مانند آدرس تلفن .
Media Access Control Address آدرس كنترل و دستيابي محيط
يعني كارت شبكه از طريق آدرس به كابلها متصل ميشود بنابراين هر كارت شبكه يك MACAddress دارد بنابراين هر كارت شبكه براي ارسال اطلاعات به كارت ديگر بدنبال MAC Address كارتي كه قصد ارتباط با آن را دارد را پيدا ميكند . اين ادرس در تمامي كارتهاي شبكه موجود است .

يك MAC Address استاندارد 48 بيت طول دارد كه 6 بايت ميشود . كه از دو بخش سه بايتي تشكيل ميشود . 24 بيت اول مشخصات سازنده آن كارت شبكه است يعني مثلا D-Link ميباشد . 24 بيت دوم شماره سريال كارت شبكه است . كه Unique و حك شده روي كارت ميباشد .
Jumer Address : زماني كه يك MAC Address ماسك شده را استفاده كنيم حداقل اين آدرس را از ديد يك نفوذگر پنهان كرده ايم .
به يك ادرس فيزيكي ميتوان n آدرس منطقي اختصاص داد .
سريال : ارسال و دريافت يك بيت در هر زمان .
موازي : ارسال و دريافت n بيت در هر زمان

ارسال شده بوسيله یگانه در مورخه :جمعه پنجم خرداد 1385
( | نوع مطلب : | لينک ثابت | )
:: tasm
برنامه نويسان دوران DOS با tasm.exe و tlink.exe آشنايي دارند.ايندو از ديرباز رقيبان masm.exe و link.exe بوده و هستند.بله tasm و برادركوچكش tlink از اولين ابزارهاي برنامه نويسان حرفه اي هستند.اما بعد از ظهور Turbo Pascal ، Turbo C/C++ و متعاقبا كامپايلر هاي تحت ويندوز ، كم كم محبوبيت خود را از دست دادند.هم اكنون كمتر صحبتي در مورد اين افسانه هاي قديمي پردازنده هاي x86 ميشود.

آيا اين نشانه مرگ tasm است؟

آيا ميدانيد هر بار كه Delphi يا C++Builder را نصب ميكنيد ، نمونه 32 بيتي اين اسمبلر باوفا نيز ميهمان ديسك سخت شما ميشود؟

آيا ميدانيد مهمترين بخشهاي VCL توسط اسمبلي و tasm32.exe نوشته شده است؟

آيا مي خواهيد روش استفاده از tasm در Delphi را ياد بگيريد؟

اگر جواب شما به سوال آخر بله است ، با من همراه شويد تا يك برنامه كاملا ابتدايي و آموزشي با تركيب قدرت tasm و Delphi بسازيم.اگر جواب شما به سوال آخر خير است لطفا موس خود را به سمت گوشه بالا و راست اين پنجره برده و روي آن دكمه ضربدري شكل كليك كنيد!

چه كساني ميتوانند از اين مقاله استفاده كنند؟
قبل از هر چيز خواننده بايد با دستورات اسمبلي آشنا باشد.با يك جستجوي ساده در اينترنت ميتوانيد به مقالات آموزشي زيادي دسترسي پيدا كنيد.
آشنايي با نحوه پياده سازي ويندوز نيز كمك زيادي بشما خواهد كرد اما براي استفاده اين مقاله لازم نيست.در اين مورد، شايد مقاله ديگر من بنام "اسمبلي تحت ويندوز" بتواند بشما كمك كند.

آستينها رابالا بزنيد!!
برنامه اي كه خواهيم ساخت كار بسيار ساده اي انجام ميدهد.
اين برنامه يك Message box را نمايش داده كه داراي دو كليد OK و Cancel است.هر كدام از اين كليد ها كه click شوند توسط يك Message box ديگر به كاربر گزارش داده ميشود.

براي شروع يك فايل با پسوند dpr ساخته و كد زير را در آن كپي كنيد:

program DelphiAsm;
uses windows;

var
Title :PChar = 'Inline assembly with Reza'#0;//bar hasbeh adat!!
Mes1 : PChar = 'Please press one of the following buttons!!'#0;
Mes2 : PChar = 'You pressed OK button!!'#0;
Mes3 : PChar = 'You pressed Cancel button!!'#0;

label
PRINTPROC;

begin
asm
push 1
push Title
push Mes1
push 0
call MessageBoxA
cmp eax , IDOK
je PRINTPROC
push Mes3
pop Mes2

PRINTPROC:
push 0
push Title
push Mes2
push 0
call MessageBoxA

mov eax,0
call ExitProcess
end;
end.

نكته:در دلفي براي نوشتن دستورات اسمبلي از بلوك asm … end; استفاده ميشود.

قبل از هر چيز به نحوه تعريف يك ليبل توسط كلمه كليديمLabel توجه كنيد.چه در tasm و چه در masm احتياجي به اعلان كردن ليبل ها نداريد ولي از آنجايي كه Delphi يك كامپايلر است و قوانين خواص خود را دارد ، قبل از استفاده از هر ليبل بايد آنرا اعلان كنيد.

نكته دوم مسئله calling convention است.بايد بدانيد كه Delphi از روش Fastcall براي فراخواني توابع خود استفاده ميكند ولي windows از روش stdcall بهره ميبرد.

Stdcall يعني آرگومانها را از چپ به راست در پشته قرار مي گيرند و callee (فراخوانده) مسئول pop كردن آرگومانها است.(براي اطلاعات بيشتر در مورد انواع calling convention ها به MSDN يا مقاله ديگر من بنام "اسمبلي تحت ويندوز" مراجعه كنيد.)

براي يافتن Prototype اولين تابع مورد استفاده نگاهي به MSDN بيندازيد و تابع MessageBox (و نه MessageBoxA يا MessageBoxW) را search كنيد :

int MessageBox(
HWND hWnd, // handle to owner window
LPCTSTR lpText, // text in message box
LPCTSTR lpCaption, // message box title
UINT uType // message box style
);
اكنون ميدانيد كه
1.Prototype تابع MessageBox چيست.
2.calling convention استاندارد يا stdcall چگونه عمل ميكند.

پس دست بكار شده و آرگومانها را از چپ به راست در stack بچپانيد!! سپس تابع MessageBox را فراخواني كنيد.

همانطور كه در Prototype تابع MessageBox ميبينيد مقدار بازگشتي آن يك Integer است كه نشان دهده دكمه كليك شده در Message box است.

نكته مهم:
توابع stdcall مقدار بازگشتي خود را در eax قرار ميدهند.

آقا يادم رفت بگم ، اسامي چون IDOK, IDCANCEL, MessageBox و... در يونيت windows اعلان شده اند.

پس تا اينجا موفق شديم يك MessageBox با متن
Please press one of the following buttons!! نمايش دهيم .بر اساس مقدار بازگشتي اين تابع تشخيص ميدهيم كه كدام دكمه(button) كليك شده است و با يك جابجايي ساده و بدون توليد كد اضافي پيام مناسب را توسط يك Message box ديگر به كاربر نمايش ميدهيم.حتما ميدانيد كه متغييري از نوع رشته در ويندوز ، يك اشاره گر به اولين كاراكتر آن رشته است.(علت اين است كه windows بوسيله زبان C پياده سازي شده است.)

در انتها نيز با فراخواني ExitProcess تمامي thread هاي فعال (كه در اين برنامه يكي بيشتر نيست!!) بسته ميشوند ، هر چند كه انجام اين كار ضروري نيست، دلفي كد لازم را توليد خواهد كرد.مي توانيد دو خط آخر را حذف كنيد و نتيجه كار را ببينيد.

در اين برنامه براي ساده كردن كار از VCL كه نقطه عطف Delphi است استفاده نكرديم اما شما ميتوانيد در برنامه هاي عادي خود VCL و اسمبلي را باهم بكار گرفته و برنامه هايي با بازدهي بسيار بالا بسازيد.از حالا به بعد اگر شنيديد كه :"آره بابا با دلفي نميشه فلان كارو انجام داد ، بايد با اسمبلي كد بنويسي" ميدانيد چه جوابي بدهيد.

ارسال شده بوسيله یگانه در مورخه :پنجشنبه چهارم خرداد 1385
( | نوع مطلب : | لينک ثابت | )
:: دسترسي مستقيم به حافظه ويدئو
دسترسي مستقيم به حافظه ويدئو

ے در اين قسمت ميبينيم كه چطور در اسمبلي بدون استفاده از وقفه ، كاراكترها را در
صفحه نمايش چاپ كنيم . به همين صورت نوشتن نقاط گرافيكي را انجام ميدهيم و ..

ے كارت هاي گرافيكي مبتني بر CGA/EGA/VGA داراي قطعه حافظه ي مخصوصي هستند كه
ے اطلاعات صفحه نمايش در آن نگهداري ميشود . به عبارت ديگر هر چيزي در اين قسمت
از حافظه نوشته شود ، روي صفحه نمايش ائير صفحه نمايش ميگذارد .
ے در حالت گرافيكي اين قطعه از آدرس A000h و در مود متني از B000h يا B8000h شروع
ے ميشود . در حالت متني قطعه ويدئو در هر سگمنتي كه باشد ، هميشه بايتهاي زوج ( با
ے شروع از صفر) مربوط به كد اسكي كاراكتر بوده و بايتهاي فرد ( با شروع از يك )
ے مربوط به خصلت كاراكتر است . يعني خصلت كاراكتري كه در آفست n ام قرار دارد
در آفست n+1 ام قرار ميگيرد و ... .
خصلت مربوط به هر كاراكتر از فرمول زير محاسبه ميشود :
رنگ زمينه +16*رنگ متن = خصلت

بعنوان مثال اگر بخواهيم كه كاراكتر چاپ شونده با رنگ سفيد روي زمينه آبي ديده
شود داريم : = 31 َ= 15+1*16 خصلت .

( كد اسكي كاركتر) آفست 0
( بايت خصيصه ) آفست 1 | | |
| |
0 1 2 3 4 5 ......................................





| | | | | | | |


ے در كارتهاي گرافيكي تك رنگ (Monochrome) مانند CGA/MDA و ... قطعه حافظه ويدئو (
براي مود متني ) از آدرس B000h و در كارتهاي رنگي از آدرس B800h شروع ميشود .
ے مثال : برنامه زير تمام صفحه نمايش را با كاراكتر (.) و به رنگ سفيد روي زمينه
آبي پر ميكند.

مشخصه كاراكترها ; EQU 31 ATTR E
آدرس قطعه ويدئو ; VIDSEG EEQU 0B800H . MODEL SMALL
. CODE
ORG 100H
START :
JMP MAIN
DPRINT PROC
PUSH ES
MOV AX/VIDSEG
MOV ES/AX ;

كاراكتر براي چاپ MOV AL/'.' ; MOV ES:[BX]/AL ;

آفست قرار گيري بايت خصيصه INC BX ; MOV AL/ATTR
MOV ES:[BX]/AL
POP ES
RET
DPRINT ENDP

MAIN :

آفست شروع = صفر ; XOR BX/BX LOOP :_
CALL DPRINT

كاراكتر بعدي ; INC BX CMP BX/4000 ;( 80X25)x2
JNZ LOOP _
INT 20H
END START


ے در برنامه بالا محل آفست ها با BX مشخص ميشود . بنابراين ابتدا كد اسكي كاراكتر
را در آدرس ES:[BX] نوشته و سپس بايت مشخصه را در ES:[BX+1] قرار ميدهيم و..
ے چون صفحه نمايش داراي 80x25 عنصر بوده و هر كاراكتر 2 بايت ( كد كاراكتر و
ے بايت مشخصه ) اشغال ميكند بنا براين 80x25x2=4000 بايت طول دارد . بنا براين در
پايان برنامه تست ميكنيم كه آيا BX با آفست 4000 ام رسيده يا نه .

تمرين : برنامه اي بنويسيد و در آن پروسيجري طراحي كنيد كه يك رشته كاراكتري
را با اين روش بنويسد.

ے با همين روش ميتوانيم قسمتي از صفحه نمايش را ذخيره و بازيابي كنيم . برنامه
ے هائي كه در آنها از منوها و پنجره ها استفاده شده همگي از اين روشها استفاده
ے ميكنند . به اينصورت كه قبل از نمايش يك پنجره ( مثل يك Dialog box) ابتدا
محتواي پشت آن را ذخيره كرده و بعدا دوباره در همان محل قرار ميدهند.
برنامه زير ابتدا كل صفحه نمايش را در بافري ذخيره كرده و مجددا نمايش ميدهد

VIDSEG EQU 0B800h
.MODEL SMALL
.CODE
ORG 100H
START:
JMP MAIN
BUF DB 4000 DUP(0)
MSG DB ' NOW PRESS ANY KEY TO RESTORE SCREEN IMAGE$'
MAIN:
XOR BX/BX
PUSH ES
MOV AX/VIDSEG
MOV ES/AX
LOOP1:
MOV AL/ BYTE PTR ES:[BX]
MOV BUF[BX]/AL
INC BX
CMP BX/4000
JNZ LOOP1

; Clera screen.
MOV AL/0
MOV DH/24
MOV DL/79
XOR CX/CX
XOR BH/BH
MOV AH/7
INT 10H

; DISPLAY MESSAGE
MOV AH/9
LEA DX/MSG
INT 21H

; Wait for a key
MOV AH/0
INT 16H

XOR BX/BX
LOOP2:
MOV AL/BUF[BX]
MOV BYTE PTR ES:[BX]/AL
INC BX
CMP BX/4000
JNZ


ارسال شده بوسيله یگانه در مورخه :یکشنبه سی و یکم اردیبهشت 1385
( | نوع مطلب : | لينک ثابت | )
::لينک باکس سايت آموزش ايرانيان

منوي کاربري

سلام:
پروژه های دانشجویی دانشجویان کامپیوتر با قیمت بسیار مناسب پذیرفته می شود.


لينک به سايت



 

شعر فانوس دریایی

دوستان


  پروژه های رشته کامپیوتر با نازلترین قیمت پذیرفته می شود

لينکهاي روزانه

زيباترين قالبهاي وبلاگ
آرشيو لينکهاي روزانه

لينک دوستان

سايت آموزش ايرانيان
دریا
از عشق بهتره هيچي نگم
فن آوری
کسب درآمد از سایت ایرانی مانیزان
تجارت اینترنتی
دلفی

CopyRight © 2004-2007 By WWW.irwebnet.tk , All Rights Reserved
Design By : mohsen