C# — стек TCP пользовательского пространства в Windows XP SP III

StackOverflow https://stackoverflow.com/questions/725536

Вопрос

Я пытаюсь создать приложение для создания пакетов, чтобы иметь возможность отлаживать здесь некоторые шлюзы и экспериментировать с ситуациями TCP DoS.Тем не менее, это должно быть очень просто, я не нашел способа реализовать это для приложения Windows.

Я начал использовать Импакет из Core Security в Python на компьютере Unix, но пока я хочу этого избежать.Прежде всего, Impacket не работает в Windows и, похоже, не делает именно то, что мне нужно.

Кто-нибудь знает, как получить простое поведение, подобное необработанным сокетам, в Windows?Я знаю, что Raw-сокетов больше нет.Но есть ли что-то подобное?Любая библиотека C#, которую я могу использовать...Я не нашел ничего реактивного.

Спасибо ;)

Это было полезно?

Решение

Создание сокета не требует особых усилий.

using System.Net.Sockets;
Socket rawSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Raw);

или если вам нужны специальные TCP-пакеты:

Socket rawSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);

Если вы планируете отправлять IP-пакеты или пакеты более высокого уровня, которые не предоставляются платформой .Net.Однако пакеты IP и TCP довольно просто собрать вместе, и если вы тестируете некорректные пакеты, вам, скорее всего, все равно придется их настраивать.

Другие советы

Попробуйте использовать libpcap (winpcap), он может работать в стеке tcp/ip, только на уровне необработанных пакетов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top