Хай! По сабжу, то что я ищу, Я ищу на ассемблере и желательно чтобы это было возможно на winsock 2 и на 3м уровне. Возможно ли? ЗЫ: Гугль ушел чай пить, то что он мне дал пока на стадии изучения. Прошу откикнуться и вас
Либо используй уже готовые решения. Да и кстати Если имелся ввиду вопрос в общем, то в Линуксе (например) можно средствами сокет послать пакет ( SOCK_PACKET ). Во Фряхе надо просто обращаться к bpf.
bpf типа echo "device bdf" > GENERIC ? Поступил мне заказ написать не dhcp - флудилку, но так чтобы быть не замеченным в сети, если ip можно через сырые сокеты, то как быть с MAC адресом пока не пойму. Еще насколько я полагаю в ethernet кадре есть преамбула и crc, могут и они мешать, но скорее всего они будут такими какими нужно локалке, но вот как MAC левый ставить еще не понял, наткнулся пока winpcap но можно ли с помощью него не определился. Может кто скажет че нить по подробней?
с bpf не совсем так. )) Надо открыть девайс /dev/bpf возвращенный описатель будет описателем сокета (в юниксе файлы \ сокеты .. какая разница в принцыпе) Сделать ioctl - перевести в неразборчивый режим (если не переведено) и отсылать (ну как в файлы пишут ) Вообще яб не советовал такими вещами заниматься. Но если так хочется , то возьми линь создай пакетный сокет (или в винде winpcap) и формируй пакеты как хочешь (в пределах разумного конечно) . А преамбула и crc (я в статье писал) заполняются автоматически драйвером сетевой карты! (Если ты имеешь ввиду crc пакета в целом, а не поле crc IP заголовке например)
Под Win XP sp 2 не могу найти, подобное для Win NT: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servises\Afd\Prameters\Dis ableRawSecurety Может и не надо его искать и система безопасности винды итак пропустит?
Мля.Почитал тута: http://www.portalus.ru/modules/computers/special/xaker/xa079/046/1.htm Я понял, что мне надо будет послать ему "обычные" IP и MAC адреса, чтобы было не понятно, что я злоумышленник. Но не понятно, без режима promisc mode для сетевухи, мне вообще никак нельзя посылать и слушать ethernet кадры?
Не читай такое больше )) Есть литература посерьезнее.. А что тебе мешает немного изменить айпи и мак (пусть он будет соответствовать айпи и маку твоего соседа) Да без режима promisc mode ты ничего не поймаешь. А вот отсылать можно.
EvilsInterrupt, обычно dhcp отправляет request, тебе надо снифить трафик, и на каждий приходящий тебе request ответить левым reply пакетом. Вот пример reply на winpcap'e
TermoSINteZ Стоп, есть прога она принимает буфер, который ей мистическим образом передан. Увидела в нем, что это dhcp запрос на получение ip - адреса в сети. Далее делает dhcp ответ этой машине которая запросила айпи, так вот если послать пакет чере RAW сокет, то сетевуха вставит MAC адрес, текущий для этой машины, кто отсылает этот пакет, то есть DHCPфлудилку и машину что ее запустило можно будет однозначно вычислить, как заставить сетевуху подставить мною указанный MAC ? Сорри, может чего не понимаю, но кажется, этот MAC в ППЗУ сетевухе воткнут и значит она АППаратно его внедряет! Я все правильно понимаю?
Яж тебе говорю - забей ты на этот RAW . Он использует установленные в системе умолчания для формирования Ethernet заголовка. Как делаешь: Создаешь снифер (это будет расширенный снифер так как у него будут доп возможности) канального уровня (очень легко можно фильтровать ненужные пакеты , тогда ты будешь получать только то что тебе необходимо). Как только поймал dhcp пакет - анализируешь его заголовки. И посылаешь в сеть то что тебе нужно НО при этом MAC адрес указываешь _НЕ_СВОЙ. Сниффер канального уровня - это например на базе winpcap (tcpdump смотри как пример) или в линуксе можно на пакетных сокетах реализовать ... в прочем повторяюсь. Читай предыдущие посты.
TermoSINteZ Ты не заметил главного вопроса, который меня мучает сетевуха не вставит MAC? или же ей можно указать ни че не делать, только данные в сеть кидать?
Я как раз заметил этот вопрос. И тебе уже фиг знает который раз говорю , что ты МОЖЕШЬ послать пакет как есть . Вот например, когда в статье я создавал ARP пакет, мне сетевуха не меняла MAC-и в нем. Иначе смысла нет.