На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > Почему возникает ошибка Errorinitialization #10013 при вызове сырого сокета.?
      Здравствуйте у меня windows 8.1 Сниффер Wireshark работает без проблем а вот при вызове функции socket(AF_INET,SOCk_RAW,IPPROTO_IP)
      Возникает ошибка Errorinitialization #10013.Как мне устранить эту ошибку?
        Возможно забыл вызвать WSAStartup
          Цитата popsa @
          Возможно забыл вызвать WSAStartup

          Уэтот вызов прошёл успешно без ошибок.
            10013 - пермишн денай.
            Начиная с вин7 доступ с сырым сокетам не так просто получить, если вообще нельзя. Варианты которые я вижу:
            1. Запустить софтину от имени администратора
            2. Добавить DWORD параметр реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Afd\Parameters\DisableRawSecurity со значением 1, ребут, и запуск от админа.
            3. Не использовать сырые сокеты.
            4. Погромировать под линух

            Добавлено
            Цитата izumov @
            Сниффер Wireshark работает без проблем а вот при вызове функции

            Вайршарк ставит драйвер-фильтр, и получает данные не из сетевого стека винды, а напрямую с буфера карты(вот тут могу ошибаться, но точно не открытием рав сокета это 100%), переводя оную в промиск режим.
            Сообщение отредактировано: Gonarh -
              Цитата Gonarh @
              10013 - пермишн денай.
              Начиная с вин7 доступ с сырым сокетам не так просто получить, если вообще нельзя. Варианты которые я вижу:
              1. Запустить софтину от имени администратора
              2. Добавить DWORD параметр реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Afd\Parameters\DisableRawSecurity со значением 1, ребут, и запуск от админа.
              3. Не использовать сырые сокеты.
              4. Погромировать под линух

              Добавлено
              Цитата izumov @
              Сниффер Wireshark работает без проблем а вот при вызове функции

              Вайршарк ставит драйвер-фильтр, и получает данные не из сетевого стека винды, а напрямую с буфера карты(вот тут могу ошибаться, но точно не открытием рав сокета это 100%), переводя оную в промиск режим.

              Можно ли самому написать на с++ под windows вариант реализованный Wireshark?
                Можно, пиши свой драйвер. Либо воспользуйся npcap, sdk присутствует.
                Сообщение отредактировано: Gonarh -
                  Благодарю всех кто пытался мне помочь
                  Ларчик просто открывался стоило запустить visual studio от имени администратора и ошибка исчезла :victory:
                    Прошу помощи в таком вопросе. Теперь сокет инициализируется начал отладку программы, но при попытке получения данных отладчик виснет а функция не возвращает никакого значения
                    речь об этом участке кода
                    char* MySocket::recieve()
                    {
                    int recvdata = recv(mysocket,Buffer,sizeof(Buffer),0);
                    }
                    При входе отладчика в строку
                    int recvdata = recv(mysocket,Buffer,sizeof(Buffer),0); отладчик зависает а функция вообще не возвращает никакого значения в это время на компьютере работает программа Глаз.ТВ и идет видеопоток.В чем может быть проблема подскажите.
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0286 ]   [ 16 queries used ]   [ Generated: 26.04.24, 09:14 GMT ]