На мой взгляд, UDP и TCP не имеют к этому никакого отношения. Вы говорите только об уровне 2 (MAC) и уровне 3 (IP). Даже при этом вы не можете знать, потому что исходный MAC-адрес должен быть адресом ближайшего маршрутизатора к получателю (при условии, что пакет не был создан в вашей подсети.) Таким образом, вы должны увидеть тот же MAC-адрес для большинства входящие пакеты (опять же, только интернет-трафик).
Теперь есть инструменты профилирования, такие как p0f, которые работают с сигнатурами пакетов, и вы можете попытаться выполнить некоторую эвристику, основанную на этой информации, но ничего особо конкретизированного определить невозможно.