
Etherify - remettre l'éther dans Ethernet
Etherify - ramener l'éther dans l'ethernet
(c) 2020 Jacek Lipkowski SQ5BPF [email protected]
Conférence RC3 2020 : https://www.youtube.com/watch?v=7ek994-fwNE
Etherify 1 et 2 : https://lipkowski.com/etherify (avec RPI 4)
Etherify 3 : https://lipkowski.com/etherify3/ (sans câble ethernet)
Etherify 4 : https://lipkowski.com/etherify4/ (avec des ordinateurs portables Dell)
Etherify 5 : https://lipkowski.com/etherify5/ (avec des commutateurs ethernet)
Ce sont des tentatives de transmission par fuite depuis l'ethernet. Pour plus d'informations, veuillez lire tous les articles sur https://lipkowski.com/ ET voir la conférence RC3.
################################################################
etherify1.sh - envoie des données sans fil en modifiant la vitesse d'une interface ethernet.
Utilisation :
./etherify1.sh
Si est donné, son contenu est envoyé, sinon "etherify 1 demo" est envoyé.
Cela fonctionne en basculant entre 10 Mbps et 100 Mbps, ce qui entraîne un changement du rayonnement électromagnétique qui fuit des appareils. Le passage à 100 Mbps produit un signal à 125 MHz, utilisé pour transmettre le code morse.
Testé sur 2 Raspberry Pi 4 sous Raspbian 10 connectés entre eux par un câble ethernet de 2 m
Sur l'autre Raspberry Pi :
killall dhcpcd #désactiver tout autre logiciel interférant avec l'interface eth0, comme NetworkManager
ifconfig eth0 up
ethtool eth0 #vérifier que le lien est actif
./etherify1.sh /tmp/secret.txt #pour divulguer le contenu de /tmp/secret.txt ./etherify1.sh #ou simplement envoyer le texte standard
################################################################
etherify2.sh - bidouillage idiot pour envoyer des données sans fil en générant une charge sur l'interface ethernet.
Utilisation :
./etherify2.sh
Si est donné, son contenu est envoyé, sinon "etherify 2 demo" est envoyé.
Testé sur 2 Raspberry Pi 4 sous Raspbian 10 connectés entre eux par un câble ethernet de 2 m Cela fonctionne probablement en chargeant la tension d'alimentation lorsque les paquets sont générés. Un changement de tension modifie probablement légèrement la fréquence de certaines horloges, générant ainsi une FSK (F1A pour être exact).
Sur un Raspberry Pi :
killall dhcpcd #désactiver tout autre logiciel interférant avec l'interface eth0, comme NetworkManager
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 route add -net 192.168.1.0/24 dev eth0 #je ne sais pas pourquoi ifconfig ne définit pas la route
Sur l'autre Raspberry Pi :
killall dhcpcd #désactiver tout autre logiciel interférant avec l'interface eth0, comme NetworkManager
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 route add -net 192.168.1.0/24 dev eth0 #je ne sais pas pourquoi ifconfig ne définit pas la route
ping 192.168.1.1 #vérifier la connectivité
./etherify2.sh /tmp/secret.txt #pour divulguer le contenu de /tmp/secret.txt ./etherify2.sh #ou simplement envoyer le texte standard
################################################################
etherify3.sh - envoie des données sans fil en modifiant la vitesse d'une interface ethernet.
Pour plus d'informations, voir : https://lipkowski.com/etherify3
Utilisation :
./etherify3.sh
Si est donné, son contenu est envoyé, sinon "etherify 3 demo" est envoyé.
Cela fonctionne en basculant entre 10 Mbps et 100 Mbps, ce qui entraîne un changement du rayonnement électromagnétique qui fuit de l'interface ethernet. Le passage à 100 Mbps produit un signal à 125 MHz, utilisé pour transmettre le code morse.
Testé sur un Raspberry Pi 4 sous Raspbian 10 sans connexion ethernet, et alimenté par une batterie externe.
ethtool eth0 #vérifier que le lien est inactif
./etherify3.sh /tmp/secret.txt #pour divulguer le contenu de /tmp/secret.txt ./etherify3.sh #ou simplement envoyer le texte standard
Maintenant, je ne suis pas sûr que mon Raspberry Pi 4B particulier fuit autant de RF, ou si c'est un problème général.
################################################################
etherify4.sh - envoie des données sans fil en modifiant la vitesse d'une interface ethernet. Il s'agit d'une implémentation pour les appareils qui établissent le lien après plusieurs secondes après avoir changé la vitesse de l'interface.
Pour plus d'informations, voir : https://lipkowski.com/etherify4
Utilisation :
./etherify4.sh
Si est donné, son contenu est envoyé, sinon "etherify 4 demo" est envoyé.
Cela fonctionne en basculant entre 10 Mbps et 100 Mbps, ce qui entraîne un changement du rayonnement électromagnétique qui fuit de l'interface ethernet. Le passage à 100 Mbps produit un signal à 125 MHz, utilisé pour transmettre du code morse lent.
Testé sur deux ordinateurs portables Dell Latitude (E6220 et D610) connectés entre eux par un câble ethernet de 2 m.
./etherify4.sh /tmp/secret.txt #pour divulguer le contenu de /tmp/secret.txt ./etherify4.sh #ou simplement envoyer le texte standard
La durée du symbole (durée du point) est égale au délai entre le changement de vitesse de liaison et l'établissement du lien. Cela dure généralement plusieurs secondes. Pour recevoir, utilisez n'importe quel récepteur capable de s'accorder sur 125 MHz et ses harmoniques (multiples entiers), et acheminez-le vers un logiciel capable d'afficher un spectrogramme lent. Un tel logiciel est utilisé par exemple par les radioamateurs pour le QRSS CW (code morse lent décodé visuellement).
Le fichier sq5bpf_etherify4.usr contient un exemple de configuration pour DL4YHF Spectrum Lab. Sous linux/wine, l'audio du récepteur (comme gqrx) peut être acheminé vers Spectrum Lab via pulseaudio.
################################################################
etherify5.sh - identique à etherify4.sh, mais transmet en utilisant des périphériques réseau (tels que des commutateurs, routeurs) en modifiant la vitesse de l'interface via SNMP.
Pour plus d'informations, voir : https://lipkowski.com/etherify5
Utilisation :
./etherify5.sh
Si est donné, son contenu est envoyé, sinon "etherify 5 demo" est envoyé.
Cela fonctionne en basculant entre 10 Mbps et 100 Mbps, ce qui entraîne un changement du rayonnement électromagnétique qui fuit du périphérique réseau. Ceci est utilisé pour transmettre le code morse.
Ceci a été testé sur deux commutateurs Linksys LGS318. Veuillez modifier le script etherify5.sh pour implémenter le changement de vitesse sur votre commutateur. Veuillez également définir l'adresse IP du commutateur, le port et le type.
./etherify5.sh /tmp/secret.txt #pour divulguer le contenu de /tmp/secret.txt ./etherify5.sh #ou simplement envoyer le texte standard
La durée du symbole (durée du point) est égale au délai entre le changement de vitesse de liaison et l'établissement du lien. Cela dure généralement plusieurs secondes, et peut être défini dans le script (paramètre LINKDELAY). Le signal peut apparaître à différentes fréquences, selon le matériel du commutateur. Par exemple, un commutateur Linksys LGS318 émet un signal autour de 50 MHz.
Testez toujours en utilisant deux appareils du même type (car si deux appareils différents sont utilisés, on ne saurait pas lequel génère le signal radio).
Acheminez l'audio du récepteur vers un logiciel capable d'afficher un spectrogramme lent. Un tel logiciel est utilisé par exemple par les radioamateurs pour le QRSS CW (code morse lent décodé visuellement).
Le fichier sq5bpf_etherify4.usr contient un exemple de configuration pour DL4YHF Spectrum Lab. Sous linux/wine, l'audio du récepteur (comme gqrx) peut être acheminé vers Spectrum Lab via pulseaudio.
#######################################################
Les deux ont été testés sur 2 Raspberry Pi 4 connectés entre eux par un câble ethernet de 2 m inclus dans le kit de démarrage Raspberry Pi. Le choix du matériel a été fait pour qu'il soit simple à reproduire partout. Les tests ont également été effectués avec d'autres matériels : etherify1.sh fonctionne avec la plupart des matériels, etherify2.sh ne fonctionne qu'avec certains.
Veuillez régler le récepteur autour de 125 MHz en mode CW avec un filtre très étroit. Parfois, le mode AM peut également être utilisé. Les tests ont été effectués avec un récepteur Yaesu FT-817 avec un filtre CW de 500 Hz (cw décodé à l'oreille), et avec un récepteur SDR utilisant un dongle rtl-sdr dvb-t, avec gqrx comme récepteur et fldigi comme décodeur morse (ou décodé à l'oreille).
Lors des tests, etherify1.sh pouvait être reçu à une distance de 100 m, et etherify2.sh pouvait être reçu à une distance de 30 m.
Remarque :