1 / 1 / 0
Регистрация: 04.08.2021
Сообщений: 193

recvfrom от raw сокета с нулевого порта

12.08.2021, 17:02. Показов 931. Ответов 0

Студворк — интернет-сервис помощи студентам
Создаю raw сокет . Сокет должен принимать пакеты от определенного пользователя из другой сети.

При использовании recvfrom (), когда на сокет пакеты не отсылаются другим пользователем, recvfrom() возвращает всегда значение 36, порт отправителя нулевой, ip адрес принадлежит моей локальной сети, каждый раз ip разный.

По идее же сокет не должен принимать ничего, что не будет идти на его ip и номер порта. Что же это тогда за пакеты размером 36 из моей сети? Это мусор какой то приходит?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
SOCKET rawSocket;
    rawSocket = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
 
    if (rawSocket == INVALID_SOCKET)
        return closeSocket("Create RAW socket ", rawSocket);
        
    SOCKADDR_IN addr;
    memset(&addr, 0, sizeof(addr)); 
    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = inet_addr((const char*)ipaddrLocal);
    addr.sin_port = htons(atoi(port));
    BOOL opt = TRUE;
 
    if (setsockopt(rawSocket, SOL_SOCKET, SO_REUSEADDR, (char*)&opt, sizeof(opt)))
        return closeSocket("Set opt SO_REUSEADDR", rawSocket);
 
    if (::bind(rawSocket, (SOCKADDR*)&addr, sizeof(SOCKADDR)) != NO_ERROR) 
        return closeSocket("UDP socket receiver bind", rawSocket);
 
    if(setsockopt(rawSocket, IPPROTO_IP, IP_HDRINCL, (char*)&opt, sizeof(opt)))
        return closeSocket("Set opt IP_HDRINCL", rawSocket);
 
    u_long iMode = 1; //при iMode !=0 неблок режим
    if (ioctlsocket(rawSocket, FIONBIO, &iMode) != NO_ERROR)
        return closeSocket("Set opt ioctsocket", rawSocket);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.08.2021, 17:02
Ответы с готовыми решениями:

Создание RAW сокета
Добрый день. Пытаюсь создать raw сокет, чтобы самостоятельно формировать ip заголовок и udp заголовок. В примере создание raw сокета...

Ошибка при создании RAW сокета
Начал изучать сырые сокеты. Написал простую функцию отправки IP-пакета. При вызове WSASocket возникает ошибка 10047 WSAEAFNOSUPPORT. Вопрос...

Конфигурирование порта сокета для SpringApplicatiom
Добрый день! Есть несколько сервисов-заглушек SpringBootApplication. В стандартном конфиге application.properties установлен...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.08.2021, 17:02
Помогаю со студенческими работами здесь

Конфигурирование порта сокета для Spring Application
Добрый день! Есть несколько сервисов-заглушек SpringBootApplication. В стандартном конфиге application.properties установлен...

Отследить событие закрытия сокета, при закрытии порта через iptables
Друзья, возникла ситуация, имеется linux-приложение, которое берет из входящей очереди сообщения и отправляет их в TCP сокет по порту 3335....

Копирование сокета или передача сокета в функцию
Добрый день всем, столкнулся с тем что не могу скопировать сокет. boost::asio::ip::tcp::socket socket(io_service); ...

Сделать так чтобы при подключении нулевого порта выполнялся один цикл кода а при подключении другого - другой
Как сделать так чтобы при подключении нулевого порта выполнялся один цикл кода, а при подключении другого другой. И вообще возможно ли это...

Найти произведение всех элементов массива, начиная с нулевого. Если нулевого элемента нет - вывести (-1)
В одномерном массиве, состоящем из n элементов найти: произведение всех элементов, начиная с нулевого. Если нулевого элемента нет –...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru