Не могу разобраться с сырыми сокетами

Тема в разделе "WASM.NETWORKS", создана пользователем MaDF, 28 июл 2005.

  1. MaDF

    MaDF New Member

    Публикаций:
    0
    Регистрация:
    10 май 2005
    Сообщения:
    83
    Привет всем!



    Мог бы мне кто-нибудь ;) помочь разобраться в проблеме:

    я хочу послать TCP-пакет с флагом SYN на определенный IP с

    поддельным обратным адресом и портом. Уже догадываетесь для

    чего? ;) Ну вобщем посылаю функцией sendto составленный IP+TCP

    заголовок и в сниффере я вижу, что IP-заголовок создался какой-то

    левый, а в конце этого IP-пакета расположен мой IP+TCP заголовк %)

    И я не могу понять в чем собссно дело? %) В аттаче мой проект

    в RadAsm'е, компилятор - masm. Может кто-нибудь поможет??

    [​IMG] _480817658__raw.rar
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    А разве в винде уже можно работать с сырыми сокетами? Вроде как они это объявили, но на практике не работает, так как не устанавливается флаг отвечающий за создание своих заголовков.
     
  3. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Валяется у меня где-то рабочий пример на паскале. Если надо, могу найти и сюда кинуть.
     
  4. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Booster

    Ну, это только на XP SP2 нельзя... и на каких-то старых машинах тоже нельзя было, хотя, раз МС решила угробить сырые сокеты, то и нам пора о них забыть, IMHO.



    MaDF

    XP SP2?
     
  5. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    У меня XP SP2 и все прекрасно работает.



    Вот тот сорец о котором я говорил, но он правда написан очень хреново, но тут главное принцип.

    [​IMG] 1378198694__sample.rar
     
  6. MaDF

    MaDF New Member

    Публикаций:
    0
    Регистрация:
    10 май 2005
    Сообщения:
    83
    Quantum: да, уменя XP SP2... в NT ДОЛЖНЫ быть сырые сокеты. Я же делал как-то пинг на сырых сокетах! и все пахало.. Ms Rem спасибо конечно, но на паскале нинада :) Мне бы на асме ченить :) Я с++ знаю, и даже есь сорцы но они под freebsd и linux... и охота самому понять-то :)
     
  7. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"




    А какая разница в языке, смотришь на паскаль, пишешь на асме. Или надо все готовое?
     
  8. MaDF

    MaDF New Member

    Публикаций:
    0
    Регистрация:
    10 май 2005
    Сообщения:
    83
    Нет, готового можно и не надо %) Но на асме обязательно, т.к. большая часть проЭкта написана на нем... мне бы понять в чем трабла?
     
  9. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    MaDF

    Пинг (ICMP) у меня на XP SP2 тоже работает. Кажется, система проверяет валидность пакета и, если адрес левый, то сразу дропает его. Ещё она медленней обрабатывает сырые запросы, чем стандартные TCP/UDP. Всё это я где-то читал (возможно, что в этом форуме) и на практике не так давно убедился, что это действительно так.
     
  10. MaDF

    MaDF New Member

    Публикаций:
    0
    Регистрация:
    10 май 2005
    Сообщения:
    83
    Что, неужели никто не способен сказать мне в чем ступор? :dntknw: Quantum, что значит дропает если левый адрес? Система ведь не знает работает IP или нет. У меня есть рабочий пример на VC++ и там все прекрасно работает (спуфинг IP-адресов) %|
     
  11. MaDF

    MaDF New Member

    Публикаций:
    0
    Регистрация:
    10 май 2005
    Сообщения:
    83
    Только что нарыл, что нужно выполнять это:


    Код (Text):
    1.  
    2.     mov dwTmp, 1
    3.     invoke setsockopt, s, IPPROTO_IP, IP_HDRINCL, offset dwTmp, 4
    4.  




    и все равно не пашет... (и хз IP_HDRINCL = 2 или 3)
     
  12. MaDF

    MaDF New Member

    Публикаций:
    0
    Регистрация:
    10 май 2005
    Сообщения:
    83
    уууу :dntknw:((
     
  13. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    MaDF



    Она знает свой адрес.





    Если он работает на тестовой машине, то что мешает позаимствовать код из данного примера?