Підключення безпосередньо до іншого комп'ютера, знаючи лише MAC-адресу?


13

З мого розуміння, ARP переводить IP-адресу в MAC-адресу, а потім комп'ютер використовує MAC-адресу для встановлення прямого зв'язку.

Якщо я вже знаю MAC-адресу комп’ютера, до якого я хочу підключитися, чи можна безпосередньо підключитися до нього (без маршрутизатора)? Чи є приклад цього?


Звичайно. Але навіть без маршрутизатора ви можете призначити IP-адреси на кожній машині окремо і використовувати протоколи IP між ними - або за допомогою концентратора, або прямого з'єднання .
svidgen

Відповіді:


12

Якщо я вже знаю MAC-адресу комп’ютера, до якого я хочу підключитися, чи можна безпосередньо до нього підключитися? Чи є приклад цього?

Ви можете підключитися на низькому рівні та відправити пакети на інші машини в тій самій локальній мережі, але було б важко знати, що розмістити в цих пакетах, не знаючи більше про протоколи у верхніх шарах.

Наприклад, є мережеві протоколи, крім IP, які працюють над Ethernet, і драйвери, які реалізують ці протоколи, виконують саме те, що ви описуєте - вони підключаються на низькому рівні, не знаючи IP-адреси (оскільки IP-адреси не знати) і передавати дані.

Однак, MAC-адреси не мають великого значення за межами локальної мережі, тому для спілкування з машинами в інших мережах вам потрібні протоколи і маршрутизатори вищого рівня, які їх розуміють.


1
Дякую. Як саме мережевий інтерфейс знає, як підключитися до іншого інтерфейсу? Чи інтерфейси посилають маякові кадри, як це роблять бездротові маршрутизатори?
Колін

1
Це не знає. Це в основному, як працює Ethernet. Коли одному вузлу в мережі є що сказати, він спочатку слухає, щоб побачити, чи хтось ще щось надсилає, а якщо ні, то просто кладе повідомлення там у мережі, щоб хтось почув. Якщо якийсь інший вузол запускається точно в один і той же час, вони обидва виявляють зіткнення, припиняють розмову, трохи почекають і спробуйте ще раз.
Калеб

1
@Colin: На рівні MAC мережевий інтерфейс може підключатися лише до інтерфейсів у тій же (суб-) мережі. Для спілкування з машинами за межами локальної мережі маршрутизатори використовуються для передачі пакетів з однієї мережі в іншу і для досягнення пункту призначення, між вами та віддаленою машиною можуть сидіти кілька маршрутизаторів.
Барт ван Іґен Шенау

1
Правильно. Отже, як створюється або визначається (під) мережа? Чи всі комп'ютери повинні підключатися до одного концентратора / комутатора / маршрутизатора? Або є спосіб створити мережу без них?
Колін

@Colin Залежить від фізичного шару - іноді всі машини підключені до одного концентратора, як у 10baseT і подібних; іноді всі вони підключені до того ж фізичного проводу, як у 10base2, також "тонкої мережі", іноді вони взагалі не підключені, але всі спілкуються з тим самим концентратором, як у WiFi. Але є безліч різних мережевих технологій, і деталі різняться від однієї до іншої, тому хоча Ethernet - це хороша модель, яку можна мати в голові, не уявляйте, що це єдиний спосіб робити.
Калеб

3

Різновид.

IP-адресація на деякому рівні символічна, зазвичай покладаючись на мережеві протоколи нижчого рівня (з меншою ієрархічною структурою), щоб фактично завершити передачу.

На рівні IP кожна машина має (принаймні) одну IP, у (принаймні) одну підмережу. Він також може (і, як правило, має) "шлюз за замовчуванням" (тобто IP-адресу, через яку він надсилає всі пакети, що йдуть кудись, крім локальної підмережі).

Абстрактно, пакет, призначений для веб-порту, виглядає приблизно так:

[ethernet header] [ip header] [tcp header] [корисний вантаж]

Заголовок Ethernet містить різноманітну керуючу інформацію, включаючи MAC-адреси джерела та призначення в локальній мережі.

Заголовок IP містить різні керуючі відомості, такі як IP-код джерела та призначення та протокол капсульованого протоколу (TCP, у цьому прикладі).

Заголовок TCP містить різноманітну керуючу інформацію, різні прапори (яка частина сеансу це, який номер послідовності, вихідний і цільовий порти TCP, ...)

Корисне навантаження передається просто за допомогою TCP і "піклується лише програма".

ARP використовується, коли хтось із локальної мережі хоче надіслати IP-пакет, до IP-якого він не має MAC-адреси, і це, в основному, трансляція рівня Ethernet, яка говорить "у кого IP-адреса"?

Більшість машин нічого не слухатимуть для з'єднань із чистою мережею Ethernet, але ви все одно зможете зіставити цей MAC на IP-адресу. У локальній мережі, що не перемикається, вам просто потрібно спостерігати за пакетами, знаходити щось із MAC-джерелом або адресою призначення, що є тим, з ким ви хочете поговорити, і розібрати IP-адресу.

Якщо на апараті є якийсь слухач рівня Ethernet, ви можете поговорити з цим, але ви не зможете поговорити з цим за межами локальної локальної мережі, оскільки кадри Ethernet, призначені для машини, не будуть підніматися на інша сторона локального маршрутизатора.


0

Цей пост досить старий, але я не вважаю, що він отримав правильну відповідь.

ЯКЩО ви можете підключитися до пристрою, якому ви знаєте MAC в тій же мережі (в ідеалі перехресний кабель). Ви можете призначити IP-адресу MAC, а потім отримати доступ до IP таким чином:

Системи Microsoft Windows Windows вимагають символу "-" між тиском між кожною цифрою MAC-адреси (Ethernet-адреса).

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

Системи UNIX / Linux Системам UNIX та Linux потрібен двократний символ ":" між кожною цифрою MAC-адреси (Ethernet Address).

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

Щоб це не працювало, ви повинні перебувати на тому ж сегменті Ethernet (тобто не може бути маршрутизатора між вами та пристроєм, з яким ви намагаєтесь з'єднатися).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.