ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Проблема с RAW сокетами
  #1  
Старый 14.03.2010, 01:25
kurz
Новичок
Регистрация: 05.02.2010
Сообщений: 11
Провел на форуме:
58203

Репутация: 0
По умолчанию Проблема с RAW сокетами

Проблема с следующем: пишу программу, которая работает с сырыми сокетами, т.е. формирую заголовки TCP, IP сам, через обьявление соответствующих структур. Но при отсылке, к моему пакету все равно приписывается заголовок IP системой (это видно по тому, что отсылаю я 40 байт, принимаю сам от себя уже 60), а мое содержимое смещается, как я понимаю, в область "данных". В коде одна проблема, режим "я-сам-буду-формировать-заголовки" не включается:
PHP код:
s_sock socket(AF_INETSOCK_RAWIPPROTO_RAW);
BOOL raw_opt TRUE;
setsockopt(s_sockIPPROTO_IPIP_HDRINCL, (char *)&raw_optsizeof(raw_opt)) 
возвращает ошибку 10049 - Cannot assign requested address. И с этого момента все идет плохо ))
Может где ошибаюсь, прошу поправить. Как мне вручную отправить сформированный пакет? С моим заголовком.
 
Ответить с цитированием

  #2  
Старый 14.03.2010, 13:53
maestro-ant
Новичок
Регистрация: 08.01.2007
Сообщений: 25
Провел на форуме:
25858

Репутация: 5
По умолчанию

если не ошибаюсь этой возможности уже нет
в WinXP sp1 еще можно было собирать и отправлять самодельные пакеты
 
Ответить с цитированием

  #3  
Старый 14.03.2010, 16:50
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

WinPcap тебе в помощь
 
Ответить с цитированием

  #4  
Старый 14.03.2010, 18:17
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

С user-level можно было собирать пакеты с нуля в win 2000, во всех последующих версиях возможности работы с rawsocket порезаны в разной степени. В *nix можно.
 
Ответить с цитированием

  #5  
Старый 14.03.2010, 20:03
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

никто не подскажет простых примеров работы с винпкапом?
 
Ответить с цитированием

  #6  
Старый 14.03.2010, 20:50
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

вообще как я понял существуют тока 4 пути решения этой проблемы:
1) поставить win 2000 или никсы
2) патчить драйвер tcpip.sys (можно даже в памяти) чтобы он не фильтровал это. Но как выяснилось - это довольно сложно без исходников драйвера. А разбираться в коде хексрея - это мутарно сильно
3) юзать сторонение либы типа winpcap
4) написать свой дров как прослойку между ndis и прогой. На деле это выглядит не сильно сложно и дает возможность даже подмены ip делать. Но опять же получается свой вариант winpcap'a
 
Ответить с цитированием

  #7  
Старый 14.03.2010, 20:59
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Цитата:
никто не подскажет простых примеров работы с винпкапом?
Да на их же сайте нормальные доки есть с примерами, описанием и т.д.
 
Ответить с цитированием

  #8  
Старый 14.03.2010, 21:04
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

если нужно не троян, а определенная тулза, лучше конечно под никсом, там можно даже на php работать с сырыми сокетами
 
Ответить с цитированием

  #9  
Старый 14.03.2010, 23:46
kurz
Новичок
Регистрация: 05.02.2010
Сообщений: 11
Провел на форуме:
58203

Репутация: 0
По умолчанию

я видимо в тупике) мне нужно это делать из под винды, причем стандартными средствами, без сторонних фишек типа winpcap. такая специфика задачи.
с отправкой пакетов облом. а могу ли я принимать их в raw-режиме? и самостоятельно отделять заголовок и анализировать его?
 
Ответить с цитированием

  #10  
Старый 15.03.2010, 00:09
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

Цитата:
Сообщение от kurz  
я видимо в тупике) мне нужно это делать из под винды, причем стандартными средствами, без сторонних фишек типа winpcap. такая специфика задачи.
с отправкой пакетов облом. а могу ли я принимать их в raw-режиме? и самостоятельно отделять заголовок и анализировать его?
Limitations on Raw Sockets

On Windows 7, Windows Server 2008 R2, Windows Vista, and Windows XP with Service Pack 2 (SP2), the ability to send traffic over raw sockets has been restricted in several ways:

TCP data cannot be sent over raw sockets.
UDP datagrams with an invalid source address cannot be sent over raw sockets. The IP source address for any outgoing UDP datagram must exist on a network interface or the datagram is dropped. This change was made to limit the ability of malicious code to create distributed denial-of-service attacks and limits the ability to send spoofed packets (TCP/IP packets with a forged source IP address).
A call to the bind function with a raw socket is not allowed.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с микрофоном Rio-de-Janeiro Болталка 14 14.01.2010 20:55
Проблема с дедиками [help!] Sniper482 Безопасность 4 14.09.2009 21:22
Заметка о пользе оптимизации John ShadOS Расшифровка хешей 5 13.04.2009 17:56
Jabber бот на php - проблема с сокетами Krist_ALL PHP, PERL, MySQL, JavaScript 26 29.03.2009 22:57
Косяки с сокетами и непонятки с пониманием http-запросов je0n PHP, PERL, MySQL, JavaScript 4 28.06.2006 02:56



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ