View previous topic :: View next topic |
Author |
Message |
koma Advocate
Joined: 06 Jun 2003 Posts: 2702 Location: Italy
|
Posted: Mon Dec 06, 2004 6:50 pm Post subject: [HW] Poweron On Lan Demand |
|
|
Ciao a tutti. ho letto in vari bios che esiste questa opzione di poweron on lan. Qualcuno sa come si attiva? Che tipo di icmp bisogna inviare o cos'altro bisogna inventarsi? _________________ http://www.youtube.com/watch?v=_yoJI-Tl94g GLORY GLORY HYPNOTOAD |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Mon Dec 06, 2004 6:55 pm Post subject: Re: [HW] Poweron On Lan Demand |
|
|
koma wrote: | Ciao a tutti. ho letto in vari bios che esiste questa opzione di poweron on lan. Qualcuno sa come si attiva? Che tipo di icmp bisogna inviare o cos'altro bisogna inventarsi? |
E' una voce del Bios delle moderne mainboard. Non ti so dire altro dal momento che non l'ho mai usata. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
n3mo l33t
Joined: 28 Mar 2004 Posts: 657 Location: In a Cruel World
|
Posted: Mon Dec 06, 2004 6:56 pm Post subject: |
|
|
ping _________________ Google, really. |
|
Back to top |
|
|
koma Advocate
Joined: 06 Jun 2003 Posts: 2702 Location: Italy
|
|
Back to top |
|
|
Josuke Veteran
Joined: 07 May 2003 Posts: 1175 Location: Italy - Bolzano
|
Posted: Mon Dec 06, 2004 7:45 pm Post subject: |
|
|
mai usato..però mi sembrava di aver letto che il semplice ping non funzionava..bisognava spedirne uno particolare...ma potrei sbagliarmi _________________ fletto i muscoli...e sono nel vuoto |
|
Back to top |
|
|
koma Advocate
Joined: 06 Jun 2003 Posts: 2702 Location: Italy
|
Posted: Mon Dec 06, 2004 7:49 pm Post subject: |
|
|
è quello che ho letto anche io tipo che dovevo pingare sì ma il mac address se nn sbaglio ma potrei star dicendo un'emerita cagata _________________ http://www.youtube.com/watch?v=_yoJI-Tl94g GLORY GLORY HYPNOTOAD |
|
Back to top |
|
|
tocas Apprentice
Joined: 01 Jan 2004 Posts: 280 Location: 43°50'-10°27'
|
Posted: Mon Dec 06, 2004 8:28 pm Post subject: Re: [HW] Poweron On Lan Demand |
|
|
koma wrote: | Ciao a tutti. ho letto in vari bios che esiste questa opzione di poweron on lan. Qualcuno sa come si attiva? Che tipo di icmp bisogna inviare o cos'altro bisogna inventarsi? |
Questo è il "pacchetto magico" .
--- |
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Mon Dec 06, 2004 8:36 pm Post subject: |
|
|
ti dico solo che il mio pc si accendeva solo perchè era attaccato allo switch... |
|
Back to top |
|
|
koma Advocate
Joined: 06 Jun 2003 Posts: 2702 Location: Italy
|
Posted: Mon Dec 06, 2004 9:05 pm Post subject: |
|
|
il mio pc però è un pentium (4) tra parentesi.. come posso generare un pacchetto di quel tipo? _________________ http://www.youtube.com/watch?v=_yoJI-Tl94g GLORY GLORY HYPNOTOAD |
|
Back to top |
|
|
Delta9 n00b
Joined: 07 Mar 2004 Posts: 35
|
Posted: Mon Dec 06, 2004 9:10 pm Post subject: |
|
|
prova net-misc/wakeonan. A me va |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Tue Dec 07, 2004 11:19 am Post subject: |
|
|
non e' un ping normale. si tratta di un pacchetto particolare, chiamato magick packet forgiato in parte con il mac address della scheda di rete destinazione, e i campi restanti riempiti in FF.
qui sotto allego semplicissimo programmillo in c per svegliare un determinato mac address.
Code: | /* ether-wake.c: Send a magic packet to wake up sleeping machines. */
static char version_msg[] =
"ether-wake.c: v1.09 11/12/2003 Donald Becker, http://www.scyld.com/";
static char brief_usage_msg[] =
"usage: ether-wake [-i <ifname>] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55\n"
" Use '-u' to see the complete set of options.\n";
static char usage_msg[] =
"usage: ether-wake [-i <ifname>] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55\n"
"\n"
" This program generates and transmits a Wake-On-LAN (WOL)\n"
" \"Magic Packet\", used for restarting machines that have been\n"
" soft-powered-down (ACPI D3-warm state).\n"
" It currently generates the standard AMD Magic Packet format, with\n"
" an optional password appended.\n"
"\n"
" The single required parameter is the Ethernet MAC (station) address\n"
" of the machine to wake or a host ID with known NSS 'ethers' entry.\n"
" The MAC address may be found with the 'arp' program while the target\n"
" machine is awake.\n"
"\n"
" Options:\n"
" -b Send wake-up packet to the broadcast address.\n"
" -D Increase the debug level.\n"
" -i ifname Use interface IFNAME instead of the default 'eth0'.\n"
" -p <pw> Append the four or six byte password PW to the packet.\n"
" A password is only required for a few adapter types.\n"
" The password may be specified in ethernet hex format\n"
" or dotted decimal (Internet address)\n"
" -p 00:22:44:66:88:aa\n"
" -p 192.168.1.1\n";
/*
This program generates and transmits a Wake-On-LAN (WOL) "Magic Packet",
used for restarting machines that have been soft-powered-down
(ACPI D3-warm state). It currently generates the standard AMD Magic Packet
format, with an optional password appended.
This software may be used and distributed according to the terms
of the GNU Public License, incorporated herein by reference.
Contact the author for use under other terms.
This source file was originally part of the network tricks package, and
is now distributed to support the Scyld Beowulf system.
Copyright 1999-2003 Donald Becker and Scyld Computing Corporation.
The author may be reached as becker@scyld, or C/O
Scyld Computing Corporation
914 Bay Ridge Road, Suite 220
Annapolis MD 21403
Notes:
On some systems dropping root capability allows the process to be
dumped, traced or debugged.
If someone traces this program, they get control of a raw socket.
Linux handles this safely, but beware when porting this program.
An alternative to needing 'root' is using a UDP broadcast socket, however
doing so only works with adapters configured for unicast+broadcast Rx
filter. That configuration consumes more power.
*/
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <ctype.h>
#include <string.h>
#if 0 /* Only exists on some versions. */
#include <ioctls.h>
#endif
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <linux/if.h>
#include <features.h>
#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1
#include <netpacket/packet.h>
#include <net/ethernet.h>
#else
#include <asm/types.h>
#include <linux/if_packet.h>
#include <linux/if_ether.h>
#endif
#include <netdb.h>
#include <netinet/ether.h>
/* Grrr, no consistency between include versions.
Enable this if setsockopt() isn't declared with your library. */
#if 0
extern int setsockopt __P ((int __fd, int __level, int __optname,
__ptr_t __optval, int __optlen));
#else /* New, correct head files. */
#include <sys/socket.h>
#endif
u_char outpack[1000];
int outpack_sz = 0;
int debug = 0;
u_char wol_passwd[6];
int wol_passwd_sz = 0;
static int opt_no_src_addr = 0, opt_broadcast = 0;
static int get_dest_addr(const char *arg, struct ether_addr *eaddr);
static int get_fill(unsigned char *pkt, struct ether_addr *eaddr);
static int get_wol_pw(const char *optarg);
int main(int argc, char *argv[])
{
char *ifname = "eth0";
int one = 1; /* True, for socket options. */
int s; /* Raw socket */
int errflag = 0, verbose = 0, do_version = 0;
int perm_failure = 0;
int i, c, pktsize;
#if defined(PF_PACKET)
struct sockaddr_ll whereto;
#else
struct sockaddr whereto; /* who to wake up */
#endif
struct ether_addr eaddr;
while ((c = getopt(argc, argv, "bDi:p:uvV")) != -1)
switch (c) {
case 'b': opt_broadcast++; break;
case 'D': debug++; break;
case 'i': ifname = optarg; break;
case 'p': get_wol_pw(optarg); break;
case 'u': printf(usage_msg); return 0;
case 'v': verbose++; break;
case 'V': do_version++; break;
case '?':
errflag++;
}
if (verbose || do_version)
printf("%s\n", version_msg);
if (errflag) {
fprintf(stderr, brief_usage_msg);
return 3;
}
if (optind == argc) {
fprintf(stderr, "Specify the Ethernet address as 00:11:22:33:44:55.\n");
return 3;
}
/* Note: PF_INET, SOCK_DGRAM, IPPROTO_UDP would allow SIOCGIFHWADDR to
work as non-root, but we need SOCK_PACKET to specify the Ethernet
destination address. */
#if defined(PF_PACKET)
s = socket(PF_PACKET, SOCK_RAW, 0);
#else
s = socket(AF_INET, SOCK_PACKET, SOCK_PACKET);
#endif
if (s < 0) {
if (errno == EPERM)
fprintf(stderr, "ether-wake: This program must be run as root.\n");
else
perror("ether-wake: socket");
perm_failure++;
}
/* Don't revert if debugging allows a normal user to get the raw socket. */
setuid(getuid());
/* We look up the station address before reporting failure so that
errors may be reported even when run as a normal user.
*/
if (get_dest_addr(argv[optind], &eaddr) != 0)
return 3;
if (perm_failure && ! debug)
return 2;
pktsize = get_fill(outpack, &eaddr);
/* Fill in the source address, if possible.
The code to retrieve the local station address is Linux specific. */
if (! opt_no_src_addr) {
struct ifreq if_hwaddr;
unsigned char *hwaddr = if_hwaddr.ifr_hwaddr.sa_data;
strcpy(if_hwaddr.ifr_name, ifname);
if (ioctl(s, SIOCGIFHWADDR, &if_hwaddr) < 0) {
fprintf(stderr, "SIOCGIFHWADDR on %s failed: %s\n", ifname,
strerror(errno));
/* Magic packets still work if our source address is bogus, but
we fail just to be anal. */
return 1;
}
memcpy(outpack+6, if_hwaddr.ifr_hwaddr.sa_data, 6);
if (verbose) {
printf("The hardware address (SIOCGIFHWADDR) of %s is type %d "
"%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x.\n", ifname,
if_hwaddr.ifr_hwaddr.sa_family, hwaddr[0], hwaddr[1],
hwaddr[2], hwaddr[3], hwaddr[4], hwaddr[5]);
}
}
if (wol_passwd_sz > 0) {
memcpy(outpack+pktsize, wol_passwd, wol_passwd_sz);
pktsize += wol_passwd_sz;
}
if (verbose > 1) {
printf("The final packet is: ");
for (i = 0; i < pktsize; i++)
printf(" %2.2x", outpack[i]);
printf(".\n");
}
/* This is necessary for broadcasts to work */
if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, (char *)&one, sizeof(one)) < 0)
perror("setsockopt: SO_BROADCAST");
#if defined(PF_PACKET)
{
struct ifreq ifr;
strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
if (ioctl(s, SIOCGIFINDEX, &ifr) == -1) {
fprintf(stderr, "SIOCGIFINDEX on %s failed: %s\n", ifname,
strerror(errno));
return 1;
}
memset(&whereto, 0, sizeof(whereto));
whereto.sll_family = AF_PACKET;
whereto.sll_ifindex = ifr.ifr_ifindex;
/* The manual page incorrectly claims the address must be filled.
We do so because the code may change to match the docs. */
whereto.sll_halen = ETH_ALEN;
memcpy(whereto.sll_addr, outpack, ETH_ALEN);
}
#else
whereto.sa_family = 0;
strcpy(whereto.sa_data, ifname);
#endif
if ((i = sendto(s, outpack, pktsize, 0, (struct sockaddr *)&whereto,
sizeof(whereto))) < 0)
perror("sendto");
else if (debug)
printf("Sendto worked ! %d.\n", i);
#ifdef USE_SEND
if (bind(s, (struct sockaddr *)&whereto, sizeof(whereto)) < 0)
perror("bind");
else if (send(s, outpack, 100, 0) < 0)
perror("send");
#endif
#ifdef USE_SENDMSG
{
struct msghdr msghdr = { 0,};
struct iovec iovector[1];
msghdr.msg_name = &whereto;
msghdr.msg_namelen = sizeof(whereto);
msghdr.msg_iov = iovector;
msghdr.msg_iovlen = 1;
iovector[0].iov_base = outpack;
iovector[0].iov_len = pktsize;
if ((i = sendmsg(s, &msghdr, 0)) < 0)
perror("sendmsg");
else if (debug)
printf("sendmsg worked, %d (%d).\n", i, errno);
}
#endif
return 0;
}
/* Convert the host ID string to a MAC address.
The string may be a
Host name
IP address string
MAC address string
*/
static int get_dest_addr(const char *hostid, struct ether_addr *eaddr)
{
struct ether_addr *eap;
eap = ether_aton(hostid);
if (eap) {
*eaddr = *eap;
if (debug)
fprintf(stderr, "The target station address is %s.\n",
ether_ntoa(eaddr));
} else if (ether_hostton(hostid, eaddr) == 0) {
if (debug)
fprintf(stderr, "Station address for hostname %s is %s.\n",
hostid, ether_ntoa(eaddr));
} else {
(void)fprintf(stderr,
"ether-wake: The Magic Packet host address must be "
"specified as\n"
" - a station address, 00:11:22:33:44:55, or\n"
" - a hostname with a known 'ethers' entry.\n");
return -1;
}
return 0;
}
static int get_fill(unsigned char *pkt, struct ether_addr *eaddr)
{
int offset, i;
unsigned char *station_addr = eaddr->ether_addr_octet;
if (opt_broadcast)
memset(pkt+0, 0xff, 6);
else
memcpy(pkt, station_addr, 6);
memcpy(pkt+6, station_addr, 6);
pkt[12] = 0x08; /* Or 0x0806 for ARP, 0x8035 for RARP */
pkt[13] = 0x42;
offset = 14;
memset(pkt+offset, 0xff, 6);
offset += 6;
for (i = 0; i < 16; i++) {
memcpy(pkt+offset, station_addr, 6);
offset += 6;
}
if (debug) {
fprintf(stderr, "Packet is ");
for (i = 0; i < offset; i++)
fprintf(stderr, " %2.2x", pkt[i]);
fprintf(stderr, ".\n");
}
return offset;
}
static int get_wol_pw(const char *optarg)
{
int passwd[6];
int byte_cnt;
int i;
byte_cnt = sscanf(optarg, "%2x:%2x:%2x:%2x:%2x:%2x",
&passwd[0], &passwd[1], &passwd[2],
&passwd[3], &passwd[4], &passwd[5]);
if (byte_cnt < 4)
byte_cnt = sscanf(optarg, "%d.%d.%d.%d",
&passwd[0], &passwd[1], &passwd[2], &passwd[3]);
if (byte_cnt < 4) {
fprintf(stderr, "Unable to read the Wake-On-LAN password.\n");
return 0;
}
printf(" The Magic packet password is %2.2x %2.2x %2.2x %2.2x (%d).\n",
passwd[0], passwd[1], passwd[2], passwd[3], byte_cnt);
for (i = 0; i < byte_cnt; i++)
wol_passwd[i] = passwd[i];
return wol_passwd_sz = byte_cnt;
}
#if 0
{
to = (struct sockaddr_in *)&whereto;
to->sin_family = AF_INET;
if (inet_aton(target, &to->sin_addr)) {
hostname = target;
}
memset (&sa, 0, sizeof sa);
sa.sa_family = AF_INET;
strncpy (sa.sa_data, interface, sizeof sa.sa_data);
sendto (sock, buf, bufix + len, 0, &sa, sizeof sa);
strncpy (sa.sa_data, interface, sizeof sa.sa_data);
#if 1
sendto (sock, buf, bufix + len, 0, &sa, sizeof sa);
#else
bind (sock, &sa, sizeof sa);
connect();
send (sock, buf, bufix + len, 0);
#endif
}
#endif
/*
* Local variables:
* compile-command: "gcc -O -Wall -o ether-wake ether-wake.c"
* c-indent-level: 4
* c-basic-offset: 4
* c-indent-level: 4
* tab-width: 4
* End:
*/ |
_________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
koma Advocate
Joined: 06 Jun 2003 Posts: 2702 Location: Italy
|
Posted: Tue Dec 07, 2004 5:34 pm Post subject: |
|
|
li ho provati entrambi ma ha funzionato solo 2 volte poi ha smesso il mac address nn + cambiato sono sicuro e nel bios la voce nn è cambiata.
(oltretutto non sono sicuro che le due volte che ha funzionato abbia funzionato a macchinatotalmente spenta ma in fase di spegnimento)
Tra parentesi ora sono a casa di un amico e nn posso accendere il pc ho provato sia lo script che il programma suggeritomi.
A questo punto mi viene un dubbio non è che si accende in lan solo se è in standby o cmq se nn è totalmente spento? _________________ http://www.youtube.com/watch?v=_yoJI-Tl94g GLORY GLORY HYPNOTOAD |
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Tue Dec 07, 2004 5:39 pm Post subject: |
|
|
a me funziona a pc spento...ma sei sicuro che sia attivo il wake on lan nel bios??
Cmq il MAC address non cambia mai! |
|
Back to top |
|
|
koma Advocate
Joined: 06 Jun 2003 Posts: 2702 Location: Italy
|
Posted: Tue Dec 07, 2004 11:47 pm Post subject: |
|
|
ne sono certo ho ricontrollato ora per scrupolo
cmq io spengo con halt forse devo spegnere con qlc altro parametro?
eppure il leddino sul frontale rimane acceso a bassissima luminosità segno che cmq la MB è accesa. Forse la scheda di rete va cablata con qualche roba strana? _________________ http://www.youtube.com/watch?v=_yoJI-Tl94g GLORY GLORY HYPNOTOAD |
|
Back to top |
|
|
koma Advocate
Joined: 06 Jun 2003 Posts: 2702 Location: Italy
|
Posted: Wed Dec 08, 2004 12:00 am Post subject: |
|
|
Code: | 01:00:15.703675 00:05:5d:2c:90:35 > 00:00:e8:4e:35:f5, ethertype Unknown (0x0842), length 116:
0x0000: ffff ffff ffff 0000 e84e 35f5 0000 e84e .........N5....N
0x0010: 35f5 0000 e84e 35f5 0000 e84e 35f5 0000 5....N5....N5...
0x0020: e84e 35f5 0000 e84e 35f5 0000 e84e 35f5 .N5....N5....N5.
0x0030: 0000 e84e 35f5 0000 e84e 35f5 0000 e84e ...N5....N5....N
0x0040: 35f5 0000 e84e 35f5 0000 e84e 35f5 0000 5....N5....N5...
0x0050: e84e .N
| Oltretutto il ping con lo script passatmi funziona quello col programma no _________________ http://www.youtube.com/watch?v=_yoJI-Tl94g GLORY GLORY HYPNOTOAD |
|
Back to top |
|
|
mambro l33t
Joined: 22 Mar 2004 Posts: 752 Location: Mira (VE) - Italy
|
Posted: Wed Dec 08, 2004 9:07 am Post subject: |
|
|
Cmq mi pare si debba collegare la scheda di rete in qualche modo alla scheda madre, solo che nn ho idea di come si faccia _________________ "The design of a worldwide, fully transparent distributed file system for simultaneous use by millions of mobile and frequently disconnected users is left as an excercise for the reader".
Andrew S. Tanenbaum, Distributed Operating Systems. |
|
Back to top |
|
|
jklmnop n00b
Joined: 18 Jun 2003 Posts: 42
|
Posted: Wed Dec 08, 2004 9:15 am Post subject: |
|
|
maybe this will help some.
Code: |
#!/usr/bin/perl -w
#
# $Id: wakeonlan,v 1.4 2000/08/01 03:38:59 jpo Exp $
#
#########################################################################
use strict;
use Socket;
use Getopt::Std;
use vars qw($VERSION $opt_v $opt_h $opt_i $opt_p $opt_f);
$VERSION = '0.40';
my $DEFAULT_IP = '255.255.255.255';
my $DEFAULT_PORT = getservbyname('discard', 'udp');
#
# Process the command line
#
getopts("hvp:i:f:");
if ($opt_h) { usage(); exit(0); }
if ($opt_v) { print "wakeonlan version $VERSION\n"; exit(0); }
if (!$opt_f and !@ARGV) { usage(); exit(0); }
if ($opt_i) { $DEFAULT_IP = $opt_i; } # override default
if ($opt_p) { $DEFAULT_PORT = $opt_p; } # override default
if ($opt_f) { process_file($opt_f); }
# The rest of the command line are a list of hardware addresses
foreach (@ARGV) {
wake($_, $opt_i, $opt_p);
}
#
# wake
#
# The 'magic packet' consists of 6 times 0xFF followed by 16 times
# the hardware address of the NIC. This sequence can be encapsulated
# in any kind of packet, in this case UDP to the discard port (9).
#
sub wake
{
my $hwaddr = shift;
my $ipaddr = shift || $DEFAULT_IP;
my $port = shift || $DEFAULT_PORT;
my ($raddr, $them, $proto);
my ($hwaddr_re, $pkt);
# Validate hardware address (ethernet address)
$hwaddr_re = join(':', ('[0-9A-Fa-f]{1,2}') x 6);
if ($hwaddr !~ m/^$hwaddr_re$/) {
warn "Invalid hardware address: $hwaddr\n";
return undef;
}
# Generate magic sequence
foreach (split /:/, $hwaddr) {
$pkt .= chr(hex($_));
}
$pkt = chr(0xFF) x 6 . $pkt x 16;
# Alocate socket and send packet
$raddr = gethostbyname($ipaddr);
$them = pack_sockaddr_in($port, $raddr);
$proto = getprotobyname('udp');
socket(S, AF_INET, SOCK_DGRAM, $proto) or die "socket : $!";
setsockopt(S, SOL_SOCKET, SO_BROADCAST, 1) or die "setsockopt : $!";
print "Sending magic packet to $ipaddr:$port with $hwaddr\n";
send(S, $pkt, 0, $them) or die "send : $!";
close S;
}
#
# process_file
#
sub process_file {
my $filename = shift;
my ($hwaddr, $ipaddr, $port);
open (F, "<$filename") or die "open : $!";
while(<F>) {
next if /^\s*#/; # ignore comments
next if /^\s*$/; # ignore empty lines
chomp;
($hwaddr, $ipaddr, $port) = split;
wake($hwaddr, $ipaddr, $port);
}
close F;
}
#
# Usage
#
sub usage {
print <<__USAGE__;
Usage
wakeonlan [-h] [-v] [-i IP_address] [-p port] [-f file] [[hardware_address] ...]
Options
-h
this information
-v
dislpays the script version
-i ip_address
set the destination IP address
default: 255.255.255.255 (the limited broadcast address)
-p port
set the destination port
default: 9 (discard port)
-f file
uses file as a source of hardware addresses
See also
wakelan(1)
__USAGE__
}
__END__
# Script documentation
=head1 NAME
wakeonlan - Perl script to wake up computers
=head1 SYNOPSIS
wakeonlan [-h] [-v] [-i IP_address] [-p port] [-f file] [[hardware_address] ...]
=head1 DESCRIPTION
This script sends 'magic packets' to wake-on-lan enabled ethernet adapters and motherboards, in order to switch on the called PC. Be sure to connect the NIC with the motherboard if neccesary, and enable the WOL function in the BIOS.
The 'magic packet' consists of 6 times 0xFF followed by 16 times the hardware address of the NIC. This sequence can be encapsulated in any kind of packet. This script uses UDP packets.
=head1 OPTIONS
=over
=item -h
Displays the help information.
=item -v
Dislpays the script version.
=item -i ip_address
Destination IP address. Unless you have static ARP tables you should
use some kind of broadcast address (the broadcast address of the network where the computer resides or the limited broadcast address). Default: 255.255.255.255 (the limited broadcast address).
=item -p port
Destination port. Default: 9 (discard port).
=item -f file
File with hardware addresses of wakeable computers. For an example check
the file lab001.wol in the examples subdirectory.
=back
=head1 EXAMPLES
Using the limited broadcast address (255.255.255.255):
$ wakeonlan 01:02:03:04:05:06
$ wakeonlan 01:02:03:04:05:06 01:02:03:04:05:07
Using a subnet broadcast address:
$ wakeonlan -i 192.168.1.255 01:02:03:04:05:06
Using another destination port:
$ wakeonlan -i 192.168.1.255 -p 1234 01:02:03:04:05:06
Using a file as a source of hardware addresses and IP addresses:
$ wakeonlan -f examples/lab001.wol
$ wakeonlan -f examples/lab001.wol 01:02:03:04:05:06
=head1 AUTHOR
José Pedro Oliveira <jpo@di.uminho.pt> maintaining and expanding original work done by Ico Doornekamp <ico@edd.dhs.org>.
=head1 COPYRIGHT
Copyright (c) 2000 José Pedro Oliveira.
This is free software. You may modify it and distribute it under Perl's Artistic Licence. Modified versions must be clearly indicated.
=head1 SEE ALSO
For more information regarding this script and Wakeonlan technology just check the following address http://gsd.di.uminho.pt/jpo/software/wakeonlan/.
=cut
|
|
|
Back to top |
|
|
koma Advocate
Joined: 06 Jun 2003 Posts: 2702 Location: Italy
|
Posted: Wed Dec 08, 2004 12:36 pm Post subject: |
|
|
jklmnop wrote: | maybe this will help some.
Code: |
#!/usr/bin/perl -w
#
# $Id: wakeonlan,v 1.4 2000/08/01 03:38:59 jpo Exp $
#
#########################################################################
-CUT-
|
| Thz but i've already used this script (net-misc/wakeonlan)
mambro wrote: | Cmq mi pare si debba collegare la scheda di rete in qualche modo alla scheda madre, solo che nn ho idea di come si faccia Confused |
E' quello che penso anche io... per caso a quelli a cui funziona il wakeonlan hanno la scheda di rete integrata nella mainboard? _________________ http://www.youtube.com/watch?v=_yoJI-Tl94g GLORY GLORY HYPNOTOAD |
|
Back to top |
|
|
=DvD= Veteran
Joined: 25 Mar 2004 Posts: 1353
|
Posted: Wed Dec 08, 2004 1:07 pm Post subject: |
|
|
Quote: | When a PC capable of receiving the specific frame goes to sleep, it will enable the Magic Packet mode in the LAN controller, and when the LAN controller receives a Magic Packet frame, it will alert the system to wake up. |
Se il pc è spento e la scheda di rete pure come fa a leggere il ping e giudicare se è un pacchetto magico (nome orrendo) o no?
Deve essere in sleep!
(ora cosa si intenda con sleep non lo so! |
|
Back to top |
|
|
mambro l33t
Joined: 22 Mar 2004 Posts: 752 Location: Mira (VE) - Italy
|
Posted: Wed Dec 08, 2004 1:24 pm Post subject: |
|
|
=DvD= wrote: | Quote: | When a PC capable of receiving the specific frame goes to sleep, it will enable the Magic Packet mode in the LAN controller, and when the LAN controller receives a Magic Packet frame, it will alert the system to wake up. |
Se il pc è spento e la scheda di rete pure come fa a leggere il ping e giudicare se è un pacchetto magico (nome orrendo) o no?
Deve essere in sleep!
(ora cosa si intenda con sleep non lo so! |
Bè alcune schede madri permettono al pc di autoaccendersi a una determinata ora.. anceh li devono essere in stadby?
Non ho mai provato ma credo che la batteria interna della scheda madre in qualche modo dia un minimo di elettricità per far eseguire al bios comandi come appunto quello dell'autoaccensione.. penso (e spero ) che si possa fare la stessa cosa cn la scheda di rete _________________ "The design of a worldwide, fully transparent distributed file system for simultaneous use by millions of mobile and frequently disconnected users is left as an excercise for the reader".
Andrew S. Tanenbaum, Distributed Operating Systems. |
|
Back to top |
|
|
Scipiux n00b
Joined: 15 Oct 2004 Posts: 9
|
Posted: Wed Dec 08, 2004 1:39 pm Post subject: |
|
|
mambro wrote: | Non ho mai provato ma credo che la batteria interna della scheda madre in qualche modo dia un minimo di elettricità per far eseguire al bios comandi come appunto quello dell'autoaccensione.. penso (e spero ) che si possa fare la stessa cosa cn la scheda di rete |
Non è la batteria, ma l'alimentatore stesso.
Le schede madri ATX in realta sono sempre alimentate, altrimenti come pensi possano accendersi con un semplice pulsante (e non un interruttore), o tramite tastiera.
Per le schede di rete integrate c'è una voce nel bios (o un jumper sulla cheda) che permette di attivare il wake on lan (mantenendo alimentata la scheda di rete anche a PC spento).
Per le schede di rete PCI, solitamente è presente un cavetto che va collegato su un connettore apposito sulla scheda madre, oltre alla solita voce nel bios (o jumper). |
|
Back to top |
|
|
=DvD= Veteran
Joined: 25 Mar 2004 Posts: 1353
|
Posted: Wed Dec 08, 2004 1:53 pm Post subject: |
|
|
Scipiux wrote: | Per le schede di rete PCI, solitamente è presente un cavetto che va collegato su un connettore apposito sulla scheda madre, oltre alla solita voce nel bios (o jumper). |
Questo mi convince già di più =D |
|
Back to top |
|
|
koma Advocate
Joined: 06 Jun 2003 Posts: 2702 Location: Italy
|
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Wed Dec 08, 2004 4:33 pm Post subject: |
|
|
sai che io non ricordo se c'era il cavetto.....che funziona è sicuro però.. |
|
Back to top |
|
|
ProT-0-TypE Veteran
Joined: 20 Dec 2003 Posts: 1624 Location: Cagliari
|
Posted: Wed Dec 08, 2004 4:53 pm Post subject: |
|
|
confermo che ci vuole il cavetto. (che danno sempre incluso nella confezione della scheda di rete) |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|