# Native Code > برنامه نویسی در 6 VB > برنامه نویسی مرتبط با شبکه و وب در VB6 >  روشن کردن کامپیوتر با LAN

## vahid_d_0101

بچه ها من میخوام تو vb یه برنامه بنویسم که اون برنامه بتونه یکی از کامپیوتر های تحت شبکه را روشن کند برای این کار باید سرچ کردم که تنها چیزی که پیدا کردم این بود 



> اینگونه نرم افزار ها از خاصیت WakeOnLan مادربورد استفاده میکنند در صورتی که مادربورد شما این قابلیت را پشتیبانی کند میتونید از اینگونه نرم افزار ها استفاده کنید روش عملکرد این نرم افزار ها به شرح زیر است :
> 
> پکت های ارسالی که در WakeOnLan استفاده می شوند از نوع UDP هستند که شامل MAC آدرس کارت شبکه کامپیوتر مقصد می باشد . که معمولا MAC آدرس به صورت string در مبنای 16 مشخص می شود به عنوان مثال (00:0D:61:08:22:4A ). که برای ارسال آن تنها نیاز به 6 بایت است و همچنین این پکت نیاز به 6 بایت جهت header و 16 برابر طول اطلاعات جهت مشخص شدن نوع آن که مجموعا برابر با 102 بایت می شود . 
> 6 بایت اول پکت که مربوط به header آن است بایستی با 0Xff پر شود.6 بایت دوم پکت بایستی برابر با MAC آدرس کامپیوتر مقصد شود .و به ترتیب تا انتهای پکت هر 6 بایت بایستی برابر با مقدار MAC آدرس کامپیوتر شود تا انتهای پکتاین پکت UDP به صورت Broadcast بر روی پورت 9 ارسال می شود همانند 200.0.0.255 . این پکت توسط تمامی کامپیوتر هایی که در شبکه شما وجود دارند دریافت می شود . اما تنها کامپیوتری که MAC آدرس آن با MAC آدرسی که در پکت نوشته شده است یکی باشد روشن می شود .
> 
> توجه داشته باشید در صورتی که ترافیک شبکه شما بالا باشد هیچ تضمینی در دریافت این پکت نیست بنابر این شما بایستی این پکت را بیشتر از یک بار ارسال کنید .

----------


## vahid_d_0101

بچه ها کسی نمیتونه کمکی برسونه

----------


## mpmsoft

دوست عزیز خوب این مطلبی که شما پیدا کردید کاملا مشخصه

MAC سریال کارت شبکه هست
Broadcasting یعنی یک پیغام رو برای تمامی کامپیوتر های شبکه بفرستید

خوب گفته باید از پروتکل UDP استفاده کنی. مطالب درباره UDP در این سایت زیاده حتی PDF فارسی

----------


## vahid_d_0101

mpmsoft  اگه یه دونه سورس برای این کار معرفی کنید خیلی ممنون میشم در ضمن mac کارت شبکه را چه جوری تو خود Vb به دست بیاریم 
با تشکر

----------


## mpmsoft

یه فایل صمیمه کردم آموزش UDP برای وی بی 6 با وین ساک

----------


## vahid_d_0101

کسی میتونه برای روشن کردن کمکی بکنه خیلی بهش نیاز دارم

----------


## mpmsoft

یه نگاه به این آدرس بنداز

http://www.activexperts.com/activsocket/objects/wol/

----------


## vahid_d_0101

این سایت هم خوندم ولی هنوز چیزی دست گیرم نشده

----------


## mghoami

من تازه واردم و به برنامه نویسی اشراف ندارم ولی به شبکه چرا شما یا بایید Arp table  رو بخونید یا dhcp table رو

----------


## vahid_d_0101

اين سوالم اگه كسي جواب بده ممنون ميشم

----------


## vahid_d_0101

بچه ها من دارم یه برنامه مدیریت کافی نت بسار جالب درست میکنم اگه کسی تو این دو سوال ( تاپیک بعدی هم هست ) میتونه جواب بده لطف کنه بگه اخه خیلی تو این دومورد موندم

----------


## vahid_d_0101

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



> در مواقعی که در یک شبکه فعالیت می‌کنید، گاهی این اتفاق می‌افتد که نیاز به روشن کردن سیستم از راه دور دارید، البته بسیاری مواقع افراد به جای روشن کردن از راه دور عکس قضیه را عملی می‌کنند یعنی کامپیوتر را برای تمام مدت روشن می‌گذارند، چنین عملی باعث می‌شود تا افرادی که مجاز به دسترسی نیستند مدت زمان بیشتری برای دسترسی به سیستم داشته باشند. اما آیا راهی برای روشن کردن سیستم از راه دور وجود دارد؟! 
> بسیاری از کاربران هنگامی که یک کارت شبکه خریداری می‌کنند در دفترچه‌ی راهنما یا برروی جعبه‌ی کارت شبکه "Wake On Lan" را دیده‌اند.در این مقاله قصد دارم تا شما را با روش استفاده از این قابلیت در سیستم گنو/لینوکس آشنا کنم. آنچه شمانیاز خواهید داشت یک کارت شبکه‌ که از قابلیت «Wake on Lan» پشتیبانی کند و روشی برای ارسال سیگنال برای چنین کارت شبکه‌ای است. 
> بسیاری از کارت‌های شبکه امروزی از قابلیت «WakeOn Lan» پشتیبانی می‌کنند، اگر کارت شبکه‌ی شما «on-board» است، به دفترچه راهنمای مادربورد خود مراجعه کنید، اغلب مادربوردهای جدید درای کارت شبکه‌هایی با امکان «Wake On Lan» هستند. برای فعال کردن این قابلیت در چنین مادربوردهایی کافیست در زمان بالا آمدن سیستم وارد قسمت تنظیم BIOS شوید و در قسمت «Power Management» گزینه‌ها‌ی «wakeonlan» یا «netboot» یا «wake onring events» را جستجو کنید. بسته به نوع مادربورد (نوع چپ‌ست بایوسی که در آن استفاده شده است) یکی از گزینه‌های بالا برای فعال کردن قابلیت Wake on Lan استفاده خواهند شد. *1.بسته‌های جادویی* 
> برای روشن کردن یک کامپیوتر از راه دور باید از طریق یک نرم افزار یک پیغام برای کارت شبکه بفرستید. این پیغام‌ها را «بسته‌های جادویی شبکه» یا «Magic Network Packets» می‌نامند. برای استفاده از از این بسته‌های جادویی همان‌طور که اشاره کردیم نیاز به یک کارت شبکه با قابلیت Wake on Lan و نیز برنامه‌ای برای ارسال این بسته‌ها در شبکه دارید. نیازهای سخت افزاری به کارت شبکه‌ی شما بسته است. اما برنامه‌ای که این بسته‌ها را ارسال کند و بتوانید از طریق آن این قابلیت را مدیریت کنید را به سادگی می‌توانید در توزیع خودتان پیدا کنید. برای این کار من از برنامه‌های "ethtool" و"wakeonlan" استفاده کرده‌ام. البته می‌توانید از "etherwake" به جای "wakeonlan" استفاده کنید. *2.اجرا* 
> برای نصب برنامه‌های ذکر شده می‌توانید در توزیع‌هایی که بر اساس دبیان هستند از دستور "apt-get" استفاده کنید، اگر از SuSE استفاده می‌کنید از YaST و در سایر توزیع‌ها از مدیر بسته‌های همان توزیع استفاده کنید. پس از نصب برنامه‌ی ethtool برای بررسی وضعیت در خط فرمان دستور زیر رامی‌نویسیم: 
> 
> 
> [IMG]file:///F:/lenoks/LINUX/GNU%20IRAN/Sakht%20afzar/1_files/console.png[/IMG] *root@tux:~# ethtool eth0Settings for eth0:Supports Wake-on: gWake-on: dLink detected: yes*
> 
> ...

----------


## M.T.P

اینم سورس کد روشن کردن در شبکه...
مراحل کار:
1. سیستمی که میخواین تو شبکه روشنش کنیدباید حداقل یک بار روشن شده باشه تا Mac Adress اون معرفی بشه.
2. گرفتن Physical adress سیستم مقصد یا همون  Mac Adress(سیستمی که قراره روشن شه)
     - چند روش برای بدست آوردن Mac آدرس هست ، یکی اینکه تو Cmd سرور بزنید arp -a که تمامی آی پی ها با Mac رو بهتون میده و میتونین Mac سیستم مقصد رو بدست بیارین.
3. وارد کردن آی پی و subnet mask سیستم مقصد. که فکر کنم میدونین چیه!
4. ارسال دستور

سعی میکنم این دو مرحله یعنی گرفتن mac با subnet mask رو هم با کد بدست بیاریم که دیگه برنامه مون کامل کامل شه.
امیدوارم لذت ببرید.  :قلب:

----------


## hojjatshariffam

تو تاپیک زیر به زبان سی شارپ کدشو گذاشتم
امید وارم که قابل استفاده باشه
http://www.barnamenevis.org/sh...d.php?t=246057
موفق باشد

----------

