web-dev-qa-db-fra.com

Vous vous connectez directement à un autre ordinateur ne connaissant que l'adresse MAC?

D'après ma compréhension, ARP traduit une adresse IP en une adresse MAC, puis l'ordinateur utilise l'adresse MAC pour établir une connexion directe.

Si je connais déjà l'adresse MAC de l'ordinateur auquel je veux me connecter, est-il possible de s'y connecter directement (sans routeur)? Y en a-t-il un exemple?

13
Colin

Si je connais déjà l'adresse MAC de l'ordinateur auquel je veux me connecter, est-il possible de s'y connecter directement? Y en a-t-il un exemple?

Vous pouvez vous connecter à un niveau bas et envoyer des paquets à d'autres machines sur le même réseau local, mais il serait difficile de savoir quoi mettre dans ces paquets sans en savoir plus sur les protocoles des couches supérieures.

Par exemple, il existe des protocoles réseau autres que IP qui fonctionnent sur Ethernet, et les pilotes qui implémentent ces protocoles font exactement ce que vous décrivez - ils se connectent à un bas niveau sans connaître une adresse IP (car il n'y a pas d'adresse IP à connaître) et transférer des données.

Cela dit, les adresses MAC ne signifient pas grand-chose en dehors des limites du réseau local, vous avez donc besoin de protocoles et de routeurs de niveau supérieur qui les comprennent pour communiquer avec des machines sur d'autres réseaux.

12
Caleb

Sorte de.

L'adressage IP est à un certain niveau symbolique, s'appuyant généralement sur des protocoles réseau de niveau inférieur (avec une structure moins hiérarchique) pour achever la transmission.

Au niveau IP, chaque machine possède (au moins) une IP, dans (au moins) un sous-réseau. Il peut également (et a généralement) une "passerelle par défaut" (c'est-à-dire une adresse IP par laquelle il envoie tous les paquets vers un autre endroit qu'un sous-réseau local).

De manière abstraite, un paquet destiné à un port Web ressemble à quelque chose comme:

[en-tête Ethernet] [en-tête ip] [en-tête tcp] [charge utile]

L'en-tête Ethernet contient diverses informations de contrôle, y compris les adresses MAC source et de destination sur le LAN.

L'en-tête IP contient diverses informations de contrôle, comme l'IP source et de destination et le protocole encapsulé (TCP, dans cet exemple).

L'en-tête TCP contient diverses informations de contrôle, divers indicateurs (quelle partie de la session est-ce, quel est le numéro de séquence, la source et la destination TCP ports, .. .)

La charge utile est simplement transmise par TCP et "seule l'application s'en soucie".

ARP est utilisé lorsque quelqu'un sur le réseau local veut envoyer un paquet IP, à une adresse IP pour laquelle il n'a pas d'adresse MAC et est essentiellement une diffusion de niveau Ethernet disant "qui a l'adresse IP bla?".

La plupart des machines n'écoutent rien pour les connexions Ethernet pur, mais vous pouvez toujours mapper ce MAC à une adresse IP. Dans un LAN non commuté, il vous suffit d'observer les paquets, de trouver quelque chose avec un MAC source ou de destination qui est celui avec lequel vous souhaitez parler et d'analyser l'IP.

Si la machine a une sorte d'écouteur de niveau Ethernet, vous pouvez en parler, mais vous ne pourrez pas en parler depuis l'extérieur du LAN local, car les trames Ethernet destinées à la machine ne seront pas captées de l'autre côté du routeur local.

3
Vatine

Ce message est assez ancien, mais je ne pense pas qu'il ait obtenu la bonne réponse.

SI vous pouvez vous connecter à l'appareil dont vous connaissez le MAC sur le même réseau (idéalement un câble croisé). Vous pouvez attribuer une adresse IP au MAC, puis accéder à l'IP de cette façon:

Microsoft Windows Les systèmes Windows nécessitent le caractère tiret "-" entre chaque chiffre de l'adresse MAC (adresse Ethernet).

arp -s 192.168.1.2 00-80-77-31-01-07
ping 192.168.1.2

NIX/Linux Les systèmes UNIX et Linux nécessitent le caractère deux-points ":" entre chaque chiffre de l'adresse MAC (adresse Ethernet).

arp -s 192.168.1.2 00:80:77:31:01:07
ping 192.168.1.2

Pour que cela fonctionne cependant, vous devez être sur le même segment Ethernet (c'est-à-dire qu'il ne peut pas y avoir de routeur entre vous et le périphérique avec lequel vous essayez de vous connecter).

0
Chris