The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Послать tcp/ip пакет"
Отправлено Boris Polevoy, 25-Сен-06 14:45 
>char dev[] ="rl0";
>static eth_t    *dnet_eth;
>if ((dnet_eth = eth_open(dev)) == NULL)
>            
>    errx(1, "eth_open");
>
>if (eth_send(dnet_eth, packet, sizeof(packet)) != sizeof(packet))
>            
>    syslog(LOG_ERR, "couldn't send packet: %m");
>eth_close(dnet_eth);
>
>вот примерный код написал, нифига ничего не посылает


packet - это указатель на Ethernet frame, т.е. должны быть указаны корректные адреса,
в кадре указан тип сетевого пакета

/usr/include/net/ethernet.h:
struct  ether_header {
        u_char  ether_dhost[ETHER_ADDR_LEN];
        u_char  ether_shost[ETHER_ADDR_LEN];
        u_short ether_type;
}

ether_type= ETHERTYPE_IP

IP пакет должен быть сформирован верно (адреса, флаги, контрольная сумма).

Вот такой запуск tcpdump поможет в более подробном анализе Ethernet кадров:
tcpdump -XX -v -n -s 256 -i <ifname>

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру