|
5 / 9 / 0
Регистрация: 06.03.2015
Сообщений: 19
|
||||||
Прием и отправка "сырых" пакетов в Ethernet07.12.2024, 12:45. Показов 3256. Ответов 9
Появилась необходимость отсылать и принимать "сырые" пакеты в сети Ethernet.
Накопипастив кучу кода в интернете и на форуме сваял следующее:
получаю ошибку при выполнении fpbind(Строка 24): SYS_EINVAL = 22 подскажите пожалуйста, что можно сделать чтобы отправить(а потом и принять) "сырой" пакет в Lazarus? Полный код проекта: Project001.zip Ubuntu 20.04, Lazarus 3.4.0, FPC 3.2.2 З.Ы. на питоне похожая конструкция работает, только для адреса сокета она получает имя устройства а не IP Рабочий код на питоне: TxRxPy.zip
0
|
||||||
| 07.12.2024, 12:45 | |
|
Ответы с готовыми решениями:
9
Прием и отправка пакетов RS232 отправка и прием пакетов
|
|
867 / 526 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||||||
| 10.12.2024, 04:04 | ||||||
Сообщение было отмечено snegok74 как решение
Решение
Пфффф... PF_PACKET работает на канальном уровне, ему нужно интерфейс скормить типа eth0, структуру запилить sockaddr_ll с MAC вместо sockaddr_in
вообще sin_family := PF_PACKET имеет право? Где вы такое взяли? По логике структура sockaddr_in не может в PF_PACKET, это транспортный уровень Кликните здесь для просмотра всего текста
Не по теме:
1
|
||||||
|
5 / 9 / 0
Регистрация: 06.03.2015
Сообщений: 19
|
|
| 10.12.2024, 12:02 [ТС] | |
|
Быстренько обкатал код и .... работает!!!
Abit, спасибище! Столько тонкостей, вот откуда обычному смертному такое знать!?
0
|
|
|
5 / 9 / 0
Регистрация: 06.03.2015
Сообщений: 19
|
||||||
| 10.12.2024, 17:24 [ТС] | ||||||
|
Начал читать man'ы, и вопросов стало только больше)))
Логично, что теперь я пытаюсь собрать инфу обо всех сетевых интерфейсах командой(fpIoctl(BSocket, SIOCGIFCONF, @ifc)) в системе и начал копать ifconf на странице где описана и структура ifreq. И появился закономерный вопрос: зачем поле padding в коде примера? Это только для безопасности, чтобы случайно не переписать что-то в памяти? Почему 16 байт?
0
|
||||||
|
867 / 526 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
|||
| 10.12.2024, 21:03 | |||
|
padding гарантирует, что каждая структура ifreq в массиве будет выровнена правильно struct sockaddr (который используется в ifr_addr) имеет длину 16 байт, выравнивание данных кратно 16 байтам на всем с чем я работал, но вообще там может быть всё что угодно)))
1
|
|||
|
5 / 9 / 0
Регистрация: 06.03.2015
Сообщений: 19
|
||||||
| 10.12.2024, 23:10 [ТС] | ||||||
|
Жаль что нельзя выяснить размер структуры в работающей ОСи((
У меня р-р записи оказался 20 байт(Ubuntu 20.04 x64) и как-раз убрав padding, у меня возвращается список всех интерфейсов.
Уважаемый abit, загляни пожалуйста в ЛС, ответь что-нибудь
0
|
||||||
|
Модератор
10359 / 5633 / 3394
Регистрация: 17.08.2012
Сообщений: 17,195
|
|
| 12.12.2024, 10:45 | |
|
snegok74, при регистрации на форуме Вы обещали соблюдать правила форума. Пожалуйста, выполняйте Ваше обещание. Обсуждение вопроса темы где-либо ещё, кроме самой темы (в том числе, с использованием ЛС) запрещено. Ссылка на правила есть на любой странице форума.
0
|
|
|
5 / 9 / 0
Регистрация: 06.03.2015
Сообщений: 19
|
||
| 12.12.2024, 22:43 [ТС] | ||
|
ок.
Добавлено через 3 часа 2 минуты Хотя..., какой ОК, ни разу не ОК! Где Вы, Cyborg Drone, увидели обсуждение темы в ЛС?! Вот что было написано в сообщении, в ЛС.
0
|
||
|
Модератор
10359 / 5633 / 3394
Регистрация: 17.08.2012
Сообщений: 17,195
|
|
| 13.12.2024, 10:17 | |
|
А зачем Вы abitу в личку написали? С Новым годом поздравить?
0
|
|
| 13.12.2024, 10:17 | |
|
Помогаю со студенческими работами здесь
10
UDP отправка и прием пакетов Библиотека для работы (отправка и прием пакетов) с AMF Постоянный прием и отправка пакетов по 2кб, с возможностью остановки и запуска Приём сырых сокетов Прием и отправка пакетов "Яндексу", исправить код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
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\
А в самом низу файла-профиля. . .
|