#1 Le 28/12/2017, à 16:58
- Gaara
Connection SSH via adresse MAC distante
Salut à tous,
Je poste ici un bout de mon code qui cherche l'adresse IP d'un client local et trouve son IP, si elle n'est pas fixe. On a simplement besoin de l'adresse MAC du périphérique distant, qui elle est fixe.
J'ai cherché pas mal de temps alors ça peut peut-être aider quelqu'un.
Le code:
ip_dist=$(/usr/sbin/arp -a | grep xx:xx:xx:xx:xx:xx | cut -d "(" -f2 | cut -d ")" -f1)
echo $ip_dist
Avec xx:xx:xx:xx:xx:xx l'adresse MAC du périphérique distant
On peut ensuite se connecter en SSH avec:
ssh host@$ip_dist
Voilà, c'est tout!
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#2 Le 28/12/2017, à 17:27
- michel_04
Re : Connection SSH via adresse MAC distante
Bonjour,
Merci Gaara.
Ça fonctionne nickel.
Rangé bien au chaud.
A+
:D
De la bonne manière de poser les questions - Trouver de l'aide grâce au Groupe des Parrains Linux - Le Pacte des Gnous
PCs sous Debian Stable & Debian Sid.
Hors ligne
#3 Le 28/12/2017, à 17:47
- Gaara
Re : Connection SSH via adresse MAC distante
De rien
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#4 Le 28/12/2017, à 18:15
- Watael
Re : Connection SSH via adresse MAC distante
salut,
arp -a | awk -vmac="$mac" '$4 == mac{gsub("[)(]","",$2);print $2}'
ou
arp -n | awk -v mac="$mac" '$3==mac{print $1}'
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 28/12/2017, à 18:31
- maxire
Re : Connection SSH via adresse MAC distante
Salut,
J'aurais plutôt tendance à utiliser ip neigh qui donne toutes les adresses IPV4 et IPV6 exemple:
$ ip neigh | grep 50:e5:49:56:72:47 | cut -d " " -f 1
192.168.0.9
fe80::52e5:49ff:fe56:7247
fec1:db8:1::1
Pour ne lister que les adresses IPV4;
$ ip -4 neigh | grep 50:e5:49:56:72:47 | cut -d " " -f 1
192.168.0.9
Uniquement les adresses IPV6:
$ ip -6 neigh | grep 50:e5:49:56:72:47 | cut -d " " -f 1
fe80::52e5:49ff:fe56:7247
fec1:db8:1::1
Normalement la recherche de l'adresse IP est inutile si l'ordinateur est enregistré correctement dans ta base DNS locale, il est quand même plus simple de n'utiliser que le nom d'hôte, c'est d'ailleurs ce que je fais, je ne me réfère jamais à une adresse IP.
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#6 Le 28/12/2017, à 18:39
- Gaara
Re : Connection SSH via adresse MAC distante
Le débat est ouvert ! ^^
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#7 Le 28/12/2017, à 19:06
- lynn
Re : Connection SSH via adresse MAC distante
Je m'étais essayé également avec awk
awk -F'[!()]' '/$mac/{ print $2 }' <<< $(arp -a)
«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»
Coluche
En ligne
#8 Le 28/12/2017, à 19:12
- Watael
Re : Connection SSH via adresse MAC distante
cmd < <(cmd)
!!!
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 28/12/2017, à 19:13
- piolet
Re : Connection SSH via adresse MAC distante
bonsoir
arp -a ne donne pas tous les éléments du réseau. Chez moi uniquement la livebox
arp -a
livebox.home (192.168.1.1) à xx:xx:xx:xx:xx:xx
il faut au préalable faire un scan du réseau
nmap -sP 192.168.1.0/24
ensuite après que toutes les réponses arp soient arrivées
arp -a
lenovo T430 RAM 8Go Xubuntu 22.04 LTS
Hors ligne
#10 Le 28/12/2017, à 19:15
- lynn
Re : Connection SSH via adresse MAC distante
cmd < <(cmd)
!!!
Comme quoi, j'ai encore beaucoup à apprendre...
Merci Watael.
«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»
Coluche
En ligne
#11 Le 29/12/2017, à 08:44
- Brunod
Re : Connection SSH via adresse MAC distante
Merci !
Utile quand on n'a pas le FQDN
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis
Hors ligne
#12 Le 29/12/2017, à 10:30
- maxire
Re : Connection SSH via adresse MAC distante
Comme l'a remarqué piolet, ceci ne fonctionne que si les tables internes du noyau linux sont à jour (valable aussi bien pour arp que pour ip neigh).
Comment les mettre à jour?
Voilà une bonne question.
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#13 Le 29/12/2017, à 14:21
- piolet
Re : Connection SSH via adresse MAC distante
réponse donnée plus haut
nmap -sP 192.168.1.0/24 par exemple
Dernière modification par piolet (Le 29/12/2017, à 14:22)
lenovo T430 RAM 8Go Xubuntu 22.04 LTS
Hors ligne
#14 Le 29/12/2017, à 15:46
- Watael
Re : Connection SSH via adresse MAC distante
sur ma machine, malgré le scan, ip neigh n'affiche pas tous les hôtes présents sur le réseau.
et puis, nmap affiche les MACs, donc :
nmap -n -sn 192.168.1.0/24 | sed -n '/Nmap scan report for /{s/Nmap scan report for \(.*\)/\1/;h;};/MAC Address/{s/[^:]*: \([^ ]*\) .*/\1/;x;G;s/\n/ /;/'"$mac"'/p}'
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#15 Le 29/12/2017, à 16:01
- piolet
Re : Connection SSH via adresse MAC distante
sur ma machine, malgré le scan, ip neigh n'affiche pas tous les hôtes présents sur le réseau.
certains firewall peuvent bloquer les trames arp ou empecher la machine de répondre
Dernière modification par piolet (Le 29/12/2017, à 16:04)
lenovo T430 RAM 8Go Xubuntu 22.04 LTS
Hors ligne
#16 Le 29/12/2017, à 20:27
- maxire
Re : Connection SSH via adresse MAC distante
Justement nmap ne me satisfait pas et en effet toutes les machines du réseau ne sont pas détectées pour peu que certaines d"entre elles n'acceptent pas les paquets ICMP.
De plus après l'application de nmap -sP les tables du noyau sont polluées comme ici:
$ ip neigh
192.168.0.137 dev trunk0 FAILED
192.168.0.76 dev trunk0 FAILED
192.168.0.133 dev trunk0 FAILED
192.168.0.120 dev trunk0 FAILED
192.168.0.59 dev trunk0 FAILED
192.168.0.116 dev trunk0 FAILED
192.168.0.75 dev trunk0 FAILED
192.168.0.132 dev trunk0 FAILED
192.168.0.71 dev trunk0 FAILED
192.168.0.253 dev trunk0 FAILED
.
.
.
et
$ arp -a
? (192.168.0.137) at <incomplete> on trunk0
? (192.168.0.76) at <incomplete> on trunk0
? (192.168.0.133) at <incomplete> on trunk0
Ces adresses ne correspondent à aucune machine du réseau.
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#17 Le 29/12/2017, à 21:03
- Watael
Re : Connection SSH via adresse MAC distante
nmap ne me satisfait pas
pourquoi ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#18 Le 29/12/2017, à 22:09
- piolet
Re : Connection SSH via adresse MAC distante
Justement nmap ne me satisfait pas et en effet toutes les machines du réseau ne sont pas détectées pour peu que certaines d"entre elles n'acceptent pas les paquets ICMP.
que la machine accepte ou non ICMP sa MAC address est retrouvée. C'est si elle ne répond pas aux requêtes ARP qu'elle n'est pas détectée.
chez moi nmap -sP 192.168.1.0/24 ne pollue les tables arp que pendant 5 secondes environ.
lenovo T430 RAM 8Go Xubuntu 22.04 LTS
Hors ligne
#19 Le 31/12/2017, à 16:43
- maxire
Re : Connection SSH via adresse MAC distante
J'ai fait allusion à ICMP parce que j'ai déduit un peu vite que comme nmap -sP est scan Ping le fonctionnement est le même que celui de la commande Ping, ce qui n"est pas le cas.
Pour revenir à ma non utilisation de nmap, voici déjà quelque temps j'avais écrit un script de découverte de mon réseau local utilisant nmap avec pour objectif de présenter la liste des machines du réseau proposant des services vnc, xdmcp et rdp.
Ceci afin de permettre une connexion facilitée à ces machines via un écran de sélection de connexion.
Tout fonctionnait jusqu'au changement physique de mon réseau par l'ajout d'un point d'accès WIFI D-LINK DAP-1360 liant la partie filaire du réseau et la partie hertzienne.
Depuis, nmap ne fonctionne plus, les machines connectées via le wifi ne voient pas les machines du réseau filaire via nmap.
J'utilise maintenant le service de découverte avahi, chaque machine du réseau offrant des services les publie via avahi, et tout fonctionne sans que le boîtier DLINK DAP-1360 ne filtre quoi que ce soit.
Juste pour dire que nmap n'est pas nécessairement fiable, tout dépend du contexte.
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne