J'ai accès à un réseau distant via une machine sur laquelle je ne peux rien installer. C'est un boîtier avec un SSD et peu de mémoire. Il n'est pas possible d'exécuter un programme sur /home ni sur /tmp
Et puis je n'ai pas envie de demander à son admin de modifier les choses. Il acceptera sans problème mais je préfère trouver une solution de contournement qui me servira peut-être une autre fois.
Alors avec les moyens du bord, sans etherwake ou wakeonlan ou etc :
MAC='5B:F1:49-10-ED:D5'
CLEANMAC=$(echo "$MAC" | tr --delete ':-' | sed -n 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\\x\1\\x\2\\x\3\\x\4\\x\5\\x\6/p')
MSG='\xFF\xFF\xFF\xFF\xFF\xFF'${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}${CLEANMAC}
printf "$MSG" | nc -p 1234 -b -u -q 0 255.255.255.255 1234
La seule ligne intéressante est la dernière. Et elle est triviale :-)Certaines versions de ping permettent de définir le contenu du paquet comme on le souhaite. Mais généralement c'est limité à un nombre d'octets insuffisant pour le WOL.
Je peux lancer cela depuis une machine à moi via un script SSH. J'ai une icône par machine à démarrer et le tour est joué.
Plus difficile : si le routeur est une machine qui n'a pas netcat ni sed. Par exemple un modem/routeur du commerce. Il n'y a qu'un sh et quelques commandes de base. En général on accède à ces routeurs en tant que root.
--> je cherche une idée pour envoyer un paquet UDP via sh.
Pas de bash, donc pas possible d'utiliser le bashisme /dev/udp/example.com/1234
# netcat : udp
Posté par castorpilot . Évalué à -2.
# ...
Posté par M . Évalué à 1.
La protection se fait avec quoi ?
Option de montage ?
Dans ce cas "/lib/ld-linux.so.2 /home/program" de permettra de l'executer.
Sinon ils existent d'autres endroits que /home et /tmp ou tu pourrais tenter d'installer ton programme :
/dev/shm, /var/tmp/, /var/mail/user, ...
En général on accède à ces routeurs en tant que root.
ben dans ce cas tu peux faire ce que tu veux...
[^] # Re: ...
Posté par Sufflope (site web personnel) . Évalué à 4.
Option de montage ?
Dans ce cas "/lib/ld-linux.so.2 /home/program" de permettra de l'executer.
Euh ouais, plus depuis quoi ? 10 ans ?
# Options de netcat
Posté par Frédéric Perrin (site web personnel) . Évalué à 1.
Aussi, pourquoi as-tu besoin de préciser le port local à utiliser avec -p ? (du moins, aussi bien GNU nc qu'OpenBSD nc utilisent cette option comme définissant le port local ; comme tu ne sembles pas utiliser ces versions, cette option a peut-être une autre signification chez toi.)
[^] # Re: Options de netcat
Posté par Kerro . Évalué à 2.
Alors effectivement, sur une Debian plus récent c'est plus... sensé.
L'option "-q 0" sert à terminer le processus zéro seconde après la fin de stdin. Sinon netcat reste en attente.
L'option "-b" est pour autoriser les diffusions UDP. Sans ça, impossible d'utiliser x.y.z.255 sans être root.
Et pour -p ben ça ne fonctionnait pas sans.
Cette version de netcat a seulement 4 ans. Ca a bien évolué depuis :-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.