Здравствуйте! Пишу прогу, работающую с сырыми сокетами (IP+TCP), в которой можно указывать порты, и адреса отправителя и получателя. Посылаю SYN пакет - контрольная сумма, все параметры в порядке. НО! Почему-то то когда я шлю свой пакет, у меня в сниффере показывается что пакет идет от MAC 00:00:00:00:00:02 MAC'у 00:00:00:00:00:01 (когда проги, юзающие socket, conenct, send, recv etc шлют SYN от 00:00:00:00:00:01 к 00:00:00:00:00:02). Я не пойму че это за MAC и как повлиять на него, чтобы прога заработала PS тестю прогу пока локально
Любое устройство, подключенное к локальной сети (Ethernet, FDDI и т.д.), имеет уникальный физический сетевой адрес, заданный аппаратным образом. 6-байтовый Ethernet-адрес выбирает изготовитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. Если у машины меняется сетевой адаптер, то меняется и ее Ethernet-адрес. Для хранения этих адресов используются ARP таблицы: ARP-таблицы строятся согласно документу RFC-1213 и для каждого IP-адреса содержит четыре кода: ifindex - Физический порт (интерфейс), соответствующий данному адресу; Физический адрес - MAC-адрес, например Ethernet-адрес; IP-адрес - IP-адрес, соответствующий физическому адресу; тип адресного соответствия - это поле может принимать 4 значения: 1 - вариант не стандартный и не подходит ни к одному из описанных ниже типов; 2 - данная запись уже не соответствует действительности; 3 - постоянная привязка; 4 - динамическая привязка; Введи в командной строке arp -a Интерфейс: 192.168.0.9 on Interface 0x1000005 Адрес IP Физический адрес Тип 192.168.0.7 00-c0-26-2c-f2-ea динамический Почему у тебя 00:00:00:00:00:02 не знаю, может снифер неверно работает ?
> Почему у тебя 00:00:00:00:00:02 не знаю, может снифер неверно работает ? он пишет, что тестит локально.. возможно, устройство виртуальное.. да и мак тоже можно вручную поменять
2 SteelRat это палучаеца если отправить arp ответ самому себе (изменённый канещна) можна сделать штоб машинка откликалась на другой мак?
Изменить MAC не получится он зашит в сетевухе... Ты можешь его изменить, но для вышестоящих уровней OSI из драйвера. Отправка пакетов (даже через драйвер) ведётся IP пакетами, но в ethernet пакет его заворачивает адаптер.
Уйма современных сетевых плат держит свой MAC вместе с другими настройками в своей NVRAM и позволяет его программно менять.