Отправка пакетов(C#)
Приветствую!
Ради интереса решил написать собственный сниффер на C#(с сокетами очень мало опыта). Нашел несколько рабочих вариантов, из них собрал что-то более-менее рабочее. Принцип действия следующий: сокет привязывается к существующему интерфейсу, через который идет траффик, по событию BeginReceive передает принятый пакет на обработчик, внутри которого уже фильтруются и выводятся нужные мне пакеты(к примеру, по IP). Выглядит это как-то так: Код:
Action<IAsyncResult> OnReceive = null; А вопрос заключается вот в чем: как сдампленные пакеты(либо сформированные) отправить обратно по назначению? |
Re: Отправка пакетов(C#)
Дем, у тебя ус отклеился :D
А чтобы не возиться с tcp/ip хедерами и иметь возможность отправлять пакеты, соединение нужно устанавливать самому. Ну или ещё вариант - работать через клиент игры, но тут уже не чистый C#, а надо что-то инжектить в чужой процесс. |
Re: Отправка пакетов(C#)
Готовый шаблон того что тебе нужно:
http://habrahabr.ru/post/142819/ А в кратце используй готовые классы: Socket TcpClient StreamReader StreamWriter |
Re: Отправка пакетов(C#)
Чтоб отправлять данные - тебе уже не сниффер нужен, а прокси.
Вот только к чему писать с нуля свой софт, когда уже есть готовый? Тот же Сауроновский WPF. К слову и для сниффера есть готовые библиотеки. |
Re: Отправка пакетов(C#)
Вот из инета простейший SOCKS 5 прокси (в общих чертах)
качаешь Proxifier, направляешь траффик на него...там две кнопки, разберешься и всё, твой сниффер готов, пакеты ловятся можно смотреть/выводить/отправлять/менять Код:
delegate void PacketHandlerDelegate(ref byte[] packet, int size); |
Re: Отправка пакетов(C#)
Благодарю.
|
Re: Отправка пакетов(C#)
оффтоп:Развернуть ↓ |
Текущее время: 09:20. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot