В локальной сети это может работать теоретически, потому что у вас есть только коммутаторы и концентраторы.
Таким образом, MAC-адрес получателя будет правильным. Но...
Вам придется написать операционную систему для вашей исходной и целевой системы, которая ВСЕГДА будет пропускать уровень IP и считывать полезную нагрузку вашего кадра как пакет TCP.
Вышеуказанное «ВСЕГДА» необходимо, потому что можно создать TCP-пакет, который можно интерпретировать как действительный IP-пакет, но этот пакет никогда не будет иметь одинакового значения, поскольку TCP и IP делают совершенно разные вещи.
Пакет IP также определяет, какой протокол используется содержимым, поэтому, пропуская IP, также больше нельзя будет использовать UDP, ICMP, ...
В глобальной сети это, конечно, не сработает, потому что вам нужно пропускать маршрутизаторы. Исходный пакет должен иметь MAC-адрес первого маршрутизатора, а не MAC-адрес конечной системы.
Так что на практике это была бы ужасная идея: будет много работы по созданию ОС. Это нарушит все протоколы, которые не находятся внутри TCP, и нарушит связь с системами вне локальной сети.