PDA

View Full Version : روشن کردن کامپیوتر از راه دور ؟



majid325
دوشنبه 15 آبان 1385, 00:03 صبح
با سلام:
کسی میدونه یک کامپیوتر را چه جوری با استفاده از کد نویسی(بدون استفاده از برنامه های کمکی)میشه از راه دور روشن کرد؟
با تشکر

i_naderpour
دوشنبه 15 آبان 1385, 00:37 صبح
آره با فیزیکال ADDRESS میشه روشنش کرد اگه غیر از این میخوای نمیدونم , اما اگه همینو میخوای میتونم کدش رو پیدا کنم برات

Identifier
دوشنبه 15 آبان 1385, 08:37 صبح
ا فیزیکال ip میشه
با استفاده از MAC Address و یا همان فیزیکال آدرس نه فیزیکال IP میتونید اینکار را انجام بدید در بخش شبکه قبلا نحوه انجام این کار را توضیح داده ام.
اما این کار منوظ به دانستن MAC Address کارت شبکه دستگاه مورد نظر و همچنین امکان Broadcast کردن پکت های UDP داره.

SabaSabouhi
دوشنبه 15 آبان 1385, 14:39 عصر
با سلام
این کاملاً به کامپیوتر و BIOS اون مربوط مى‌شه. شما هنگام Boot شدن کامپیوتر دکمه‌ى Del را بزنید. (اغلب کامپیوترها با این کلید وارد BIOS-Setup مى‌شن) و ببینید کامپیوتر شما با چه رویدادهایى امکان روشن شدن داره.
یکى از این رویدادها همانطور که دوستان اشاره کردند دریافت Packet از طریق کارت شبکه هست.
روش دیگه با استفاده از مودم هست، یعنى با زنگ خوردن خط تلفنى که به کامپیوتر متصل هست کامپیوتر روشن بشه البته اگر منظورتون این باشه باید توجه کنید که با تماس اول نمى‌تونید ارتباط رو برقرار کنید چون تا کامپیوتر روشن بشه و قابل استفاده تماس تلفنى شما وقتش تموم شده و باید مجدداً تماس بگیرید که این دفعه چون کامپیوتر شما روشن شده تماس برقرار مى‌شود. (پس از گذشت یک دقیقه مخابرات ارتباط رو قطع مى‌کنه و شما بوق اشغال مى‌شنوید.)

صباصبوحى

majid325
دوشنبه 15 آبان 1385, 17:46 عصر
با سلام
.
روش دیگه با استفاده از مودم هست، یعنی با زنگ خوردن خط تلفنی که به کامپیوتر متصل هست کامپیوتر روشن بشه البته اگر منظورتون این باشه باید توجه کنید که با تماس اول نمی‌تونید ارتباط رو برقرار کنید چون تا کامپیوتر روشن بشه و قابل استفاده تماس تلفنی شما وقتش تموم شده و باید مجدداً تماس بگیرید که این دفعه چون کامپیوتر شما روشن شده تماس برقرار می‌شود. (پس از گذشت یک دقیقه مخابرات ارتباط رو قطع می‌کنه و شما بوق اشغال می‌شنوید.)

صباصبوحی
با تشکر ..آیا در این روش میشه چک کرد که یک عددی وارد بشه به عنوان Password ؟

من فقط میخوام کامپیوتر روشن بشه ...بعدش با یه exe در startup کارم را انجام میدم


مودم باید از نوع خاصی باشد؟

majid325
دوشنبه 15 آبان 1385, 17:51 عصر
با استفاده از MAC Address و یا همان فیزیکال آدرس نه فیزیکال IP میتونید اینکار را انجام بدید در بخش شبکه قبلا نحوه انجام این کار را توضیح داده ام.
اما این کار منوظ به دانستن MAC Address کارت شبکه دستگاه مورد نظر و همچنین امکان Broadcast کردن پکت های UDP داره.
با تشکر:
من کد شما را دیدم...اگه اشتباه نکنم جاوا است...به زبان C# را ندارید....یا همان کد شما را من باید به چه طریقی اجرا کنم؟
در ضمن کامپیوتر مورد نظر مشخص است .
--------------------

آره با فیزیکال ip میشه روشنش کرد اگه غیر از این میخوای نمیدونم , اما اگه همینو میخوای میتونم کدش رو پیدا کنم برات
تشکر میکنم.
اگه کد به زبان C# /vb.net داری بدی خوبه!

Identifier
دوشنبه 15 آبان 1385, 19:33 عصر
using System (https://secure.codeproject.com/cs/internet/cswol.asp#);
using System.Net.Sockets;

//we derive our class from a standart one
public class WOLClass:UdpClient
{
public WOLClass():base()
{ }
//this is needed to send broadcast packet
public void SetClientToBrodcastMode()
{
if(this.Active)
this.Client.SetSocketOption(SocketOptionLevel.Sock et,
SocketOptionName.Broadcast,0);
}
}

...
//now use this class
//MAC_ADDRESS should look like '013FA049'
private void WakeFunction(string MAC_ADDRESS)
{
WOLClass client=new WOLClass();
client.Connect(new
IPAddress(0xffffffff), //255.255.255.255 i.e broadcast
0x2fff); // port=12287 let's use this one
client.SetClientToBrodcastMode();
//set sending bites
int counter=0;
//buffer to be send
byte[] bytes=new byte[1024]; // more than enough :-)
//first 6 bytes should be 0xFF
for(int y=0;y<6;y++)
bytes[counter++]=0xFF;
//now repeate MAC 16 times
for(int y=0;y<16;y++)
{
int i=0;
for(int z=0;z<6;z++)
{
bytes[counter++]=
byte.Parse(MAC_ADDRESS.Substring(i,2),
NumberStyles.HexNumber);
i+=2;
}
}

//now send wake up packet
int reterned_value=client.Send(bytes,1024);
}

Touska
دوشنبه 15 آبان 1385, 20:45 عصر
در تکمیل صحبتهای دوستمون : WOL (http://barnamenevis.org/forum/showthread.php?t=52835&highlight=WOL)

موفق باشید :)

SabaSabouhi
سه شنبه 16 آبان 1385, 11:20 صبح
با تشکر ..آیا در این روش میشه چک کرد که یک عددی وارد بشه به عنوان Password ؟
من فقط میخوام کامپیوتر روشن بشه ...بعدش با یه exe در startup کارم را انجام میدم
مودم باید از نوع خاصی باشد؟

سلام
نه چیزى را نمى‌توانید چک کنید، با برقرارى تماس کامپیوتر به شکل کاملاً عادى روشن مى‌شود. البته مى‌توانید برنامه‌اى در Startup داشته باشید اما نمى‌توانید به شکل پارامترى یا روش دیگه به اون برنامه اعلام کنید که کامپیوتر چطورى روشن شده. ( با مودم یا بواسطه کاربر)

در مورد مودم هم هیچ محدودیتى وجود نباید داشته باشه محدودیت فقط این هست که BIOS کامپیوتر شما از این عمل پشتیبانى مى‌کنه یا نه (که در کامپیوترهاى جدید تقریباً در تمامشون این پشتیبانى وجود داره)

در ControlPanel~phone and modem options در Tab مودم دکمه‌ى Properties را بزنید. فرم جدیدى باز مى‌شود در یکى از Tabهاى آن Check boxاى وجود دارد که مى‌پرسد آیا کامپیوتر از طریق این مودم روشن شود؟

صبا صبوحى

majid325
چهارشنبه 17 آبان 1385, 11:25 صبح
با تشکر از راهنمایی تمام دوستان.

b0rn2kill
یک شنبه 13 فروردین 1391, 14:21 عصر
سلام بچه ها من می خوام با استفاده از برنامه Wake on lan سیستمم رو از راه دور از Hibernate mode در بیارم
البته سیستمم bios password داره موقع بوت شدن هم روی سیستم عاملم (ویندوز 7) پسورد ادمین گذاشتم.
می تونم از راه دور این پسورد هارو وارد کنم؟ بنا به دلایلی نمی تونم پسورد هارو بردارم
اگه solution برای لینوکس باشه که بتونه این کارارو انجام بده هم خوبه
روی لیلو هم پسورد گذاشتم.روی کاربر Root هم پسورد دارم کسی راه حلی براش داره ؟