powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ручная правка пакета ethernet и отправка в локалную сеть
10 сообщений из 10, страница 1 из 1
ручная правка пакета ethernet и отправка в локалную сеть
    #40039840
student67890
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

есть оборудование (железо),
которое надо тестировать
отправкой пакетов по сети
если с UDP и TCP/IP работает инди,

то как отправить чистый ethernet пакет (SV, GOOSE на рисунке)
(предварительно набрав содержимое в текстовом редакторе)
?

желательно пример программы в дельфи
(или ссылку)
...
Рейтинг: 0 / 0
ручная правка пакета ethernet и отправка в локалную сеть
    #40039841
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
socket(AF_UNSPEC, SOCK_RAW, 0);

?
Тынц
...
Рейтинг: 0 / 0
ручная правка пакета ethernet и отправка в локалную сеть
    #40040021
student67890
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_
Код: pascal
1.
socket(AF_UNSPEC, SOCK_RAW, 0);

?
Тынц


вот что прочитал:
"A socket type that provides a raw socket that allows an application to manipulate the next upper-layer protocol header. To manipulate the IPv4 header , the IP_HDRINCL socket option must be set on the socket. "

"If a value of 0 is specified, the caller does not wish to specify a protocol and the service provider will choose the protocol to use."

"Последний аргумент уточняет какой транспортный протокол следует использовать. Нулевое значение соответствует выбору по умолчанию: TCP - для потоковых сокетов и UDP для дейтаграммных."

В програме:

s := socket(AF_UNSPEC, SOCK_RAW, 0);
result := WSAGetLastError();

result :=10022

WSAEINVAL
10022
Invalid argument.
...
Рейтинг: 0 / 0
ручная правка пакета ethernet и отправка в локалную сеть
    #40040061
student67890
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фактически
необходимо посылать пакет
с указанием МАК адреса отправителя, получателя

и

"Для адресации кадров на канальном уровне используются физические адреса сетевых устройств – MAC-адреса. При этом Ethernet позволяет осуществлять так называемую групповую рассылку сообщений (Multicast). В таком случае в поле MAC-адреса адресата указывается адрес групповой рассылки. "
...
Рейтинг: 0 / 0
ручная правка пакета ethernet и отправка в локалную сеть
    #40040064
student67890
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У кого есть пример работы с

Npcap
is an update of WinPcap to the NDIS 6 Light-Weight Filter (LWF) API.
It supports Windows 7, 8, 8.1, and 10.

?
...
Рейтинг: 0 / 0
ручная правка пакета ethernet и отправка в локалную сеть
    #40040087
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
student67890

есть оборудование (железо),
которое надо тестировать
отправкой пакетов по сети
если с UDP и TCP/IP работает инди,

то как отправить чистый ethernet пакет (SV, GOOSE на рисунке)


Для чего-то подобного я использовал libiec61850 (тогда еще версии 0.8.0)- для работы с GOOSE эта библиотека задействует winpcap, сама библитека на C
...
Рейтинг: 0 / 0
ручная правка пакета ethernet и отправка в локалную сеть
    #40040232
student67890
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x1ca4064
student67890

есть оборудование (железо),
которое надо тестировать
отправкой пакетов по сети
если с UDP и TCP/IP работает инди,

то как отправить чистый ethernet пакет (SV, GOOSE на рисунке)


Для чего-то подобного я использовал libiec61850 (тогда еще версии 0.8.0)- для работы с GOOSE эта библиотека задействует winpcap, сама библитека на C


Попробовал,

C:\distr\2021\libiec61850\libiec61850-1.4\examples\sv_publisher>sv_publisher Ethernet
Using interface Ethernet
Failed to create SV publisher

чего то не работает...

если есть работающий в вин10 вариант, пришлите пожалуйста...
...
Рейтинг: 0 / 0
ручная правка пакета ethernet и отправка в локалную сеть
    #40040238
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала такие приложения, более чем уверен, требуют запуска с повышенными привилегиями.
...
Рейтинг: 0 / 0
ручная правка пакета ethernet и отправка в локалную сеть
    #40040312
student67890
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,
да, администратор, но не помогает
------
вот нашел работающий(с грехом пополам)

scapy-2.4.4rc2

но надо заморачиваться с питоном,
а в виннде это не просто
...
Рейтинг: 0 / 0
ручная правка пакета ethernet и отправка в локалную сеть
    #40040353
student67890
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самый полезный и простой вариант!

1) захват пакета - Wireshark
2) запись пакета в файл .pcap
(в промежутке - редактируй как хочешь - в файле)
3) отправка пакета - Colasoft Packet Player

и это отлично работает в винде!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ручная правка пакета ethernet и отправка в локалную сеть
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]