Ответ 1
По предложению Saint_pl:
Я нашел, вероятно, лучшее решение - похоже на SharpPcap. Это Pcap.Net - оболочка .NET для WinPcap. Теперь я могу изменить мои пакеты, что я хочу.
У меня есть некоторые ресурсы для вас, которые могут быть полезны. Я не пробую эти решения в Windows 7, но, возможно, в нем содержится хорошая информация для начала.
Манипуляция необработанным Ethernet-пакетом или зеркало в CodeProject
Цель этой статьи - объяснить, как отправлять необработанный пакет Ethernet с использованием С# на платформе Microsoft. Необработанный пакет Ethernet представляет собой полный сетевой кадр уровня 2, который отправляется на физический провод. Отправка кадра, подобного этому, позволяет манипулировать целевыми и исходными MAC-адресами и полями протокола уровня 3.
Также немного информации о сырых сокетах (на случай, если вам тоже интересно):
Связь с клиентскими (и серверными) сокетами рассматривает целую главу, но здесь ключевые части:
- Пример программы на сокете С# Raw UDP
- Пример программы С# Raw Socket Ping часть A | часть Б
- Все примеры
Не отправка пакетов, но, возможно, интересно: сетевой сниффер в С#, SharpPcap - инфраструктура захвата пакетов для .NET