Switch on PC in your Network
මට පහුගිය දවසක අවෂ්යතාවයක් ඇතිවුනා නෙට්වර්ක් එකේ තියෙන කම්පියුටරයක් එය තියෙන තැනට යන්නෙ නැතිව ස්විච් ඔන් කරගන්න. පොඩ්ඩක් බැළුව ලේසියෙන් කරගන්න පුළුවන්ද කියල. ගූගල් වල සර්ච් කරල බලද්දි දැනගන්න පුළුවන් උනා Wake on LAN(http://en.wikipedia.org/wiki/Wake-on-LAN) කියල පහසුකමක් ගැන. මේක කෙටියෙන් කීවොත් අපි පරිගණක shut down කලාට සම්පූර්ණයෙන්ම off වෙන්නෙ නෑ. ඒ කියන්නෙ හාඩ් ඩිස්ක්, රැම්, ප්රොකසෙසරයට එන විදුලිය විසන්ධි වුනාට නෙට්වර්ක් කාඩ් එකේ බල්බ් එකක් පත්තුවෙලා තියෙනව හෝ පත්තු වෙවී නිවෙනව දැකල තියෙනවද ?
මෙය වෙන්නෙ කොහොමද කියල වැඩි දුර කීවොත්, සෑම නෙට්වර්ක් කාඩ් එකකම තියෙනව නෙ MAC ඇඩ්රස් එකක්. මේ ඇඩ්රස් එක අපි දැන ගන්න අවෂයයි. අපි කරන්නෙ නෙට්වර්ක් එකට UDP(http://en.wikipedia.org/wiki/User_Datagram_Protocol) Packet එකක් broadcast කරන එක. නමුත් මේ පැකැට් එකේ විශේෂයක් තියෙනව. ඒ තමා UDP(http://en.wikipedia.org/wiki/User_Datagram_Protocol) Packet එකේ MAC ඇඩ්රස් එක 16 පාරක් ලියන එක. එවිට FF සහිත බයිට් 6 ක් සහ MAC ඇඩ්ර්කස් එක 16 ගුණයක් ඇතුලත් කලාම මුළු දත්ත ප්ර මාණය බයිට් 102 ක් තියෙනව. ඒ නිසා මේ පැකැට් “Magic Packet” ලෙස හදුන්වනව. මේ රූපය බලන්න
මෙහෙම හදාගත්තු Byte packet එක නෙට්වර්ක් එකේ broadcast කරපුවාම අදාල පරිගණකයට මෙය ගියාම එය නියමාකාරව පණගැන්වෙනව.
ඒ වගේම මෙම පැකැට් එක broadcast කරන්න ඔබට 0, 7 හෝ 9 යන පෝර්ට් එකක් භාවිතා කරන්න පුළුවන්.
මේ තියෙන්නෙ C# වලින් කරන විදිහ. මම UDP පෝට් එක ලෙස 7 භාවිතා කලා.
public static void WakeOnLan(byte[] macAddress)
{
if (macAddress == null)
throw new ArgumentNullException("macAddress", "MAC Address Cannot be Blank");
if (macAddress.Length != 6)
throw new ArgumentOutOfRangeException("Invalid MAC Address");
//Create/Initialize packet List
List< byte> packet = new List< byte>();
//add First 6 FF packets
for (int i = 0; i < 6; i++)
packet.Add(0xFF);
//Repeat 16 time with the MAC address (which is 6 bytes)
for (int i = 0; i < 16; i++)
packet.AddRange(macAddress);
//Send the packet to broadcast address
UdpClient client = new UdpClient();
client.Connect(IPAddress.Broadcast, 7);
client.Send(packet.ToArray(), packet.Count);
}







16 Comments on “Switch on PC in your Network”
මේක ගැන කලිං දැනං හිටියට පාවිච්චි කරන විදියක් දැනගෙන හිටියෙ නෑ. වෙලාවක කරල බලන්න ඕන.
What will Happen If use MAC address = FF:FF:FF:FF:FF:FF (a.k.a Broadcast MAC Address ) ?
Will all machine in LAN on ???
ම්… ට්රයි කරල බලන්න වටින දෙයක්.
මේ විදියටම පැකට් එකක් යවල වැඩ කරන මැෂිම off කරන්න බැරිවෙයිද?
එහෙමනම් මට ලැබ් එකේ යකා නටන්න පුලුවන්
මම C# නම් දන්නේ නෑ. හැබැයි මේ වැඩේ ප්රයෝජනවත් දෙයකට පාවිච්චි කරන්න පුලුවන් වෙයි. ..
උදා:- ඔෆිස් එකේ ප්රින්ටර් එක ඉන්ස්ටෝල් කරල තියෙන කම්පියුටර් ඔන් කරගන්න.
මට මේක කරන්න පුලුවන් සොෆ්ට්වෙයාස් දෙකක් හම්බ වුනා. හෙට ඔෆිස් එකට ගිහින් ටෙස්ට් කරලම බලන්න ඕන….
Wake On LAN
Advanced IP Scanner 1.5
මේ ගැන දැනුවත් කලාට බොහොම ස්තූතියි !
@ගයාන් තාරක භාවිතා කරල බලන්න කො, wireless නෙට්වර්ක් වල වුනත් පුළුවන් කියල Wikipedia වල තියෙනව.
@Chanaka FF:FF:FF:FF:FF:FF UDP packet (magic Packet) එකේ මුල් බයිට් 6 විය යුතුයි. මේක මම හිතන්නෙ සම්මතයක්. Broadcast IP එක භාවිතා කරල Broadcast කරනව.
@ඉන්දරේ දන්න විදිහට නම් off කරන්න බෑ. shutdown /s /m \\PCName වලින් පුළුවන්, හැබැයි යූසර් නේම් පාස් වර්ඩ්ස් ඕනි.
@කෝලමා – එක එක අය ලියපු වැඩසටහන් නම් ඇති ඕනි තරම් භාවිතයට. තියරිය දන්නව නම් ඕනි දෙයක් කරගත හැකියි නෙ.
මුල් බයිට් 6 න් පස්සෙ 16 පාරක් MAC Address එක දානවනෙ. එතන MAC Address එක හැටියට 16 පාරක් FF:FF:FF:FF:FF:FF දැම්මොත් වෙන දේ ගැන මම කිවුවෙ.
FF:FF:FF:FF:FF:FF == Broadcast MAC Address.
All the IP packts wil encapsulated in Ethernet frame.
There it will use source & destination MAC addresses.
If the IP packet is broadcast one then for destination address it will use FF:FF:FF:FF:FF:FF.
@Chanaka – ම්, FF:FF:FF:FF:FF:FF 17 පාරක් සහිතව UDP packet එකේ body එකට දැම්මට FF:FF:FF:FF:FF:FF කියල MAC address එකක් නෙට්වර්ක් එකේ නෙට්වර්ක් කාඩ් එකක නැති නිසා කිසි දෙයක් වෙන්නෙ නෑ. FF:FF:FF:FF:FF:FF කියල MAC address එකක් තිබුනොත් ඒ පරිගණකය on වේවි. ආයෙ FF:FF:FF:FF:FF:FF == Broadcast MAC Addres වන නිසා Broadcast MAC Address එක භාවිතා කරල Magic Packet එක මුළු නෙට්වර්ක් එක පුරාම Broadcast කිරීම අනිවාර්යයෙන්ම සිදු වුනාට වසා ඇති අනිතුක් පරිගණක on වෙන්නෙ නෑ.
IP Packets are encapsulated in Ethernet (Or any other link layer) Frame. MAC addresses are low level addressing than IP address.
See
# Packets sent to the broadcast address, all one bits, are received by all stations on a local area network. In hexadecimal the broadcast address would be “FF:FF:FF:FF:FF:FF”.
-Wikipedia-
http://en.wikipedia.org/wiki/MAC_address
කොහෙදෑ මෙච්චර කල් ගිහිං හිටියේ…? ලිපිය පළ කළාට ස්තුතියි. නොදත් දෙයක් දැනගත්තා. මම මේක C++/ gcc වලිනුත් ට්රයි කොරල බලන්නම්.
@ඉන්දරේ,
ඇඩ්මින් බලතල නැතුව 1024ට අඩු පෝට් වලින් වැඩ කරගන්න බෑ. ඒ නිසා මුලින්ම ඇඩ්මින් පාස්වර්ඩ් එක හොරකම් කරගන්න ක්රමයක් සම්පාදනය කරගන්න.
yeah..nice post harshana.
i have wrote about a program called Wake-On-LAN in my blog. if anyone wants, you can FREE download also from there.
Wake On LAN & FREE Download
@Chanaka – Sorry, Some mistake in my previous comment, I have corrected it.
@ශාකුන්තල – පහුගිය දවස්වල ටිකක් කාර්යබහුල තත්වයක හිටියෙ. අනික රටින් පිටත් මාසෙකට වඩා හිටිය නෙ. වෙලාවක් ආපු වෙලාවෙ තමා ලීවෙ. C++ වලිනුත් ලියල බලල අපිටත් කියන්න කො.
@kawshalya – there was some few Applications, but I couldn’t found good application which can I store MAC addresses in the application and need to control it from central location. for E.G. read MAC Address from Internet XML web service or shared folder in net work or from ftp Directory. Coz. if it is it can be add/ change easily and easy to use.
නියමයි
ඔන්න කරල බැලුව හැබයි වෙන විදියකට තමයි කරල බැලුවේ http://bit.ly/azvAGu
wol.exe එකෙන් මැක් එක විතරක් දීල පුලුවන්
wolcmd.exe එකෙන් MAC IP SUBNET Port දීල කරන්න පුලුවන්
>wol –help
Usage: wol [OPTION] … MAC-ADDRESS …
Wake On LAN client – wakes up magic packet compliant machines.
-h, –help display this help and exit
-V, –version output version information and exit
-v, –verbose verbose output
-w, –wait=NUM wait NUM millisecs after sending
-i, –ipaddr=IPADDR broadcast to this ip addr
-p, –port=NUM broadcast to this udp port
-f, –file=FILE read addresses from file
Each MAC-ADDRESS is written as x:x:x:x:x:x, where x is a hexadecimal number
between 0 and ff which represents one byte of the address, which is in
network byte order (big endian).
Report bugs to
>wolcmd
Wake On Lan Command Line…
Usage: wolcmd [mac address] [ipaddress] [subnet mask] [port number]
i.e. wolcmd 009027a322fc 195.188.159.20 255.255.255.0 7
මේ තියරිය භාවිතා කරල හදල තියෙන වැඩසටහන් ඔබට අනන්තවත් Google හී සෙවීමෙන් සොයාගත හැක.
wadagath deyak
kiyala dhunnata thankz