Comment trouver l'adresse MAC du commutateur auquel je suis connecté?

17

Sur un serveur Linux, j'essaie de trouver les adresses MAC que mon serveur connaît. Plus précisément l'adresse MAC du port du commutateur auquel je suis connecté.

Est-ce possible?

Mise à jour: Les réponses ci-dessous m'ont aidé. Mon commutateur est un commutateur géré, mais parce que les adresses IP sur mes machines hôtes étaient définies sur statique, le commutateur n'a pas récupéré les adresses MAC pour une raison quelconque. J'ai changé les hôtes en DCHP, ce qui a permis à mon commutateur de récupérer correctement les adresses MAC sur les ports connectés après avoir envoyé des requêtes DHCP. Cela m'a permis d'utiliser la table d'adresses MAC des commutateurs pour déterminer quels hôtes étaient connectés à quels ports et j'ai remis les hôtes sur des adresses IP statiques.

Damainman
la source
7
Pourquoi un port de commutateur aurait-il une adresse MAC? Ce n'est pas un point de terminaison de communication - ce n'est ni la source ni la destination d'un trafic Ethernet.
David Schwartz
1
Certains commutateurs gérés ont une adresse MAC par port ou par VLAN. La commande Cisco dans la réponse de Spuder le montrera.
Paul Gear
1
Damianman, il est très peu probable que DHCP par rapport aux adresses IP statiques soit la cause du fait que votre commutateur ne voit pas les MAC clients. En fait, si votre commutateur ne voit pas les MAC sur la couche 2, cela ne fonctionne pas du tout, car c'est ce que fait un commutateur. Pinging IP de gestion de votre commutateur à partir d'un PC client (tant qu'ils sont dans le même VLAN) devrait être tout ce qui est nécessaire pour que le commutateur puisse voir le MAC du PC dans la table ARP.
Paul Gear
1
@PaulGear Merci pour l'entrée supplémentaire. Ma machine hôte avait 3 interfaces avec chacune dans un sous-réseau différent de celui de mes IP gérés par les commutateurs. Je ne sais pas vraiment pourquoi mon commutateur ne récupérait pas les adresses mac jusqu'à ce que je les définisse sur DHCP. Si je trouve la réponse exacte, je modifierai ce qui précède.
Damainman

Réponses:

15

Si vous êtes chanceux, vous utilisez un commutateur intelligent et il va effectivement avoir une adresse MAC.

Dans ce cas, vous pouvez probablement utiliser LLDP. Installez lldpdsur Linux, puis exécutez:

michael:~$ lldpctl 
-------------------------------------------------------------------------------
LLDP neighbors:
-------------------------------------------------------------------------------
Interface:    eth0, via: LLDP, RID: 1, Time: 5 days, 22:33:31
  Chassis:     
    ChassisID:    mac 28:a6:8e:03:57:9b
    SysName:      core-pri
    SysDescr:     Netgear Gigabit Smart Switch
    MgmtIP:       10.0.0.38
    Capability:   Bridge, on
  Port:        
    PortID:       local g22
    PortDescr:    Not received
-------------------------------------------------------------------------------
MikeyB
la source
2
Et encore, si vous êtes chanceux le commutateur sera en fait être en cours d' exécution LLDP.
bahamat
1
Heureusement, le lldpdpackage prend également en charge CDP et quelques autres. W00t!
MikeyB
8

Les commutateurs n'ont généralement pas d'adresse MAC; ils fonctionnent à un niveau inférieur à eux (bien qu'ils sachent quelles sont les adresses MAC des appareils qui leur sont connectés).

Ignacio Vazquez-Abrams
la source
4
Tous les commutateurs gérés ont des adresses MAC, parfois une par VLAN ou une par port; peut être une bonne idée de préciser que vous entendez des commutateurs non gérés.
Paul Gear
7

Cela dépend du type de commutateur auquel vous êtes connecté.

Un commutateur stupide (communément appelé commutateur non géré, qui est en fait un pont réseau) n'aura pas d'adresse MAC
Un commutateur géré (parfois appelé commutateur intelligent) aura une adresse MAC

Si le commutateur est un commutateur géré et que vous connaissez son adresse IP, exécutez la commande suivante dans votre terminal. Il suffit alors de faire correspondre l'IP à l'adresse MAC.

arp -a

Si vous avez affaire à un commutateur géré avec un port de console, connectez-vous avec un câble de console et entrez cette commande (en supposant qu'il s'agit d'un commutateur Cisco):

show mac address-table

http://www.techexams.net/forums/ccna-ccent/45578-mac-address-switch.html https://learningnetwork.cisco.com/thread/9625

spuder
la source
4
Quelques problèmes: les commutateurs stupides sont très rarement appelés ponts réseau (même si c'est ce qu'ils font); Je suggérerais simplement de les appeler des commutateurs non gérés. La commande arp ne fonctionnera que si 1. son IP de gestion est sur le même VLAN, et 2. le PC l'a contacté récemment.
Paul Gear
Bon point, j'ai modifié ma réponse pour clarifier la distinction entre géré et non géré. Et vous avez raison sur la commande arp.
spuder